Игорь Савчук - Отъявленный программист: лайфхакинг из первых рук Страница 52
Игорь Савчук - Отъявленный программист: лайфхакинг из первых рук читать онлайн бесплатно
Начать свой рассказ, должен признаться, мне тяжело — я просто не знаю, как представить вам нашего сегодняшнего героя. В Сети все его знали под ником «why the lucky stiff» (или просто _why), и это все, что нам известно о нем. Кем он работал? На всех ИТ-конференциях он представлялся неизменно «freelance professor». Несмотря на многочисленные публичные предложения крупнейших мировых компаний и проектов работать на них, в офисе он не проработал ни дня — он всегда откровенно признавался, что у него нет даже номера social security. Пенсионный фонд нашел бы его жалким типом...
Знакомство Мистер _why — это второй человек в мировом сообществе разработчиков Ruby. Доподлинно о нем известно только одно: какой бы самый коварный вопрос ни возникал в списках рассылки сообщества, обстоятельный ответ _why всегда гарантированно закрывал любую проблемную дискуссию. Этим, а также своей фантастической производительностью и неподражаемым вкусом _why заработал славу одного из самых сильных и ярких экспертов в мире Ruby. Конечно, он блистательный программист. Но не только. Например, иллюстрации ко всем своим книгам создатель языка Ruby Юкихиро Мацумото доверял лишь _why — он чертовски классный художник-график (кстати, именно он создал новый комикс-стиль, посвященный Ruby). У него была своя музыкальная группа, каждый вечер за электрогитарой и у микрофона — звезда своего небольшого городка. Интерес к музыке выливался и в программирование, например он создатель музыкальной библиотеки к Ruby bloopsaphone, которая позволяет проигрывать простенькие мелодии, вот, например, мелодия музыкальной заставки мультфильма Simpson:
require 'Rubygems'
require 'bloops'
b = Bloops.newb.tempo = 180
sound = b.sound
Bloops::SQUARE
sound.volume = 0.4
sound.sustain = 0.3
sound.attack = 0.1
sound.decay = 0.3
b.tune
sound, "32 + C E F# 8:A G E C — 8:A 8:F# 8:F# 8:F# 2:G"
b.play
sleep 1
while !b.stopped?
Несмотря на полную анонимность, _why собирал полные залы на свои редкие выступления-лекции по программированию — в зале было невозможно протиснуться, потому что люди сидели везде и слушали его, затаив дыхание. Он отличный оратор и при этом замечательный писатель, который писал примерно в таком же стиле, в каком и жил. За свою короткую жизнь он написал лишь две книги, и обе книги были, конечно же, о Ruby.
(poignant) Guide to Ruby В подзаголовок вынесено название самой известной книги, написанной _why. Иногда ее обозначают как (p)GtR или просто «the poignant guide» [1 Дословно «душевное руководство»] — это одно и то же. Это учебник для новичка — своего рода введение в язык Ruby, но не только в его, скажем так, внешнюю техническую суть и командный синтаксис, но и очень эффектная попытка передать его философию и дух. Чтобы сразу уйти от бесполезных дискуссий по поводу ее гениальности (или убожества, по мнению других), просто подчеркну то, с чем согласны все: книга не такая, как все. Она не похожа на то, что вы читали ранее. Для начала очертим тот широкий диапазон оценок, что она получила: от зашкаливающих восторгов типа «одна из самых лучших книг по программированию» (от Джоела Спольского), до гневных проклятий: «Да это же просто издевательство какое-то над читателем!» — от одного дедушки-редактора крупного американского издательства, где ее однажды попытались издать.
Понятно, отчего профессиональный издатель приходит в бешенство: книга написана в таком стиле, в котором, пожалуй, про программирование не писал еще никто. Все уже привыкли, что книга по программированию должна представлять собой некий заунывно-монотонный рассказ от зануды-программиста, перемежаемый редкими и скучными листингами. Вряд ли вы возьмете такую книгу с собой в отпуск или будете читать ее пару дней и ночей напролет, не в силах оторваться. _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.
Итак, этот редактор реализует блоковую концепцию построения программ из уже готовых кусков кода (заготовок, сниппетов). При этом у новичка есть возможность начинать учиться в процессе создания приложений, сразу разбираясь в его устройстве на примерах составных кусков кода (в чем активно помогает эта IDE), а также модифицируя их под свои текущие нужды (поставляется обширная библиотека подобных сниппетов на все случаи жизни). Такой полуфабрикатный подход позволяет немедленно начать писать программы любому человеку практически без какого-либо предшествующего опыта. Технически редактор базируется на Ruby и Shoes toolkit (библиотека для создания сложных графических интерфейсов).Неожиданная концовка Что случилось потом, никто не знает. В июле 2009 года _why внезапно исчез. Ничего не объясняя, никак не объявляя это заранее, на пике своей сетевой популярности... Все его почтовые ящики-контакты были закрыты, его сверхпопулярный Twitter с более чем 10 000 подписчиков отключен, то же произошло и с его персональным блогом и аккаунтом на GitHub, а также с многочисленными сайтами-проектами. За один день все его проекты и само его присутствие в Сети были полностью разрушены. Сообщество Ruby было шокировано, назвав этот акт виртуальным самоубийством. В личных блогах огромного количества людей в Сети стали появляться признания о том, что _why изменил их жизнь, именно бла годаря ему очень многие пришли в мир программирования или выбрали Ruby в качестве своего основного языка программирования. Поиск _why был по-настоящему грандиозным — опрашивались все последние журналисты, с которыми он контактировал, анализировались его последние твиты и письма в попытке понять мотивы, было даже запущено в ротацию стандартное для Америки объявление на пакете молока для поиска пропавших людей, но все было тщетно. Сетевые энтузиасты своими силами постепенно восстановили все его проекты (более 100 проектов в самых разных областях программирования и искусства). Последний его твит перед исчезновением, как реквием по программированию, таков: programming is rather thankless. u see your works become replaced by superior ones in a year. unable to run at all in a few more.
Жалоба
Напишите нам, и мы в срочном порядке примем меры.