Книги по теме

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

Бхаргава АдитьяГрокаем алгоритмы. Иллюстрированное пособие для программистов и любопытствующих — 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 изд.

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

Продолжение следует…