Есть мнение, что программисты не читают книги. Учатся на примерах или инструкциях. Другие покупают, но не читают. А вот на блогах Reddit книги цитируют в своих комментариях, значит им немного можно доверять. Уж точно больше, чем рецензиями на Amazone или Озоне. При выборе книги для чтения важно знать наиболее популярные пособия по профессиональному росту. Кому-то важно найти самые известные книги, кто-то хочет отсеять «попсу». На сайте Reddit обсуждают всё: от домашних питомцев до новейших видов вооружения. Проект Reddit Favorites проанализировал 3,5 млрд комментариев и выделил 24 самых упоминаемые книг по программированию.

Самый упоминаемый на Reddit учебник — «Чистый код» Robert C. Martin. В отличие от многих других книг, это издание устойчиво наращивает популярность читателей, начиная с 2010 года.

Первые десять строчек рейтинга занимают следующие книги:

  1. «Clean Code: A Handbook of Agile Software Craftsmanship», автор Роберт Сесил Мартин.
    На русском языке название книги «Чистый код. Создание, анализ и рефакторинг», также есть критика на Хабре. Код занимает почти треть книги.
  2. «Code Complete», автор Стивен Макконнелл.
    По русски название книги — «Совершенный код».
    Упоминание и частичное обсуждение на Хабре.
  3. «C Programming Language» (2nd Editio), авторы Брайан Уилсон Керниган и
    Деннис Макалистэйр Ритчи.
    По русски название книги — «Си. Язык программирования»
    Переведена актуальная для списка Reddit версия версия 2-го издания.
  4. «Effective Java», автор Джошуа Блох.
    По русски название книги — «Java. Эффективное программирование»
    На русском языке есть предыдущий выпуск издания. На Хабре упоминания есть, рецензии нет.
  5. «C++ Primer», авторы Stanley B. Lippman, Josee Lajoie, Barbara E. Moo
    На русском языке есть очень похожее издание тех же авторов «Язык программирования C++. Базовый курс»
  6. «Head First Java», (2nd Edition), авторы Kathy Sierra, Bert Bates
    По русски название книги — «Изучаем Java»». Переведена актуальная для списка Reddit версия 2-го издания.
  7. «Introduction to Algorithms» (3rd Edition), авторы Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest, Clifford Stein
    По русски название книги — «Алгоритмы: построение и анализ»
    Отлично подходит в качестве справочника.
  8. «The Pragmatic Programmer», автор Andrew Hunt, David Thomas
    По русски название книги — «Программист-прагматик. Путь от подмастерья к мастеру»
  9. «Structure and Interpretation of Computer Programs» (второе издание), авторы Harold Abelson, Gerald Jay Sussman.
    По русски название книги — «Структура и интерпретация компьютерных программ»
    Книга рассматривает создание кода на уровне общих принципов и объясняет взаимодействие программной среды и машины.
  10. «The Art of Computer Programming» (Volumes 1-4A Boxed Set), автор Donald E. Knuth
    По русски название книги — «Искусство программирования».

Самая цитируемая книга в списке собрала на Reddit 3106 комментариев, замыкающая список — упоминалась в 274 комментариях. Большинство книг есть на русском языке и купить их — не проблема (по крайней мере, в электронном формате).

В списке есть одна прикладная книга по ИИ — «Artificial Intelligence: A Modern Approach». Других специализированных книг по программированию модных направлений: нейросетей, блокчейнов или робототехнике в списке нет. Все прикладные примеры в кейсах внутри книг.

В комментариях к книгам программисты, помимо комплиментов авторам, быстро переходят от обсуждений книг к обсуждению достоинств языков программирования. Это наверное нормально, но показывает, что все зависит от того, кто на каком уровне находится и на чем кодит.

Все списки рекомендуемых книг субъективны и даже основанный на статистике упоминаний Reddit тоже. Если вы сомневаетесь что почитать, сравните, например с этим списком и выберете книги, присутствующие и там, и тут. В списке Reddit упомянуты 24 книги, а по ссылке 139. Есть что выбрать.

Большим сторонником чтения книг является Джоэл Спольски, автор популярного интернет журнала JoelOnSoftware и еще более популярного Q & A вопросника по программированию Stack Overflow, посещаемого 118 миллионами программистами каждый месяц. Так вот написанных Joel`ом Spolsky книг в рейтинге Reddit нету. Вы можете оценить журнал или русскую версию его Q & A вопросника, хотя она и сильно уступает оригиналу.

И кстати, у него тоже есть свой список лучших книг. Пересечений полно. Хотя места и меняются.

Комментарии (21)


  1. FirsofMaxim
    06.12.2017 17:16

    Artificial Intelligence


    1. FirsofMaxim
      06.12.2017 17:17

      Пардон, очень ждал эту книгу на русском, устал и купил оригинал.


      1. Anrewer Автор
        06.12.2017 17:19

        толковая?


      1. heleo
        07.12.2017 18:08

        Если не ошибаюсь ей уже 10 лет как издана на русском. Давно ожидали?


        1. FirsofMaxim
          07.12.2017 18:53

          Да но это старое издание, тираж ограничен, и нигде я его не нашел, я про русскую версию.


          1. heleo
            07.12.2017 20:12

            Я почему и спросил, мне в 11 году удалось купить русскую версию. Не думал что её трудно было так найти, скорее отпугивала цена)


  1. FirsofMaxim
    06.12.2017 17:31
    +1

    Практически описываются многие вопросы игрового AI, да нравится.


  1. FirsofMaxim
    06.12.2017 20:56

    Еще очень жду может переведут Java Concurrency in Practice...


  1. poxvuibr
    07.12.2017 08:04

    Со всеми этими книгами одна проблема — они для тех, кто уже умеет программировать. Нет ни одного учебника для человека, который код никогда не писал. Возможно Керниган тут выделяется и по его книге можно и вправду изучить C с нуля, но вот всё остальное похоже не такое.


    1. Neikist
      07.12.2017 09:36

      По моему там таких чуть ли не половина… head first — вообще для чайников, СИКП, по С, плюсам и java вроде тоже почти учебники…


      1. Px2
        07.12.2017 09:51

        Точно. Серия Head First — вообще отличные книги для начинающих, многие переведены на русский. С картинками )


        1. Free_ze
          07.12.2017 16:16

          Нетонкие книжки, половина страниц которых занято странным форматированием колонок, диалогами героев (!) и картинками (не всегда относящихся к материалу, а то и программированию вообще). Количество воды просто запредельное.


          1. Neikist
            07.12.2017 17:58

            Форматирование колонок и картинки местами самому не нравятся, но иногда можно и такое почитать.

            Подозреваю что если head first так сильно не зашла то например эту мангу вам лучше вообще в руки не брать, правда пока сам не читал еще, только приехала, но все это вкусовщина).


      1. poxvuibr
        07.12.2017 10:08

        head first — вообще для чайников

        Там про OOP на 28 странице. Раньше, чем про массивы. Начинающим эти знания будут только мешать.


        1. Px2
          07.12.2017 12:38

          В «Философии Java» на 17-й. И почти сразу идет описание наследования и полиморфизма, еще до синтаксиса языка. Понятно, что читателю придется работать с объектами в любом случае, но такая заумь, которая там написана, только отпугнет начинающего.


    1. Imrahil
      07.12.2017 10:09

      В рейтинге не учебники увы. Это руководства, рекомендации, углубление в...)
      Жаль что рейтинг не построен по принципу язык -> книги.
      Получается что в топчике как обычно си джава и абстратные книги («Чистый код» как бест мое мнение, особенно для фанатиков банды 4-х рекомендуется). А то что в топы не вошло по причине меньшей адитории читателей осталось за бортом.

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


  1. Px2
    07.12.2017 09:49

    Книга «Чистый код», на мой взгляд, сильно переоценена. Раньше я тоже был от нее в восторге и пытался следовать всем рекомендациям. Со временем начал понимать, что где-то меня обманывают. Не все советы из этой книги хороши и не следует их слепо выполнять, как это делал я и как это делают некоторые мои коллеги. Это может даже усложнить код.
    Например, принцип «метод должен выполнять одно действие», или как он там называется, неприменим на практике. Программа распухает неимоверно, при чтении кода приходится скакать по этим методам, теряя нить.
    Можно сказать: «это ты так пишешь коряво». Так и есть, но сейчас не об этом. В его примерах тоже разбираешься не сразу.
    Подозреваю, что идеальный код в представлении Мартина — это чистый лист в IDE. Но тогда бы не было книги.


    1. Imrahil
      08.12.2017 10:27

      Вы сами перечеркнули сказанное) Вы были в восторге пока не усвоили все) А со временем стали считать себя выше того что усвоили) это нормально.
      А насчет распухаемости это миф. лучше так чем лапша на 10 экранов которую отрефакторить сложнее чем переписать)


    1. Free_ze
      08.12.2017 11:35

      Для новичка, который не знает разницы между плохим и хорошим, подача такой идеалистической картины вполне может дать альтернативную точку зрения на организацию кода.

      Не все советы из этой книги хороши и не следует их слепо выполнять
      Справедливо для любой литературы, включая религиозную.

      ЗЫ У «дяди Боба» есть годные видеокурсы с блекджеком рефакторингом и юнит-тестами. Они лучше книги (объективно по содержанию), так как сама идея чистого кода там обосновывается практическим применением.


  1. fatronix
    07.12.2017 20:22

    Алгоритмы. Разработка и применение от Клейнберга — тоже очень хорошая книга по алгоритмам.

    А про «Чистый код» у меня создаётся ощущение, что все подряд её называют обязательной для прочтения, но при этом никто не читает, будто мем какой-то.


    1. Imrahil
      08.12.2017 10:32

      Это нормальная ситуация как и с Кнутом. Все знаю все видели обложку, но… единицы усвоили)
      Тот кто часто занимает кодревью, кому нужно упарвлять командой из абсолютно разных разрабов с разным уровнем и кто хочет сохранить весь код (а часто это десятки отдельностоящих пиложений) в условном порядке эта книга помогает приблизиться к мечте) Но естественно не является библией)

      З.Ы. Сомневаюст что 99% из нас это одни синьеры-помидоры тимлиды)
      А если учесть что одиночек среди нас вообще вагоны, то естественно ограничивать себя чем-то(ведь это все только для меня, да я вообще всю жизнь буду помнить куда я го-ту указал в 1991-м) кажется нам унылым.