Отъявленный программист: лайфхакинг из первых рук - Игорь Савчук
Шрифт:
Интервал:
Закладка:
Итак, этот редактор реализует блоковую концепцию построения программ из уже готовых кусков кода (заготовок, сниппетов). При этом у новичка есть возможность начинать учиться в процессе создания приложений, сразу разбираясь в его устройстве на примерах составных кусков кода (в чем активно помогает эта 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.
До сих пор, несмотря на выступления _why за пределами Сети в реальном мире и на престижных мировых конференциях, активное участие в различных концертах и фрилансерскую работу, никто так и не сумел установить его реального имени или фамилии, равно как достоверно узнать, что же случилось c ним на самом деле.
По неофициальной информации от Ruby-разработчика, плотно с ним общавшегося, настоящее имя _why — Джонатан, и он скончался в 2010 году от рака горла. По словам этого источника, последние три месяца своей жизни он решил полностью посвятить своей семье, отключив все сайты, стерев свои проекты в сети, продав свой компьютер по дешевке и выдернув все сетевые шнуры и вилки, связующие его с внешним миром. Артист, посвятивший всю свою жизнь творчеству и программированию, рисованию и музыке, а также созданию методик эффективного обучения программированию других, в последние месяцы своей жизни жадно наверстывал упущенное, радикально отрекшись от сетевого мира и былых увлечений.
Как бы то ни было все на самом деле, отмечая очередную годовщину его таинственного исчезновения, все мировое сообщество Ruby уверяет, что его неоценимый вклад в популяризацию и развитие этого языка будет сохранен в сердцах программистов навсегда.
Впрочем, вспоминая о нем, сообщество делает это полностью в стиле самого _why — без грусти, тоски и ненужного трагизма, заочно передавая ему привет на его любимом Ruby:
thanks = thank.person("_why")
thanks.append("~chunky bacon")
Как, улыбаясь, говорит Матц, создатель языка Ruby, даже после своего исчезновения он продолжает подшучивать над нами всеми. Например, журналисты уже замучили создателя Ruby дурацким вопросомрекурсией: But why mister _why had disappeared?
Вместо заключенияНеобоснованные утверждения многих источников, которые цитирует и Википедия, о том, что _why — это 24-летний веб-разработчик Jonathan Gillette, не выдерживают никакой критики. И не только потому, что сам Jonathan Gillette категорически отрицает это, но хотя бы просто потому, что он не знает и не использует Ruby в своей работе (о боже, он PHP-программист!). К тому же данный разработчик весьма символично работает на обычной офисной работе, тогда как Ruby «rock star» _why всегда повторял:
Ходить на работу в офис это как смотреть телевизионные сериалы по вечерам, жизнь — это слишком большая роскошь, чтобы тратить ее на осуществление чужих планов или потребление примитивных телевизионных фантазий.
Дурной пример заразителен: вслед за _why под впечатлением его поступка подобный же акт «сетевого самоубийства» совершил один из ведущих евангелистов Python-комьюнити, Марк Пилигрим (автор знаменитой книги «Dive into Python»), который полностью порвал с проектом Python. Но это уже совсем другая история...
Закончить хочется твитом самого _why, у которого дотошный репортер однажды спросил, чем он, черт побери, вообще занимается? На что тот лаконично ответил: «хакаю хакерство». Чуть позже он написал твит, который отвечал и на все остальные вопросы:
Когда вы ничего не создаете, вас определяют чужие вкусы и мнения, а не ваши возможности. Эти вкусы только ограничивают и отдаляют людей. Поэтому — творите.
ГЛАВА 11. История Рона Авицура: секреты нематериальной мотивации
Речь пойдет о нематериальной мотивации, которую мы сегодня рассмотрим на примере «медленных программистов» (движение slow programming). Общая суть этого общественного движения в медленном, вдумчивом программировании своего идеального продукта без какихлибо встречных компромиссов. Чаще всего коммерческая разработка плохо или никак не подходит для такого «эстонского» стиля кодирования, поэтому чаще всего человек реализует его за свой собственный счет в рамках домашних «пет-проектов», повторяюсь, избегая любых компромиссов или уступок в ущерб своему чувству перфекционизма.
Думаю, большинство читателей сразу гневно возразят: это слишком ненормально, чтобы быть правдой, — кто так работает в реальном мире? В связи с этим поясняющая цитата от известного в узких кругах программиста-коммуниста Лекса Кравецкого:
По неясной причине в интернетах регулярно проскальзывает мысль в форме «всем известно» на тему «кроме как за деньги, никто качественно свое дело делать не будет».
Вроде посмотришь по сторонам — регулярно же делают. Огромные толпы авторов, например, совершенно за так пишут статьи, стихи, рассказы и не менее за так их раздают направо и налево. Куча народа что-то там рисует, фотит, 3д-моделит, программит и снова за так раздает. Безо всякой тени надежды получить за это деньги. Безо всякой тени надежды, повторюсь, — тут даже намерений нет, не то что контракта. При этом оные товарищи шлифуют ими замостряченное порой до степени, временами и не снившейся товарищам на зарплате. И все из-за чего? Из-за интереса, знамо дело.
Медленное программированиеИтак, популярное на Западе движение cлоулайферов начинает проникать в ИТ, где оно породило свой собственный по отношению к коммерческому мейнстриму контртренд — медленное программирование. Это движение ориентируется не на дедлайны и отношения, выраженные критерием время/извлеченная выгода, а (о черт, далее — ненормативная для бизнес-среды лексика) исключительно на совершенство.
Медленное, вдумчивое программирование, осторожный и минимальный рефакторинг, никаких компромиссов между совестью и представлениями клиента, никаких окриков руководства и бесконечных митингов. Лишь кропотливый поиск максимальной эффективности решения и, конечно же, получение личного кайфа от такого рода медитативного программирования.
Часто происходит так: затянули проект, провалили все сроки, упорно «делали все на совесть», но оказалось, что все не так просто, как предполагали на этапе постановки задачи... Короче говоря, в конце концов всех уволили. Существует огромное количество подобных историй, но сегодня я расскажу лишь одну — про Рона Авицура (Ron Avitzur), программного инженера Apple. Вернее, уже бывшего инженера этой компании, хотя потом они его попытались нанять снова... Но давайте лучше по порядку.
Рон Авицур принимал участие в создании первых версий MacOS. Конкретно Рон отвечал за разработку калькулятора, встроенного теперь в эту ОС, но тогда все находилось еще в зачаточном состоянии. Сроки по созданию нового инновационного визуального калькулятора, концепцию которого, собственно, и разработала группа под руководством самого Рона, постоянно сдвигались.
Концепция была настолько нова, что задача состояла не только в том, чтобы «запрограммировать это», а скорее сводилась к поиску «как это вообще сделать». Творческий процесс программирования и разработки концептуально новых приложений — штука сложная сама по себе, но это вдвойне сложно, когда этот процесс монопольно контролирует менеджмент, нацеленный на жесткие сроки, отчетность, обязательства перед партнерами, прибыль... В общем вы поняли.