Начать путь в разработке — что почитать «молодому» программисту

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

В прошлый раз мы подготовили компактные подборки с настольными справочниками для сисадминов и ресурсами для DevSecOps. Сегодня говорим о книгах для разработчиков, начинающих погружение в мир программного обеспечения. В списке «классика», которую рекомендуют резиденты Hacker News, Reddit и других профильных площадок.

В блоге T1 Cloud мы регулярно делимся полезными ресурсами для ИТ-специалистов — подписывайтесь, чтобы не пропустить будущие публикации.

/ Unsplash.com / Daoud Abismail
/ Unsplash.com / Daoud Abismail

Code Complete

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

Особое внимание автор уделяет структурированию кода, удобству чтения и восприятия. Один из резидентов Hacker News даже выделил любимую цитату в этом контексте: «Написать программу так, чтобы она была понятна компьютеру — это меньшая часть работы программиста; его основная задача — написать её так, чтобы её понял другой человек».

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

В целом «Code Complete» подойдет как начинающим, так и опытным разработчикам — каждый сможет почерпнуть что-то полезное вне зависимости от сложности проекта at hand. Однако материал может показаться «тяжелым» к прочтению — он изложен на 960 страницах. Вероятно, не каждый «осилит» книгу до конца. Однако её вполне можно использовать как настольный справочник и обращаться только к тем главам, которые помогут решить текущую задачу.

Clean Code

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

«Clean Code» написал разработчик Роберт Мартин, также известный в ИТ-сообществе как Дядя Боб. Он разбирает принципы и приемы написания чистого кода, приводит большое количество примеров. В то же время книга содержит серию практических упражнений, где необходимо найти и устранить проблемы в предложенных блоках кода. Особенно полезна книга будет разработчикам на Java, поскольку в ней есть отдельные главы, посвященные модулю JUnit.

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

/ Unsplash.com / Shamin Haky
/ Unsplash.com / Shamin Haky

Если вам понравится подача материала и стиль автора, то в его портфолио есть несколько аналогичных работ: «Clean Architecture», посвященная проектированию чистой архитектуры, «Clean Agile» об организации задач в условиях гибких методологий и «Clean Coder» с лучшими практиками для разработчиков.

Хотя резиденты Hacker News отмечают, что книги представляют собой набор рекомендаций, которым не нужно следовать беспрекословно. Однако с ними стоит познакомиться, чтобы сформировать собственное мнение о предлагаемых практиках и понять, когда можно нарушать правила. В ИТ-сообществе до сих пор нет абсолютного консенсуса по вопросам чистоты кода и архитектуры. Сам этот факт находит отражение в «Clean Architecture». Роберт Мартин включил туда отдельную главу, которую написал приглашённый автор — Саймон Браун, и его идеи во многом противоречат остальной части материала.

Structure and Interpretation of Computer Programs

По словам пользователя Hacker News, эта книга встречается в тематических подборках литературы недостаточно часто. Она написана профессорами MIT — Харольдом Абельсоном и Джеральдом Сассманом — и одно время служила учебником для начинающих программистов на диалекте LISP (сегодня в вузе используют Python).

Несмотря на то что первое издание книги было выпущено в далеком 1985 году, изложенные в ней базовые принципы до сих пор остаются актуальными — такие как абстракция данных, метаязыковая абстракция, рекурсия. С другой стороны, некоторые подразделы безвозвратно устарели. К ним стоит относиться как к исторической справке и обращаться исключительно для общего развития.

Книгу можно скачать бесплатно — текст второго издания распространяют по лицензии Creative Commons.

В этом контексте стоит отметить еще одну книгу от издательства MIT Press — «Concepts, Techniques, and Models of Computer Programming». Она раскрывает ключевые концепции программирования, техники и парадигмы, необходимые начинающему разработчику. Материал используют и дополняют многие курсы и лекции профессоров технологического института.

The Mythical Man-Month

Эта работа Фредерика Брукса, пожалуй, наиболее известная рекомендация в нашей сегодняшней подборке. The Mythical Man-Month — это сборник эссе о проблемах разработки масштабных программных проектов. В отличие от предыдущих материалов, автор концентрируется не на практических, а управленческих навыках. Одна из ключевых идей автора — привлечение новых людей на поздних этапах разработки лишь отодвигает сроки сдачи проекта.

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

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


Свежие материалы в нашем блоге на Хабре:

  • Скрытые жемчужины — сетевые протоколы, о которых мало кто слышал

  • Из энтерпрайза в стартап и обратно: история одного продакт-менеджера

  • Обсуждаем книги, которые можно читать вновь и вновь

Источник: https://habr.com/ru/company/t1_cloud/blog/686044/


Интересные статьи

Интересные статьи

Сейчас трудно в это поверить, но полтора столетия назад самым быстрым транспортом были поезда – их скорость в 60-100 км/ч казалась умопомрачительной. Но на заре XX века автомобили и самолёты прогресси...
В данной статье мы рассмотрим систему аутентификации пользователей и внешних систем в личном кабинете через сервер аутентификации Blitz Identity Provider. Согласно требованиям проекта, который мы...
Система машинного обучения, изначально созданная для ускорения вычислений, сегодня делает удивительные успехи на границах экспериментальной квантовой физики. Квантовый фи...
Кто бы что ни говорил, но я считаю, что изобретение велосипедов — штука полезная. Использование готовых библиотек и фреймворков, конечно, хорошо, но порой стоит их отложить и создать ...
Всем привет. В рамках проекта от компании Acronis со студентами Университета Иннополис (подробнее о проекте мы уже описали это тут и тут) мы изучали последовательность загрузки операц...