Продуктивный программист
24.01.2018 книги технологии
Прочитал эту книгу от корки до корки за несколько часов. Правда, там встречаются местами рецептики для пользователей Windows и Mac, такое я просматривал, а не читал. Начну с цитаты:
«Простой в использовании» редко значит «эффективный». Разработчикам, воспитанным на графических интерфейсах (ладно, так и скажу: на Windows), незнакомы многие хитроумные профессиональные приёмы «толковых парней» прошлых лет. Сегодняшние разработчики пускают компьютеры не бегом, а шагом. И я попытаюсь исправить это положение.
Я думаю, Нилу удалось исправить положение по крайней мере с отдельными личностями. В частности, меня он убедил в необходимости TDD, а ещё я узнал о полезнейших консольных командах pushd/popd :)
Pushd/popd в топку, есть «cd -», оказывается. Узнал в мае-2011-го.
И вообще, Нил Форд часто вспоминает про командную строку и конвейеры в своей книге. Кроме того, в «Продуктивном программисте» нередко встречается симпатичный мне язык Ruby и даже фреймворк RoR на его основе. И, что уж совсем было удивительно, Нил пишет даже про мои любимые Yahoo Pipes!
Ещё из интересного запомнилось классное определение назначения объектов в ООП: «объекты — это хранители состояния, объект без состояния — нонсенс». Эта цитата выдрана из критики обязательных конструкторов в языке Java. Кстати, примеров кода на этом языке в книге едва ли не меньше, чем примеров на Ruby.
Также хочется отметить главу о будущем программирования, в частности Нил Форд прогнозирует, что в ближайшие лет пять в этой сфере произойдут значительные изменения, связанные с тотальным переходом на специализированные предметно-ориентированные языки (DSL). И, кстати, всевозможные фреймворки являются в этом контексте как раз такими предметно-ориентированными языками. К примеру, тот же Ruby on Rails является расширеним языка Ruby для задач различных интернет-приложений.
О текстовых редакторах
Естественно, в книге о продуктивности программиста Нил не мог пропустить такие важнейшие инструменты, как текстовые редакторы. Он сформировал целый список совершенно необходимых эффективному редактору требований, и привёл примеры инструментов, которые соответствуют этому списку. Инструментов оказалось всего четыре: Vim, Emacs, JEdit и TextMate.
Читать или нет?
Я точно не жалею о том, что потратил утро воскресного дня на чтение этой книги, мне понравилось, мне вообще нравится получать новые знания. Но решать вам. А чтобы принять решение было легче, перепечатаю вам небольшую часть с обложки. Итак, книгу стоит прочитать, если вы хотите узнать, как:
- писать тесты до написания кода;
- тонко управлять жизненным циклом объектов;
- создавать только то, что вам необходимо сейчас, а не «может, когда и пригодится»;
- применять в разработке ПО мудрость античных философов;
- использовать принципы метапрограммирования;
- следить за тем, чтобы код метода соответствовал одному уровню абстракции;
- выбрать правильный текстовый редактор с наилучшим набором инструментов для конкретной работы.
Это не всё, конечно, но основное, что есть в книге. Так что побеждайте в себе жабу и покупайте книжку, или поступайте как я — возьмите её у кого-нибудь почитать :) Приятного вам и продуктивного программирования!
P.S. У меня на очереди психбольница Алана Купера.
Комментарии
Комментирование этой статьи закрыто.
« Как функционирует Joomla Офисный пакет Apple iWork для Windows теперь распространяется бесплатно »
Популистские слоганы ты привёл в конце.
А по текстмейту — чё-т коряво очень там эти бандлы сделаны. Полный пэ, я никак не могу их заюзать.
Чем больше узнаю руби и рельсы, тем меньше мне нравится пхп…
Тормоз, ты меньше читай подобные опусы. Вот твоего бы «продуктивного программиста» посадить в режим дефицита оперативной памяти, ну, например, когда у тебя в распоряжении имеется 4096 машинных слов, причем без прямой адресации памяти. Я бы с интересом поглядел, как бы он смог создать операционку, пару-тройку компиляторов, еще чего-нить полезное. :) Это я к тому, что все подобные книжки навпоминают мне шедевры типа «Как заработать миллион и нихуя при этом не делать». Читать интересно – практического смысла нет. Впрочем, если речь идет именно о программинге, читай Дейкстру, Хопгута. А когда якобы программер пишет, как ты привел, «выбрать правильный текстовый редактор с наилучшим набором инструментов для конкретной работы», уже понятно, что это не программер в принципе. Почему? Ну, хотя бы по такой простой причине, что под серьезные проекты раньше всегда писались собственные редакторы и компиляторы. Это примитивные программы, проще потратить пару недель, чтобы потом сэкономить пару мясяцев.
Я уже 100500 лет не программер, но уверю, что именно так обстоят дела и сейчас, и для этой уверенности есть основания.
С наступившим!
Львович, ну вы ретроград :) С тех времён, когда вы занимались программированием, изменилось очень и очень многое. С наступившим!