Манифест Хакети

Года четыре назад я написал эссе под названием "Затруднение маленького кодера" (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: для более тонких настроек используются блоки.
  • Файлы справки просты, коротки, понятны. Много коротких примеров. Никаких фреймов.
  • Все запросы на улучшение хороши, но запросам от новичков уделяется больше внимания.
  • Хакети-Хак бесплатен и останется бесплатным в будущем.

Кроме этого... все, что делает жизнь Хакети-хакеров легче и веселее, приветствуется и даже необходимо.