Книги по теме

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

Adel Faizrakhmanov — Архитектура сложных веб-приложений. С примерами на Laravel 2020г

Ну кто тут пишет на Laravel? Популярный ведь фреймворк. Так вот книга с примерами на нём. Хотя если подумать, то книгу можно рассматривать и отдельно от него.

Ведь основное в этой книге это разговор об архитектуре. Тестирование, валидация, доменный слой и всё, за что мы любим фреймворки. По большей части описано всё кратко и с понятными примерами.

Я бы посоветовал прочитать эту книгу. Хотя откровением для меня она не стала, но в ней достаточно полезной информации, чтобы рекомендовать её к прочтению.

Фредерик Брукс — Мифический человеко-месяц — 2000г

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

После прочтения хочется дать положительный отзыв. Книга содержит в себе достаточно полезной информации, чтобы её можно было рекомендовать к прочтению. Однако есть ощущение, что часть книги уже не впечатляет вовсе, а часть просто интересна и не более.

Но если у вас за плечами мало опыта, а подобного вы прочитали совсем чуть-чуть, то быстренько читаем эту книгу, пока она не стала совсем мифической. Есть в ней что-то особенно поучительное и кратко изложенное.

Котеров Дмитрий — PHP 7 В подлиннике — 2017г

Я думаю нет смысла представлять эту книгу тем, кто пишет на PHP. Мне кажется эту книгу нужно прочитать каждому, кто работает на этом языке. Поэтому тут я хочу выделить два нюанса.

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

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

В заключение скажу, что эта книга весьма полезная. Можно даже потешить своё самолюбие, поставив на полку такую большую книгу. Но если без шуток, то даже спустя время я иногда в неё заглядываю, т.к. иногда что-то забывается и можно быстро освежить какую-то деталь в памяти.

Роберт Мартин — Чистая архитектура. Искусство разработки программного обеспечения — 2018г

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

Многое в этой книге опирается на довольно фундаментальные вещи типа парадигм, методологий и принципов. Но это и понятно. Ведь без этого не получится сделать нормальное и профессиональное приложение. Но в основном тут будет говориться об архитектуре с разных сторон.

Книга написана довольно интересно, но будет сложна для неподготовленного читателя. Но лично для меня она показалась очень интересной, хотя частенько в ней уже встречается что-то знакомое. Однако плюс в том, что это знакомое рассказано иначе. И это отлично. Всем рекомендую.

Клеппман Мартин — Высоконагруженные приложения — 2018г

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

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

В целом впечатления очень положительные. Некоторые главы с удовольствием бы перечитал снова.

Фленов Михаил — PHP глазами хакера. 3-е изд. — 2016г

Когда я впервые увидел эту книгу, то посчитал её чем-то вроде продвинутого взгляда на язык PHP. Я думал в ней будут разбираться манипуляции с опкодами или нюансы интерпретатора, доступные для хакинга. Однако эта книга оказалась очень простой и безамбициозной.

И всё из-за того, что треть книги это рассказ о самом языке, причём про довольно простые вещи. Затем треть книги рассказывается про базовые уязвимости, фильтрации и т.п. А напоследок идёт некоторое растянутое заключение про всё, что написано выше.

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

Хант Эндрю, Томас Дэвид — Программист — прагматик. Путь от подмастерья к мастеру — 2007г

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

Однако порой мне было сложно читать о том же самом, что писали в более поздних книгах, но другими словами. Поэтому некоторые темы я читал «по диагонали». И это не минус, это лишь подтверждение того, что эта книга хороша в том, что поднимает важные и востребованные темы. И я считаю каждый разработчик, который понимает важность прагматичного подхода в своей работе, обязан обратить внимание на эту книгу. Можно читать её частями или выбрать интересующие главы, но каждая строчка будет полезна, это точно.

97 вещей, которые должен знать каждый программист — 2010г

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

Как написано выше это сборник статей различный людей на околопрограммерскую тему. Тут вы найдёте рекомендации по разработке, подходах, тестированию, взаимодействию и самых разных аспектах, связанных с программированием. Где-то кто-то делится своим опытом, или предлагает поразмыслить, или же рассуждает о том, что лучше для программиста. Каждая статья — это что-то вроде совета или наставления. Но в каждом совете есть что-то полезное. Я уверен, что каждый сможет почерпнуть для себя что-то полезное, поэтому рекомендую к прочтению.

Йоханнес Яндер — Программирование без дураков — 2017г

Иногда бывает приятно пообщаться с опытным разработчиком, послушать его байки и узнать из «первых рук» как лучше делать ту или иную задачу. Эта книга примерно про это. Вы читаете плотный текст о тех вещах, которые сами делаете каждый день. Но это интересно читать. Вот так прочитаешь главу и понимаешь, что ведь так оно и есть, но сам бы скорее всего так понятно об этом не сказал. И так вся книга. С одной стороны, когда у тебя за плечами годы опыта, то эта книга будем мало чем полезна. Но когда ты только начинаешь свои шаги в программирование, то прочитать эту книгу полезно, чтобы ненароком не оказаться в дураках.

Босуэл Дастин, Фаучер Тревор — Читаемый код или Программирование как искусство — 2012г

Из этой книги можно почерпнуть много полезного для организации структуры кода и в особенности для именования переменных, функций и классов. В довесок к этому в книге описаны рекомендации написания кода и его организации. Для меня эта книга оказалась полезной. Даже за мой многолетний опыт я нашёл в ней много полезного из того, что теперь точно буду применять в своей работе. А что-то из написанного заставило меня переосмыслить свой подход к написанию кода. Как итог могу рекомендовать книгу тем, кто хочет получить свежий взгляд на разработку и программирование.

Бхаргава АдитьяГрокаем алгоритмы. Иллюстрированное пособие для программистов и любопытствующих — 2019г

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

Локхарт Джош — Современный PHP. Новые возможности и передовой опыт — 2016г

Очень полезная книга для тех, кто хочет узнать максимум из основного минимума по PHP. В этой книге будет рассказано о взрослении языка, о его применении, о новых и полезных возможностях, а также о различных подходах, ресурсах, направлениях и т.д. Книга охватывает довольно большую часть тем, но сами эти темы короткие и преподносятся достаточно информативно. От этого книга получилась небольшой, но довольно емкой в плане охватываемых тем. А ещё я бы выделил раздел, где говорится о конкурирующей надстройке к языку, которую разрабатывают в Facebook (Hack). Поэтому очень рекомендую прочитать эту книгу, т.к. она ещё не потеряла своей актуальности.

Зандстра Мэтт — PHP Объекты, шаблоны и методики программирования — 2015г

Если посмотреть на эту книгу с точки зрения современных тенденций, то она выглядит несколько устаревшей. Часть информации выглядит бесполезной, другая часть уже где-то встречалась, а остальная часть слишком базовая. Но мне книга понравилась за рассказ об истории PHP и становление этого языка, как объектно-ориентированного. За достаточно подробный, но удобоваримый пример работы с шаблонами проектирования. За сторонний взгляд на некоторые технологии, которые были популярны буквально недавно. Я советую заранее просмотреть оглавление и выбрать нужные главы для чтения, потому что читать всю книгу не лучшая идея.

Фаулер Чед — Программист — фанатик — 2015г

Книга представляет из себя некий свод правил и наставлений. А по сути советов. Советы представляют собой короткие главы и каждая их них говорит о какой-то важной вещи для разработчика. Темы различные, от профессионального подхода к работе, до взаимодействия с окружающими. Иногда это довольно очевидные вещи, а иногда это откровения, рассказанные просто и доступно с позиции личного опыта автора. Надо сказать, что я с ним согласен. Но некоторые вещи довольно ситуативны и зависят от самого человека. В целом это книга для расширения кругозора и она очень хорошо выполняет свою роль.

Гамма Э. и др. — Приемы объектно-ориентированного проектирования. Паттерны проектирования — 2010г

Очень академичная книга, в которой достаточно сильно разжёвываются паттерны, подходы к разработке и какие преимущества они дают для решения типовых задач. Книга читается достаточно тяжело и требует практического подхода. Т.е. теории тут много, но запомнить её очень сложно. Если в процессе чтения вы сможете реально применять то, что там описано, то книга справится со своей задачей. В противном случае нужно быть хорошо подкованным в этом.

Cracking the Coding Interview — 150 Programming Interview Questions and Solutions

Книга на английском. В ней идёт речь о том, как проходит отбор кандидатов в такие крупные компании как Google, Microsoft, Facebook, Yahoo и т.д. Даётся много советов, описываются многие этапы и разбирается множество задач, которые могут быть на каком-то из интервью. Для меня книга оказалась достаточно интересной и я узнал много нового. Однако задачи занимают две трети книги, поэтому прочитать её можно довольно быстро, если не разбираться с каждой задачей. Но тут уже каждому своё.

Савчук Игорь — Отъявленный программист. Лайфхакинг из первых рук — 2016г

Книга представляет из себя сборник откровенных бесед с известными программистами, системными администраторами и другими «айтишниками». Т.е. по сути это сборник интервью с различными людьми, имеющими непосредственное отношение к программированию. Мне показались не интересными два из всех интервью. Они как-то не очень относились к теме, больше были похожи на рассуждения об образе жизни. Остальные же оказались весьма полезными. Советую прочитать, если хотите узнать жизнь айтишника изнутри.

Сонмез Джон — Путь программиста — 2016г

Эта книга об истории одного человека, который потом превратился в бизнесмена, а затем решил написать книгу с различными советами. Но это не значит, что книга плохая. Совершенно наоборот. Мне она попала в руки в нужное время и очень повлияла на моё отношение к моей работе. Некоторые главы специфичны. Типа правильного питания, регулярных тренировок и поддержания здорового духа. Но это всё правильно сочетается с общей темой. Большая часть книги о том, что нужно иметь план и придерживаться его. Если вы в поиске, то советую прочесть. Может дать ответы на ваши вопросы.

Мартин Роберт — Идеальный программист — 2012г

Эта книга во многом похожа на автобиографию человека, который упорно и усердно занимался своим любимым делом. Если опустить скрытую рекламу, то из этой книги можно узнать много интересного о прошлом разработчиков и почерпнуть много полезной информации о том, как нужно подходить к разработке и что является наиболее ценным в работе программиста. И самое важное, что помогает усвоить эта книга, это понимание того, что представление идеального программиста у каждого своё, но к нему необходимо стремиться.

Мартин Роберт — Чистый код. Создание, анализ и рефакторинг — 2010г

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

Макконнелл Стив — Совершенный код. 2 изд.

Для многих эта книга это библия программиста. Она большая, объемная, содержит кучу полезной информации, и что самое главное, её можно перечитывать раз за разом. Открой любую главу, начни читать в любом месте, и сложно оторваться. Это редкий случай, когда в книге практически нет бесполезной информации. Я до сих пор помню некоторые кусочки практически наизусть. А это о чём-то да говорит. В общем всем к прочтению обязательно!