обязательные книги для программистов
Mar. 1st, 2011 02:25 pmПопулярная тема на 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 книг, что я не прочитал, три-четыре я все еще собираюсь прочесть. Остальные я либо не читал и не вижу смысла, либо начинал читать и не увидел смысла.
Это мое мнение; если хотите добавить свое, пожалуйста, буду рад комментариям на эту тему.
Вот список книг, набравших на данный момент больше 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 книг, что я не прочитал, три-четыре я все еще собираюсь прочесть. Остальные я либо не читал и не вижу смысла, либо начинал читать и не увидел смысла.
Это мое мнение; если хотите добавить свое, пожалуйста, буду рад комментариям на эту тему.
no subject
Date: 2011-03-01 07:51 pm (UTC)Хотя это уже другая тема, вроде "как сломать себе окончательно мозг на плюсах". :)
no subject
Date: 2011-03-01 08:02 pm (UTC)Именно поэтому я указал "стандарты". Это книга о в основном о том, как делать не надо: правила предосторожности при работе на С++ А многие другие книги из красной серии написаны по обратному принципу: "а вот ещё как можно извернуться и сделать вот такую клёвую штуку, дабы все застыди в немом изумлении!" - такие книжки я не люблю.
no subject
Date: 2011-03-01 09:47 pm (UTC)И в тему. Может, я не увидел, но почему-то никто не назвал ни одной, так сказать, отечественной книги. Правда, мне самому, к сожалению, ничего в голову не приходит.
no subject
Date: 2011-03-02 12:33 pm (UTC)Хотя важность Exception Safety и прочих его тем, на самом деле, довольно сомнительна, но если уж достигать совершенства, то без этого никуда.
Вообще, все книги красной серии (кроме некоторых, непонятно как там оказавшихся) либо узкоспециализированы (например, на сетевое программирование), либо весьма и весьма продвинуты. Начинающему плюсеру их читать точно не стоит. А для Понявшего Суть и Александреску будет весьма и весьма полезным чтивом.
no subject
Date: 2011-03-01 10:17 pm (UTC)"Как сломать себе окончательно мозг на плюсах" - можно, конечно, и так на это посмотреть (и это тоже будет в чём-то правильно), но по мне, так хорошо знать все особенности и возможности языка программирования - это необходимое (но не достаточное, конечно) условие профессионализма. А уж какие из них и как применять, и применять ли вообще - на то он и профессионал.