Манифест Хакети
Года четыре назад я написал эссе под названием "Затруднение маленького кодера" (The Little Coder's Predicament). Там нет ничего особенного. Существует множество других статей на ту же тему. Основная идея такова: программирование сегодня намного дальше от людей, чем во времена Commodore 64. Кроме того, в моем эссе были перечислены основные требования к новой кросс-платформенной среде прогарммирования для начинающих.
Ссылки на эссе появились на Slashdot'е, Reddit'е, Lambda и т.д. Я получил множество писем от согласных и несогласных. Отлично. Прекрасно. Они все замечательные люди! Тем не менее, ничего не изменилось. Вообще!
Мне говорили о наборе для разработки под Xbox, о возможности программирования каналов Wii. На PlayStation существует свой язык программирования. Ни один из этих примеров не удовлетворяет моим требованиям.
Отступление: нам это важно, но не очень
И все же, почему ничего не происходит? Может быть, наши интерпретаторы и IDE (ыыы...) уже достаточно хороши? Многие писали, что HTML и JavaScript - это и есть новый basic. НЕТ!!! Это несерьезно!!! Писать одновременно на двух языках, которые взаимодействуют и интерпретируются необъяснимым и непостижимым образом? Ну уж нет.
"Hello world" должен быть одной строкой.
По сути, даже загрузка MP3-файла должна быть одной строкой!!
Нам почти все равно, правда? У программистов есть неплохо оплачиваемая работа. Бизнес засасывает их. Посмотрите на наши книги. Посмотрите на программистские сайты. Программирование тесно переплетается с бизнесом. Первый пример при обучении, зачастую, - электронный магазин! Книги стоят ПЯТЬДЕСЯТ ДОЛЛАРОВ!! Черт знает что.
Мой пламенный спич - не о том, что, мол, бизнес - это зло. Конечно, всем нужно кормить семью и водить Ауди.
Я говорю о том, что миру программирования нужно какое-то равновесие. Что ж, придется брать все в свои руки и делать программирование доступным для подростков.
Устав Хакети
Вот правила, которым следует Хакети-Хак:
- Новичка в Хакети-Хаке должен приветствовать персонаж комикса. (Для определенности, назвем его Хакети-мышь.)
- Внятные фразы. Причем - полноценные фразы, оканчивающиеся точкой.
- Хакети-Хак основывается на браузере и языке программирования. На данный момент это Gecko и Ruby.
- Я использую Ruby только потому, что знаю его. Надеюсь, скоро будут добавлены и другие языки!
- Еще раз - дело не в Ruby. Дело в том, чтобы дать простым людям возможность поиграть с кодом.
- IDE - это чудовищно. Новичку нужно нестрашное окно, без всяких деревьев, перемещаемых окошек и панелей инструментов.
- По этим причинам, мы хотим обойтись без файла проекта или мейкфайлов, привязанных к IDE.
- В Хакети-Хак должны быть простые библиотеки для наиболее общих задач.
- Частые задачи должны решаться в одну строку.
- Количество аргументов и опций должно быть минимальным.
- Для Ruby: для более тонких настроек используются блоки.
- Файлы справки просты, коротки, понятны. Много коротких примеров. Никаких фреймов.
- Все запросы на улучшение хороши, но запросам от новичков уделяется больше внимания.
- Хакети-Хак бесплатен и останется бесплатным в будущем.
Кроме этого... все, что делает жизнь Хакети-хакеров легче и веселее, приветствуется и даже необходимо.
