Читаем Отъявленный программист: лайфхакинг из первых рук полностью

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

_why, конечно, не в состоянии писать, как все: он никогда не работал в офисе, чтобы, как он считал, «ненароком не похоронить там свой живой интерес к жизни». «(poignant) Guide to Ruby» рассказывает о многом, например о его любимом «кусочке бекона» (chunky bacon — фраза, которая впоследствии стала мемом в сообществе Ruby и используется в огромном количестве примеров Ruby-кода), о его повседневной жизни и наблюдениях, восходе солнца или рассуждениях о языке собак...

Здесь важно не терять главную суть — все это лишь о языке Ruby, который рассматривается в чрезвычайно широком ракурсе и контексте. Книга сразу навязывает очень неспешное, вдумчивое погружение в язык, тщательную проработку его основ, мотивов и подходов. Словно боясь слишком перегрузить читателя, _why время от времени аккуратно одергивает своего читателя очередной шуткой: эй, приятель, ты еще здесь?

Внимательное проговаривание вслух всех листингов — обязательный элемент изучения этого языка, введенный в обиход именно _why. Ruby спроектирован так, что одна из его удивительных особенностей — это формирование в процессе написания программы осмысленного для чтения на обычном английском языке листинга, который более или менее может прочитать и понять любой обычный человек. Попробуйте повторить нечто подобное с Python или не приведи господь с PHP — ну что, получается?

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

Другой постоянный персонаж книги — черный, как ночь, кот Trady Blix, с которым, по признанию самого _why, он как-то случайно познакомился на телевидении. В самом начале книги _why доверительно признается, что именно Blix научил его «настоящему Ruby».

Чтобы такая линейность сюжета не показалась кому-то слишком академичной (основанной на «здравом смысле» — любимое ругательство _why), в ходе изложения они часто меняются местами: в эти моменты уже _why педантично объясняет и учит кота Blix’а особенностям устройства и работы Ruby.

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

Вторая дополнительная составляющая курса — интерактивный обучающий сайт tryRuby.org. Вслед за Дарвином _why считает, что только непрестанная практика программирования превращает социальную обезьяну в программиста.

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

Другая его книга — Nobody Knows Shoes. Под впечатлением от этого стиля другими были созданы очень похожие на оригинал книги, например Learn you a Haskell for great good.

Маленькое программистское затруднение

На этом _why не успокоился. Продолжением попытки максимально эффективно учить новичков программировать стало создание собственной среды разработки на Ruby, которую он назвал Hackety Hack.

Чтобы максимально точно позиционировать эту IDE, _why выпустил манифест Little Coder’s Predicament, объясняющий суть предназначения Hackety Hack и рассказывающий о проблеме высокого порога вхождения в современное программирование, устранить который отчасти и предназначена эта программа-среда.

Он объясняет это так:

Мы живем в мире ужасно сложных и продвинутых технологий, которые окружают нас повсюду. Неважно, осознаем мы это или нет, но факт заключается в том, что наши бабушки сегодня пользуются смартфонами, наши дети играют на iPad и т. д. — но технологии, скрытые под капотом всех этих предметов, ужасно сложны и комплексны. Я помню, как в старые добрые времена смог сам легко освоить программирование на Commodore 64, но попробуйте сегодня разобраться в таком же возрасте в программировании под Windows, создать свой собственный поиск-аналог Google или написать свое приложение для любимого iPhone. Сделать это будет не так-то просто, как было во времена моего детства. Я называю этот возросший порог для вхождения в мир программирования Little Coder’s Predicament и пытаюсь преодолеть его посредством новой идеологии обучения программированию, реализованной в Hackety Hack.

Перейти на страницу:

Все книги серии Библиотека программиста

Программист-фанатик
Программист-фанатик

В этой книге вы не найдете описания конкретных технологий, алгоритмов и языков программирования — ценность ее не в этом. Она представляет собой сборник практических советов и рекомендаций, касающихся ситуаций, с которыми порой сталкивается любой разработчик: отсутствие мотивации, выбор приоритетов, психология программирования, отношения с руководством и коллегами и многие другие. Подобные знания обычно приходят лишь в результате многолетнего опыта реальной работы. По большому счету перед вами — ярко и увлекательно написанное руководство, которое поможет быстро сделать карьеру в индустрии разработки ПО любому, кто поставил себе такую цель. Конечно, опытные программисты могут найти некоторые идеи автора достаточно очевидными, но и для таких найдутся темы, которые позволят пересмотреть устоявшиеся взгляды и выйти на новый уровень мастерства. Для тех же, кто только в самом начале своего пути как разработчика, чтение данной книги, несомненно, откроет широчайшие перспективы. Издательство выражает благодарность Шувалову А. В. и Курышеву А. И. за помощь в работе над книгой.

Чед Фаулер

Программирование, программы, базы данных / Программирование / Книги по IT

Похожие книги