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

Специалист GeekBrains Евгений Елчев предлагает учиться программированию по книгам. Он рассказывает про главные издания для начинающего разработчика.
1. Стив Макконел «Совершенный код. Мастер-класс»
Известный американский программист Стив Макконел написал эту книгу в то время, когда эффективные методики в программировании не были в таком широком доступе, как сегодня.
«Моей главной целью было сокращение разрыва между знаниями гуру и лучших специалистов отрасли, с одной стороны, и общепринятыми методиками разработки коммерческого ПО — с другой», — пишет автор в предисловии.
В 90-х, когда Макконел активно строил карьеру разработчика, прочитать о передовых технологиях разработки ПО можно было только в специализированных журналах и опубликованных научных трудах. Автор начал отбирать эффективные методики, которые помогали устранять проблемы при разработке, применял их на практике, а в результате подготовил уникальную подборку для других специалистов.
«Совершенный код. Мастер-класс» даже сегодня программисты называют классикой и рекомендуют всем новичкам.
Сам Макконел советует книгу:
- опытным программистам (поможет упорядочить знания и получить обширное руководство по конструированию ПО);
- техническим лидерам (на материалах книги удобно обучать младших специалистов);
- программистам-самоучкам (найдут информацию по эффективным методикам программирования, которые будут понятны вне зависимости от вашего основного образования);
- студентам (поможет максимально безболезненно перейти от теории к практике).
Книга написана простым доходчивым языком и не требует каких-то специальных знаний для понимания текста. И даже если поначалу информация покажется вам нудной или слишком детальной, как признаются некоторые читатели, наберитесь терпения. Все эти мелочи скоро всплывут в работе.
Из недостатков — знатоки жалуются на плохой перевод, поэтому если вы хорошо знаете английский, лучше читать в оригинале. Также нужно иметь в виду, что книга была написана в 1993-м году, поэтому некоторых новых инструментов и концепций в ней нет.
«В отличие от программистов, которые обладают опытом, но не могут похвастаться специальным обучением, недавние выпускники вузов часто имеют обширные теоретические знания, но плохо владеют практическими ноу-хау, связанными с созданием реальных программ. Передача практических навыков хорошего кодирования зачастую идёт медленно, в ритуальных танцах архитекторов ПО, лидеров проектов, аналитиков и более опытных программистов. Ещё чаще эти навыки приобретаются программистами в результате собственных проб и ошибок. Эта книга — альтернатива традиционным неспешным интеллектуальным ритуалам. В ней собраны полезные советы и эффективные стратегии разработки, которые ранее можно было узнать главным образом только непосредственно у других людей. Это трамплин для студентов, переходящих из академической среды в профессиональную».
2. Роберт К. Мартин «Чистый код. Создание, анализ и рефакторинг»
Несмотря на то, что все примеры в этой книге написаны на Java, она будет полезна любому программисту — знаменитый консультант по разработке ПО Роберт Мартин (известный в сети по прозвищу «дядюшка Боб») очень понятно объясняет принципы, которые активно использует и рекомендует другим разработчикам в написании кода.
Как отмечает автор, все примеры — результаты его работы, собственные находки и выводы, не всегда подкреплённые исследованиями.
Большую часть книги занимают листинги кода, а начинающие разработчики хвалят издание за простой язык изложения, понятные примеры и чувство юмора автора.
Минусами некоторые читатели считают пересечение отдельных глав с «Совершенным кодом» Макконела. Но нам это кажется скорее плюсом, так как ключевые моменты запоминаются благодаря тому, что вы встречаете их в нескольких источниках, а затем закрепляете на практике.
На самом деле расхождений у авторов гораздо больше. Опытные разработчики называют Мартина излишне категоричным в некоторых вопросах — советуют начать с более фундаментального Макконела и только затем приступить к теории «чистки кода».
«Книга заставит вас потрудиться, и потрудиться усердно. Какая работа вам предстоит? Вы будете читать код — много кода. И нам придётся как следует подумать, что в этом коде правильно, а что нет. Вы будете наблюдать за тем, как мы разбираем эти модули, а потом собираем заново. Это потребует немало времени и усилий; но мы считаем, что результат того стоит».
3. Эрик Фримен, Элизабет Фримен, при участии Кэтти Сьера и Берта Бейтса «Паттерны проектирования»
Авторы книги говорят, что «Паттерны проектирования» — для тех, кто хоть немного ориентируется в Java или C#. А мы смело советуем её всем новичкам — даже если вы ещё не написали ни одной строчки кода. Это книга о том, как учиться и заставить свой мозг воспринимать новую и сложную информацию и как эффективно применять опыт других разработчиков в своей практике.
Книга заряжает и мотивирует с первых страниц, а чувству юмора авторов можно только позавидовать. Оформление, примеры и классные иллюстрации, стиль и язык авторов, даже их биографии в предисловии — здесь всё работает на то, чтобы вдохновить новичков на изучение основ — шаблонов программирования и ООП (объектно-ориентированное программирование).
Книгу можно читать с начала, с конца, с середины, просто листать по дороге на работу — на любой странице узнаёшь что-то новое.
«Паттерны проектирования» — книга из серии Head First. Советуем обратить на неё внимание, потому что эти издания отличает:
- наглядность (много хорошей и интересной инфографики);
- разговорный стиль изложения (интересные истории, вместо скучных лекций);
- активная работа читателя (пока вы читаете книгу, вы постоянно решаете задачи и делаете выводы);
- эмоциональность.
В «Паттернах» очень много интересных упражнений, после выполнения которых вы запомните с десяток важных правил, а после сможете использовать в работе каждый день.
Минусом этого издания мы считаем только неудачную обложку. Но пусть она не сбивает вас с толку. Внутри — отличные материалы для самостоятельного обучения программированию.
«Все мы пользовались готовыми библиотеками и инфраструктурами. Мы берём их, пишем код с использованием функции API, компилируем и извлекаем пользу из кода, написанного другими людьми. Достаточно вспомнить, какую функциональность представляет Java API: сеть, графические интерфейсы, ввод-вывод и так далее. Однако библиотеки и инфраструктуры не помогают нам структурировать приложения так, чтобы они становились более понятными, гибкими и простым в сопровождении. Для достижения этой цели применяются в паттерны проектирования.
Паттерны не сразу воплощаются в нашем коде — сначала они должны проникнуть в наш МОЗГ. Когда вы начинаете достаточно хорошо разбираться в паттернах, вы сможете применять их в новых архитектурах, а также перерабатывать старый код, который со временем превращается в хаотическое месиво».
4. Чад Фаулер «Программист-фанатик»
Как отмечает сам автор, успешный разработчик Чад Фаулер, это книга о том, как вырастить в себе желание быть незаурядным. В «Программисте-фанатике», в отличие от других книг, которые мы назвали, нет примеров кода и советов по программированию, но много важных вопросов, которые начинающим программистам обычно не с кем обсудить.
Судите сами по названию глав:
- «Помни, на кого работаешь».
- «Сколько ты стоишь?»
- «Великолепная задача на сегодня».
- «Как я променял $300 000 в Microsoft на полный рабочий день в Github».
- «Избегай каскадного планирования карьеры».
- «Публикуй свой код».
- «Умей говорить нет».
- «Восьмичасовое пламя».
Чад Фаулер до того, как стать программистом, был музыкантом. Именно поэтому ему было неинтересно развивать свою карьеру по принципу «просто хороший программист». Он изначально хотел стать крутым, а в книге рассказал, как прошёл этот путь.
Из минусов книги многие читатели отмечают слишком общие рекомендации. Книги из серии self-help могут послужить хорошим толчком, когда у тебя достаточно собственных целей, есть мотивация и энергия двигаться в работе. В состоянии профессионального кризиса можно легко подсесть на такие приятные рассказы известных программистов — читать одну книгу за другой, но не предпринимать реальных действий, особенно, когда в книге не разбираются практические задачи из работы.
Мы с таким мнением согласны и эту книгу советуем читать после порции собственного кода и первых результатов в работе. А уже после этого можно передохнуть и наметить дальнейшие планы за компанию с фанатом Фаулером.
«Моя работа обычно не даёт мне покоя, когда я уделяю ей недостаточно внимания. Когда я спускаю какие-то дела на тормозах или позволяю им накапливаться. В этом случае работа отправляется со мной домой и не даёт мне спокойно расслабиться. При каждодневной интенсивной трудовой деятельности ты обнаруживаешь, что перестал тащить домой рабочие проблемы. И дело не в том, что ты намеренно не даёшь себе работать сверхурочно. Твой мозг просто не позволяет этого делать.
Распоряжайся своим рабочим временем аккуратно. Работай меньше, и ты начнёшь больше успевать. Работа всегда приносит больше удовольствия, когда ты можешь от неё отдохнуть».
Фото: iStockphoto (scyther5)
Популярные комментарии
АндрейАбсолютно согласен! Надо ещё и математику убрать, а то учат детей думать и раскладывать по полочкам! И читать и грамотно общаться сейчас не в моде. Есть же нейросеть! И комментарии поможет написать! Отправлять в школу только на физкультуру, труды и ОБЗиР. А все остальные предметы платно и по желанию! Хотя и эти три предмета требуют особой подготовки, поэтому их надо тоже по желанию, а лучше вообще платно!
«Врачей жалко. А вас, тварей, нет». Честный монолог учительницы о том, что стоит за особым статусом педагогов
Виктория Ильина«Короткий ответ: никак» — пожалуй, самая спорная рекомендация статьи. Да, признание родителей не изменит прошлого, а разговор не гарантирует извинений. Но это не значит, что о пережитом нужно молчать. Между «устроить суд истории» и «закрыть тему» есть третья возможность: спокойно рассказать, что помнишь, что чувствовал и как это на тебя повлияло. Не ради мести или покаяния, а чтобы назвать пережитое своими словами и обозначить границы. Родители могут искренне не помнить — но статья лишь предполагает это, не зная обстоятельств конкретной семьи. Избирательность памяти сама по себе не доказывает ни забывчивости, ни правоты одной из сторон. Почему же защитная версия взрослых считается вероятной, а желание выросшего ребёнка высказаться объявляется попыткой «переписать детство»? Забыть старые обиды по приказу невозможно. Молчание не означает, что проблема решена. Исследования также показывают: пережитое в детстве насилие связано с повышенным риском повторения жестокого или пренебрежительного обращения со своими детьми. Поэтому очень важно не «оставить родителей в покое», а осмыслить свой опыт и не передать его дальше. Разумеется, разговор стоит подготовить и вести без оскорблений. А вот объявлять молчание универсальным способом исцеления — безответственно, важно не просто прекратить разговоры о прошлом, а именно разобраться, как не воспроизвести пережитую несправедливость уже в отношениях со своими детьми.
Родители били меня в детстве, а теперь говорят, что ничего не было. Почему они так делают?
Юрий НикольскийПолвека сохраняю вес. Утром встаю на весы. Если вес выше той отметки, что установил полвека тому назад, то в этот день пищи на четверть меньше предыдущего дня. Ем по 6 раз в день, йогурт за час до сна. Не редко толстеют в годы, когда перестают расти — здесь уменьшаются затраты, а привычка есть столько же сохраняется. Второй период после окончания учёбы — начинается спокойная жизнь. Третий период — организм стареет, то новые клетки образуются всё реже. Сейчас потребляю пищи в 3 раза меньше чем полвека тому назад. Для женщин ещё есть периоды, связанные с беременностью.
Дело не в гормонах: 10 ошибок, из-за которых вы не можете похудеть





