4 популярные книги для начинающих разработчиков

4 популярные книги для начинающих разработчиков

Специалист GeekBrains Евгений Елчев предлагает учиться программированию по книгам. Он рассказывает про главные издания для начинающего разработчика.

1. Стив Макконел «Совершенный код. Мастер-класс»

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

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

В 90-х, когда Макконел активно строил карьеру разработчика, прочитать о передовых технологиях разработки ПО можно было только в специализированных журналах и опубликованных научных трудах. Автор начал отбирать эффективные методики, которые помогали устранять проблемы при разработке, применял их на практике, а в результате подготовил уникальную подборку для других специалистов.

«Совершенный код. Мастер-класс» даже сегодня программисты называют классикой и рекомендуют всем новичкам.

Сам Макконел советует книгу:

  • опытным программистам (поможет упорядочить знания и получить обширное руководство по конструированию ПО);
  • техническим лидерам (на материалах книги удобно обучать младших специалистов);
  • программистам-самоучкам (найдут информацию по эффективным методикам программирования, которые будут понятны вне зависимости от вашего основного образования);
  • студентам (поможет максимально безболезненно перейти от теории к практике).

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

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

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


2. Роберт К. Мартин «Чистый код. Создание, анализ и рефакторинг»

Несмотря на то, что все примеры в этой книге написаны на Java, она будет полезна любому программисту — знаменитый консультант по разработке ПО Роберт Мартин (известный в сети по прозвищу «дядюшка Боб») очень понятно объясняет принципы, которые активно использует и рекомендует другим разработчикам в написании кода.

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

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

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

На самом деле расхождений у авторов гораздо больше. Опытные разработчики называют Мартина излишне категоричным в некоторых вопросах — советуют начать с более фундаментального Макконела и только затем приступить к теории «чистки кода».

«Книга заставит вас потрудиться, и потрудиться усердно. Какая работа вам предстоит? Вы будете читать код — много кода. И нам придётся как следует подумать, что в этом коде правильно, а что нет. Вы будете наблюдать за тем, как мы разбираем эти модули, а потом собираем заново. Это потребует немало времени и усилий; но мы считаем, что результат того стоит».


3. Эрик Фримен, Элизабет Фримен, при участии Кэтти Сьера и Берта Бейтса «Паттерны проектирования»

Авторы книги говорят, что «Паттерны проектирования» — для тех, кто хоть немного ориентируется в Java или C#. А мы смело советуем её всем новичкам — даже если вы ещё не написали ни одной строчки кода. Это книга о том, как учиться и заставить свой мозг воспринимать новую и сложную информацию и как эффективно применять опыт других разработчиков в своей практике.

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

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

«Паттерны проектирования» — книга из серии Head First. Советуем обратить на неё внимание, потому что эти издания отличает:

  • наглядность (много хорошей и интересной инфографики);
  • разговорный стиль изложения (интересные истории, вместо скучных лекций);
  • активная работа читателя (пока вы читаете книгу, вы постоянно решаете задачи и делаете выводы);
  • эмоциональность.

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

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

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

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


4. Чад Фаулер «Программист-фанатик»

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

Судите сами по названию глав:

  • «Помни, на кого работаешь».
  • «Сколько ты стоишь?»
  • «Великолепная задача на сегодня».
  • «Как я променял $300 000 в Microsoft на полный рабочий день в Github».
  • «Избегай каскадного планирования карьеры».
  • «Публикуй свой код».
  • «Умей говорить нет».
  • «Восьмичасовое пламя».

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

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

Мы с таким мнением согласны и эту книгу советуем читать после порции собственного кода и первых результатов в работе. А уже после этого можно передохнуть и наметить дальнейшие планы за компанию с фанатом Фаулером.

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

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

Фото: iStockphoto (scyther5)