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

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

Интересно, сегодня вы как-то принимаете участие в разработке WinAmp? Общаетесь ли вы с текущим лидером проекта WinAmp Беном «Benski» Эллисоном?

Нет, вообще не в курсе, чем они там занимаются. С Беном как-то пару раз пересекались, кроме обмена обычным «привет», никак не общались. Уже пару лет как я полностью с головой ушел в свой новый проект REAPER.

О’кей, перевернули страницу истории, WinAmp остался позади. Что можете сказать о вашей сегодняшней ведущей разработке REAPER? Чем она особенна среди подобных? И вообще, почему люди пишут новые программы, когда изначально существуют уже подобные аналоги?

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

Знакомая для любого программиста фраза, не правда ли? Именно так все и начинается.

Но конечно, с тех пор программа очень сильно выросла и разрослась, возможно, это во многом субъективно, но я вижу ее основные отличия от многочисленных конкурентов в следующем: 

• очень продвинутый уровень пользовательской кастомизации программы (возможность создания своих тем, меню, шаблонов, значений по умолчанию и т. д.); 

• отсутствие защиты от копирования и взлома, полностью функциональная демоверсия, что для меня очень важно; 

• очень гибкая и продуманная открытая архитектура для сторонних плагинов — любой желающий может расширить любую подсистему программы, добавив в нее новую функциональность, новый формат или сферу приложения; 

• я также стараюсь очень часто обновлять программу, непрерывно работая над ней.

По всему тому обилию программ, которые мне приходилось видеть и писать за свою жизнь, я берусь судить, что REAPER — понастоящему качественно спроектированная и реализованная программа.

Насколько она коммерчески успешна?

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

* * *

Джастин Франкель вспоминает, как, будучи 16-летним подростком, как-то участвовал в летней олимпиаде по программированию в родном университете Северной Аризоны. Было так скучно, что просто для веселья Джастин решил прямо там, не теряя времени, написать программу типа Fork bomb, которая, будучи запущенной, сразу создавала свой клон, который также мгновенно запускался, повторяя все это снова в цикле: конечно, уже через минуту ее работы компьютер намертво зависал, никак не реагируя на клавиатуру. Тогда он пересаживался вверх по аудитории, запуская эту программу на новых компьютерах, пока группа администраторов пыталась понять, постепенно следуя за ним, что же происходит с компьютерами в лаборатории…

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

Заваливание системы
Перейти на страницу:

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

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

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

Чед Фаулер

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

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