5 отличных книг по программированию, редко попадающих в списки «Лучшие книги по программированию»

Перевод статьи «5 Great Programming Books Rarely Mentioned in «Great Programming Books» Articles».

Список лучших книг по программированию и книги, котоыре в такие списки не попадают

Если вы наберете в поисковике что-то вроде «N лучших книг по программированию» или «N книг, которые должен прочитать каждый разработчик», вы получите кучу статей, в каждой из которых будут значиться одни и те же 5-6 книг. В своей статье я хочу обратить ваше внимание на несколько потрясающих книг по программированию, которые совершенно незаслуженно остаются незамеченными.

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

Будет здорово, если в комментариях вы добавите свои любимые книги с темами, важными для всех программистов. Только помните, что это список «проселочных дорог», а не «скоростных шоссе». Именно по этой причине я не включил в него такие книги как «Программист-прагматик», «Чистый код» (и «Чистое <все-остальное>»), «Мифический человекомесяц» и т. п. В общем, я не включал те книги, которые и без того всегда попадают в подобные статьи.

1. Ruby. Объектно-ориентированное проектирование

Обложка книги "Ruby. Объектно-ориентированное проектирование"

Автор — Сэнди Метц.

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

Не стоит беспокоиться, если вы не знаете язык Ruby. Все примеры достаточно интуитивны (а синтаксис Ruby достаточно прост), чтобы вы без проблем смогли усвоить уроки этой книги.

2. Python. Разработка на основе тестирования

Обложна книги "Python. Разработка на основе тестирования"

Автор — Гарри Персиваль.

Эту книгу можно читать бесплатно (в оригинале).

«Python. Разработка на основе тестирования» это отличное введение по теме TDD… эээ… в Python и Django. Автор, Гарри Персиваль, очень хорошо объясняет этот подход к разработке — с нуля и до таких тем как модульное тестирование и даже непрерывная интеграция (эту тему он только затрагивает).

Чтобы извлечь максимум пользы из этой книги, нужны начальные знания Python и некоторые базовые знания о веб-разработке. Все, что касается Django, хорошо объясняется в самой книге.

3. Functional Programming in C#

Обложка книги "Functional Programming in C#"

Автор — Оливер Стурм.

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

Для получения максимальной пользы от этой книги нужно знать язык C# (или другой строго типизированный ООП язык) на уровне между начальным и средним.

4. 24 смертных греха компьютерной безопасности

Обложка книги "24 смертных греха компьютерной безопасности"

Авторы — Майкл Ховард, Девид Лебланк и Джон Виега.

Авторы этой книги раскрывают удивительно широкий спектр проблем безопасности: от command injection до грубых ошибок криптографии. Исходя из собственного опыта, могу сказать, что всякие how-to по программированию не затрагивают аспекты безопасности, а потому подобная книга очень важна для начинающих разработчиков.

Чтобы полностью понять эту книгу, вам понадобятся базовые, но широкие познания. Например, не зная ничего о базах данных, вы можете не осознать серьезности внедрения SQL. Зато примеры в этой книге приводятся на разных языках программирования, что делает ее языко-агностичной (или языко-политеистичной?..).

5. Гибкое тестирование

Гибкое тестирование

Авторы — Лайза Криспин и Джанет Грегори.

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

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

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

Заключение

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

[customscript]techrocks_custom_after_post_html[/customscript]

[customscript]techrocks_custom_script[/customscript]

1 комментарий к “5 отличных книг по программированию, редко попадающих в списки «Лучшие книги по программированию»”

  1. Уведомление: Web Digest #2 от 07.12.2019 | Павел Наконечный

Оставьте комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Прокрутить вверх