avva: (Default)
[personal profile] avva
Популярная тема на StackOverflow: What is the single most influential book every programmer should read?

Вот список книг, набравших на данный момент больше 100 голосов, в порядка убывания голосов:

1-5: Code Complete, The Pragmatic Programmer, SICP, Kernighan/Ritchie, Cormen.

6-10: Fowler's Refactoring, The Mythical Man-Month, Design Patterns, Knuth vol.1, the Dragon Book.

11-15: Head-First Design Patterns, GEB, [More] Effective C++, Programming Pearls, Zen and the Art...

16-20: Petzold's Code, Working Effectively w/ Legacy Code, Peopleware, Coders at Work, Martin's Clean Code.

21-26: Surely You're Joking, Effective Java, Fowler's Patterns of Enterprise Application Architecture, The Little/Seasoned Schemer, The Inmates Are Running the Asylum, Why's Poignant Guide to Ruby.

Из этих 26 книг я читал (понимая под этим - прочел не меньше половины книги) тринадцать: те, что выделены курсивом.

Из этих тринадцати книг три не имеют отношения к программированию, из этих трех одну все равно следует прочитать всем программистам (а также всем остальным людям). Это "Surely You're Joking, Mr. Feynman!".

Из оставшихся десяти три мне почти ничего не дали, и я с тем же успехом мог бы их и не читать: Code Complete, The Pragmatic Programmer, Design Patterns (о первых двух из них я думал по-другому, когда их прочитал, но потом понял, что мне просто льстило то, что они в основном повторяли то, чему я сам давно научился). Возможно, другим они помогли больше. Я бы не советовал их в качестве обязательного чтения.

Оставшиеся семь книг - они выделены курсивом и жирным шрифтом - я бы посоветовал всем программистам, с тем только замечанием, что Effective C++/Java нужны только тем, кто пишет на этих языках (а вот к Kernighan/Ritchie это не относится).

Я подумал о том, какие книги из тех, что на меня повлияли и что я могу порекомендовать всем. В первую очередь на ум приходит The Practice of Programming Кернигана и Пайка; она, на мой взгляд, важнее примерно 20 из 26 книг этого списка.

Наконец, из 13 книг, что я не прочитал, три-четыре я все еще собираюсь прочесть. Остальные я либо не читал и не вижу смысла, либо начинал читать и не увидел смысла.

Это мое мнение; если хотите добавить свое, пожалуйста, буду рад комментариям на эту тему.

Date: 2011-03-01 07:51 pm (UTC)
From: [identity profile] nomshar.livejournal.com
Ну, если о плюсах речь зашла, то неплохо бы полистать того же Элджера. А еще, помните, выходила отличная серия в красных обложках: Саттер, Александреску, Майерс, Липпман для затравки.
Хотя это уже другая тема, вроде "как сломать себе окончательно мозг на плюсах". :)

Date: 2011-03-01 08:02 pm (UTC)
From: [identity profile] gaus.livejournal.com
Ага.

Именно поэтому я указал "стандарты". Это книга о в основном о том, как делать не надо: правила предосторожности при работе на С++ А многие другие книги из красной серии написаны по обратному принципу: "а вот ещё как можно извернуться и сделать вот такую клёвую штуку, дабы все застыди в немом изумлении!" - такие книжки я не люблю.

Date: 2011-03-01 09:47 pm (UTC)
From: [identity profile] nomshar.livejournal.com
Именно.
И в тему. Может, я не увидел, но почему-то никто не назвал ни одной, так сказать, отечественной книги. Правда, мне самому, к сожалению, ничего в голову не приходит.

Date: 2011-03-02 12:33 pm (UTC)
From: [identity profile] pin-dragon.livejournal.com
Книги Саттера в основном на тему «А вот так все обычно пишут. Думаете, тут нет подвоха? Ан нет!» и дальше подробно разбирается, в чем проблема конкретного куска кода. Хотя в приколы Александреску иногда тоже скатывается, не без этого.

Хотя важность Exception Safety и прочих его тем, на самом деле, довольно сомнительна, но если уж достигать совершенства, то без этого никуда.

Вообще, все книги красной серии (кроме некоторых, непонятно как там оказавшихся) либо узкоспециализированы (например, на сетевое программирование), либо весьма и весьма продвинуты. Начинающему плюсеру их читать точно не стоит. А для Понявшего Суть и Александреску будет весьма и весьма полезным чтивом.

Date: 2011-03-01 10:17 pm (UTC)
alexeybobkov: (Default)
From: [personal profile] alexeybobkov
Кстати да, Элджера было интересно почитать. Хотя его идеи очень сырые, но некоторые мне пригодились.
"Как сломать себе окончательно мозг на плюсах" - можно, конечно, и так на это посмотреть (и это тоже будет в чём-то правильно), но по мне, так хорошо знать все особенности и возможности языка программирования - это необходимое (но не достаточное, конечно) условие профессионализма. А уж какие из них и как применять, и применять ли вообще - на то он и профессионал.

December 2025

S M T W T F S
  123 4 56
78 9 10 11 1213
1415 1617181920
21 22 23 24 2526 27
28293031   

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Dec. 29th, 2025 09:50 pm
Powered by Dreamwidth Studios