Апр 27

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

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

В этом посте я приведу небольшие рецензии на несколько технических книжек.

С. Макконнелл, «Совершенный код. Мастер-класс»
Тотальный и безусловный мастрид для человека, который хочет называть себя разработчиком. Эту книгу папы-программисты должны читать на ночь детям программистам. Идет очень легко, даром что толстая: хороший перевод, приятный язык. Единственный минус – сложно носить с собой в метро (у меня она занимала всю сумку).
Там есть все: от того, как называть переменные, до организации процесса разработки. Всё рассказано подробно и приближенно к практике, есть огромное количество ссылок на материалы для дальнейшего изучения. В общем, эту книгу я крайне рекомендую.


Э. Хант, Д. Томас, «Программист-прагматик. Путь от подмастерья к мастеру»
Это такой «Макконнелл для ленивых». Она гораздо меньше и часть материала повторяется. Писалась, похоже, раньше, поэтому часть упоминаемых в ней технологий устврели.
Если «Совершенный код» вас уж очень пугает размером, попробуйте её. Если СК прочли, не тратьте время.

Э. Гамма, Р. Хелм, Р. Джонсон, Дж. Влиссидес, «Приемы объектно-ориентированного проектирования. Паттерны проектирования»
Классика. Если вы хотите вставлять в резюме слово «паттерны», обязательно её прочтите, а то потом не сможете рассказать, чем декоратор отличается от заместителя, и будете выглядеть глупо.
Книжка мне показалась тяжелой: в неё надо «въезжать» и думать
почти на каждой странице. Зато потом всё в голове выстраивается в очень красивую картину, стоящую затраченных усилий.
При изучении паттернов основная проблема – они быстро забываются. Поэтому, чтобы закрепить знания, когда прочли про какой-то паттерн, подумайте, как его можно было бы применить на практике в ваших проектах.


Крэг Ларман, «Применение UML 2.0 и шаблонов проектирования»
Очень просветляющая книга. Несмотря на название, она не только про UML и паттерны (кстати, паттерны – не те, что у GoF, а более общие, GRASP). Как исследовать предметную область, как выделять её объекты и переносить их в код, как организовать процесс проектирования и разработки – все там.
Написана приятно, я прочел на одном дыхании (хотя кое-кто из коллег этого впечатления не разделяет), утыкав страницы разноцветными закладками.
Советую её каждому, кто хочет спроектировать и разработать что-то сложнее гостевой книги.

Марк Арнольд, Джефф Д. Алмейда, Клинт Миллер, «Администрирование Apache»
Единственная книга на русском по администрированию веб-серверов, которую я нашел в продаже (сейчас, похоже, и она пропала). И это её главное достоинство, дальше идут недостатки: отвратительный перевод, устаревший материал (она про Apache 1.3).
Сейчас читаю, идет тяжело. Конечно, она дает более-менее целостное представление о веб-сервере, которое трудно получить чтением мануалов, но сил для этого приходится тратить много.


В моем списке для чтения еще много позиций, так что продолжение следует.

А какие книги для разработчиков можете порекомендовать вы?

Комментарии (2)

Что вы об этом думаете?

Поделились мыслями: 2

  • Stac:

    Книга Алана Купера «Психбольница в руках пациентов» сильно на меня повлияла.

    Она про проектирование пользовательских интерфейсов, не большая по объему и легко читается.

    Прочтя ее понимаешь, почему программы (и сайты) в большинстве своем такие неудобные.

Прокомментировать