обязательные книги для программистов
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 12:36 pm (UTC)no subject
Date: 2011-03-01 01:38 pm (UTC)(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:no subject
Date: 2011-03-01 12:41 pm (UTC)Странно что вы не читали SICP - по-моему отличная книга и must-read для любой программиста.
Кроме SICP в списке нет ни одной книге про не-мейнстрим программированию, что очень печально, но в принципе объяснимо. :(
Еще печально, что так много книг, которые пропагандируют cargo-cult programming, типа design patterns.
no subject
Date: 2011-03-01 12:48 pm (UTC)(no subject)
From:(no subject)
From:no subject
Date: 2011-03-01 12:47 pm (UTC)no subject
Date: 2011-03-01 12:49 pm (UTC)(no subject)
From:EoPL
Date: 2011-03-01 12:47 pm (UTC)Re: EoPL
Date: 2011-03-01 10:01 pm (UTC)no subject
Date: 2011-03-01 12:51 pm (UTC)Да-да, я в курсе про второе издание, но тем не менее?
no subject
Date: 2011-03-01 12:53 pm (UTC)(no subject)
From:(no subject)
From:(no subject)
From:no subject
Date: 2011-03-01 12:51 pm (UTC)no subject
Date: 2011-03-01 12:56 pm (UTC)Было время, когда я считал, что они обязательны и это я такой глупый и неправильный, и надо стараться сильнее, но это время прошло.
(точнее, я до сих пор считаю, что надо стараться сильнее, просто необязательно в сторону чтения TAOCP).
(no subject)
From:(no subject)
From:(no subject)
From:no subject
Date: 2011-03-01 01:04 pm (UTC)Pierce - Types and Programming Languages
Okasaki - Purely Functional Data Structures
Книги про хаскель, хоть одну стоит прочитать - Real-World Haskell, Introduction to Functional Programming Using Haskell, Haskell road to Logic, Maths and Programming.
Хорошо бы еще книгу обзорную книгу по ИИ программированию, типа Norvig.
no subject
Date: 2011-03-01 03:35 pm (UTC)(no subject)
From:(no subject)
From:забыл добавить
From:no subject
Date: 2011-03-01 01:09 pm (UTC)Начинающим поможет быстрее понять важные вещи. А вот тем, кто самые важные уже понял, читать её довольно скучно. Да со многим в ней можно поспорить (всякие частности, в основном).
no subject
Date: 2011-03-01 01:10 pm (UTC)(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:no subject
Date: 2011-03-01 01:20 pm (UTC)no subject
Date: 2011-03-01 06:49 pm (UTC)Очень полезная для в плане практического понимания, что такое эти паттерны и для чего они вообще нужны.
no subject
Date: 2011-03-01 01:31 pm (UTC)Я бы назвал еще Design and Evolution of C++, причем не только для углубления понимания языка программистами C++ (хотя им эти книга, безусловно, полезна еще и этим), но и как развернутый case study развития большого проекта с анализом решений и их дальних последствий -- для всех программистов.
no subject
Date: 2011-03-01 01:40 pm (UTC)(no subject)
From:(no subject)
From:no subject
Date: 2011-03-01 02:12 pm (UTC)no subject
Date: 2011-03-01 02:35 pm (UTC)no subject
Date: 2011-03-01 02:35 pm (UTC)Насчет Фейнмана поддерживаю, так же у него есть вторая книга типа продолжения, «Какое ТЕБЕ дело до того, что думают другие?» Тоже весьма интересная.
no subject
Date: 2011-03-01 02:40 pm (UTC)no subject
Date: 2011-03-01 02:50 pm (UTC)она мне сначала понравилась, ну реально же мозг взрывает
но сейчас я понимаю, что в основном это детрит.
кроме того, обнаружен журнал человека, не читавшего мифического человекомотылька! ИНФА 100%!
no subject
Date: 2011-03-01 03:08 pm (UTC)no subject
Date: 2011-03-01 03:31 pm (UTC)no subject
Date: 2011-03-01 04:20 pm (UTC)И [More] Exceptional С++ того же Саттера.
(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:no subject
Date: 2011-03-01 03:36 pm (UTC)no subject
Date: 2011-03-01 08:37 pm (UTC)no subject
Date: 2011-03-01 03:37 pm (UTC)no subject
Date: 2011-03-01 06:13 pm (UTC)Этюды!
Date: 2011-03-01 04:29 pm (UTC)Re: Этюды!
Date: 2011-03-01 04:53 pm (UTC)Re: Этюды!
From:Re: Этюды!
From:no subject
Date: 2011-03-01 05:02 pm (UTC)Ещё я всё время хочу прочитать две книги, которые у меня стоят на полке, и про которые есть подозрение, что они хорошие - это "Elements of Programming" Stepanov, McJones и "The structure of Typed Programming Languages" David A.Schmidt, и всё никак время не находится.
no subject
Date: 2011-03-01 06:35 pm (UTC)no subject
Date: 2011-03-01 05:38 pm (UTC)no subject
Date: 2011-03-02 02:12 am (UTC)(no subject)
From:(no subject)
From: (Anonymous) - Date: 2011-03-02 01:24 pm (UTC) - Expand(no subject)
From:no subject
Date: 2011-03-01 06:07 pm (UTC)no subject
Date: 2011-03-03 10:11 am (UTC)мне кажется, что это очень хорошая книга, потому что за счет использования практически "псевдокода" в виде Eiffel позволяет рассказывать про ООП без привязки к "индустрийным" языкам
no subject
Date: 2011-03-02 02:29 am (UTC)И еще. Для изучения определенной темы выбирается "лучшая книга" и дооолго изучается, с застыванием на опечатках и ошибках автора. А лучше было бы бегло прочитать 5-6 книг по теме. Но не все знают, насколько это эффективнее...
no subject
Date: 2011-03-02 06:35 am (UTC)no subject
Date: 2011-03-02 08:08 am (UTC)no subject
Date: 2011-03-02 09:03 am (UTC)