Comments 40
Отличная подборка. Только вот Head first книгу о паттернах я бы заменил на книгу GoF, основоположники все же. Стиль посуше, но вот изложение на мой взгляд получше.
Угу. Читал GoF и читал две книги из серии Head First (по java и android правда, а не по паттернам). Head First дико много воды содержит, из за чего читать их больно.
Ну для того, чтобы быстро разобраться с основами — книга из серии Head First вполне себе сойдёт, она читается быстро, и задания интересные. После Head First легче читать что-то более сложное по этой теме.

Странно слышать, на мой взгляд книга GoF по качеству изложения мягко говоря так себе, и альтернативные варианты (в том числе и рекомендуемый Head First) заметно лучше.


На мой взгляд не хватает еще архитектурно-инфраструктурных паттернов в списке, мне нравится документация Microsoft по ним: https://docs.microsoft.com/en-us/azure/architecture/patterns/

Ни добавить, ни убавить, отличный выбор книг. Может быть, еще одну по DDD и одну по процессам разработки ПО еще бы порекомендовал, а так — чудесный список
Извините, что вклиниваюсь) Вообще DDD это конечно Вернон и Эванс обе хороши, но Вернон мне больше понравился, у него есть еще вторая книга правда я до нее никак добраться не могу.

Из приближенного к DDD очень понравилась книга Скотта Влашина Domain Modeling Made Functional, но она специфична для .NET и F# в частности
Сначала DDD Distilled, потом все остальное, иначе рискуете убежать в ужасе в туман.
А где книги о том как надо общаться с людьми?
А то слишком много 22-летних тявкающих лидов встречаю нынче. Их даже слушать невозможно.

Этому учат мама с папой, а вот программирование изучают самостоятельно.


Отличная подборка!

Ну вообще, считать книгу о паттернах обязательной — это перебор. Это означает, что автор считает ООП единственной парадигмой, в которой все живут — что в общем не так. Есть мир функционального программирования, где паттерны слегка так другие, есть также и такие вещи, как EIP, с которыми работают люди занимающиеся «интеграцией» — короче, есть много других паттернов, которые в оригинальных книгах GoF не рассмотрены, но конкретным людям могут быть намного более полезны.

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

Не, ну скорее я бы просто не называл это все «обязательно к прочтению». Все-таки разные специализации — разные книги. Ну кстати, автор уже убрал это слово из заголовка, так что сейчас оно вполне соответствует. Ну, такой авторский выбор, вполне ничего себе.

А добавить — да, конечно бы неплохо.
Я когда написал EIP — имел в виду именно другие. Ну то есть да, их больше двух.
А что-нибудь достойное по функциональщине можете посоветовать?
Если на русском, то мне именно функционалку помогла относительно структурировать вот эта книга Программируй на Haskell | Курт Уилл
Еще на Степике есть хороший курс по haskell и функционалке с задачами Функциональное программирование на языке Haskell. Мне как человеку без математического бэкграунда было достаточно сложно, в некоторых вопросах, но мозг чувствуется, что прокачался)

Авторы книг об ООП тоже не всегда в восторге от GoF. Один, помню, подсчитал, что из 23 паттернов GoF лишь штук 6 относятся о ООП дизайну, а все остальное нужно для того, чтобы решать конкретные задачи конкретных языков. В этом смысле я бы тоже не соотносил GoF непосредственно с ООП.

>В этом смысле я бы тоже не соотносил GoF непосредственно с ООП.
Ну, все-таки большая часть паттернов oF, особенно широко известных — это про классы. То есть не то чтобы оно прямо про ООП, а скорее в другом окружении оно имеет мало смысла. Например, в Java 8 с появлением лямбд ряд паттернов или выродился в полную тривиальщину и перестал быть нужен, или сильно видоизменился.

sshikov, это означает, что автор просто придерживается парадигмы ООП. Если вы работаете по другому, то кто мешает создать СВОЙ список предпочтительного чтения?

А я разве говорю, что придерживаться ООП это плохо? Мне вообще список нравится, во всяком случае его бОльшая часть. Его не нужно переписывать — его стоит дополнять.

Это было небольшое уточнение к первоначальному заголовку, который выглядел как "… книг, обязательных к прочтению". Отсюда возникал вопрос — обязательных для кого? Если для всех — то с чего бы?

Такого уточнения в тексте я не увидел, поэтому и написал, что некоторые книги — не для всех. А сейчас-то заголовок уже исправлен, и этих слов там нет.
Ну всё же согласитесь, что знать ООП надо бы, поэтому книга по паттернам ООП не помешает в любом случае. Это для средне-сферического программиста в вакууме, который имеет дело с моделированием «обычной» предметной области, а не чего-то специализированного типа микроконтроллера или параллельных математических алгоритмов.
Не соглашусь. Во-первых, знать ООП и знать конкретно вот эти паттерны — не одно и тоже. Во-вторых, очень многие языки, как новые, так и уже старые, на сегодня включают значительную часть ФП парадигмы, и это на самом деле делает их очень удобными. Значительная часть ранее сложных паттернов в этих языках становится настолько простой и элегантной, что просто не нуждается в толстой книге для объяснения. Когда GoF писали, такого выбора языков как сейчас, еще не было. А сегодня — есть.

Я не говорю, что такой путь, про который вы говорите, исключен. В конце концов, все люди разные.

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

Я конкретно про GoF, если что. Я ее читал лет 15 назад. Не сказал бы, что мой код от этого стал сильно лучше.
Книга GoF мне самому не очень нравится, она мне кажется запредельно скучной и во многом действительно привязанной к конкретным языкам. Но понятие «паттерны ООП» объективно существует, и хорошо бы тогда найти альтернативную книжку. Более современную что ли, с меньшим количеством «хакерства» и с более концептуальным взглядом. Но я вот так сходу не назову.
UFO landed and left these words here
Собственно, мой посыл изначально был о том, что не мешало бы книжек по «паттернам» в других парадигмах — это в первую очередь. Не ограничиваясь ООП. Хотя я не могу такие назвать с ходу, те что приходят в голову — слишком сложные, они не для всех, но уже по другим причинам. Ну типа Purely functional data structures от Chris Okasaki. Впрочем, вот наверное эту стоит: Types and Programming Languages, Benjamin C. Pierce.

Во вторую — что именно книга GoF не самая лучшая, хотя и самая известная, и слегка устарела, скажем прямо. Ну и скучная — да, наверное потому что ближе к справочнику, чем к учебнику.
Хорошая подборка

Наверное можно сюда включить и «Чистая архитектура» от дядюшки Боба.
Cracking Coding Interview великая вешь. В русском варианте называется «Карьера программиста»
Уже есть 7-е издаение от этого года. www.labirint.ru/books/534569
Кроме того, у Gayle Laakmann McDowell много лекций на youtube. Воспринимать её на слух сначала несколько было тяжеловато — очень высокий голос, которым она сильно эмфазирует. Но потом привыкаешь. Реально умная и красивая женщина

Я бы всё же вместо хакинга интервью рекомендовал "The Passionate Programmer: Creating a Remarkable Career in Software Development"(русский перевод "Программист-Фанатик", ох уж эти сочинители звучных названий переводам) Чеда Фаулера.
Вместо тренировки интервью она предлагает взглянуть на карьеру, на возможные пути, на саму мысль что такое быть программистом. И, на мой вкус, ничуть не устарела, разве что названия языков можно позаменять на более актуальные, благо они только для примера приводятся и больше речь об универсальных принципах.

«Зеленая книга» (Cracking the coding interview) рассчитана больше на интернов и начинающих программистов. ИМХО сильно лучший вариант — Elements of Programming Interviews (есть вариант generic, есть Java, есть Python и еще какие-то языки).

Кроме того, я бы упомянул Designing Data-Intensive Applications — она стала по сути библией современного бэкендера (по крайней мере в США).
Заходил в статью не ожидая увидеть что-то интересное, но надеялся на комментарии — и не зря. Спасибо, особенно за Designing Data-Intensive Applications.
На русском почему то называется просто «Высоконагруженные приложения» если кому будет интересно. Сам если честно «от корки до корки» «ниасилил» (не потому что плохая, а потому что извечная проблема лени нехватки времени). Что могу сказать: написана доступно (но НЕ для начинающих). В книге нет «рецептов», да и вообще кода очень немного — в основном идет рассуждение о концепциях. В конце каждой главы приводится обширный библиографический список, что не может не радовать если решите углубиться в тему.
Действительно полезны большиснтву программистов только №9 и №10.
№4 и №6 можно почитать если есть свободное время, чтобы умные слова подучить.
№10 — если конкретно собрались в Гумазон какой-нибудь.
Остальное вообще хз о чём и в чём может помочь.

PS Малоструктурированые и противоречивые приходы дяди боба в одном ряду с Корменом и ко. капец как грустно видеть.

За что же Вы так с тем же №7? Хорошая книга. Как и другие, в правильных пропорциях применения.

Only those users with full accounts are able to leave comments. Log in, please.