На прошлой неделе умер Билл Аткинсон, один из ключевых программистов ранней Apple, создатель HyperCard.

Тот самый чувак, который запрограммировал возможность окон у макинтошей перекрывать друг друга, потому что ему показалось, что он видел такую возможность во время встречи в Xerox PARC. Инженеры Xerox признались потом, что им и в голову не пришло такое программировать: слишком сложно!

Ещё он разработал алгоритм дизеринга Аткинсона, чтобы рисовать картинки на черно-белых экранах маков того времени.

HyperCard позволял создать программу абсолютно любому человеку. Это было похоже на создание презентаций в PowerPoint: сначала ты накидываешь визуальные элементы на карточки, экраны приложения. Дальше, с помощью языка программирования, похожего на обычный английский язык, задаёшь логику действий. Программы создавали люди, далёкие от программирования.

Это был один из первых в мире инструментов визуальной, low code разработки. Создатель веба Тим Бернс Ли говорил, что вдохновлялся ссылками в нем.

Меня же занимает вот какой аспект HyperCard: в нём не было специального режима редактирования программ. Любой пользователь мог одним нажатием мыши стать разработчиком и создателем. Любой мог посмотреть, что находится под капотом, и внести изменения в ту программу, которой пользовался.

Сегодня мы пользуемся программами, которыми даже не владеем, мы платим за подписку и можем потерять доступ к привычной функциональности из-за санкций, закрытия компании или просто из-за того, что у разработчика теперь другие приоритеты (Google Reader?).

Ситуация, в которой ты можешь внести изменения в программу, которой пользуешься, — прямая противоположность.

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

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

Есть целые экосистемы, построенные на идее расширяемых и редактируемых программ, обычно на основе Lisp-подобных, «интерактивных» языков.

Это отдельная, сегодня малопопулярная ветка технологического развития. Интересно представить, какими были бы компьютеры, пойди мы по этому пути. Эдакий компьютерный стимпанк.

Это, кстати, одно из обещаний энтузиастов ИИ: что, мол, с развитием средств автоматизированного программирования мы перестанем платить за программное обеспечение. Каждый будет создавать его под себя с использованием искусственного интеллекта. Я в этом мало верю. Хотя, было бы очень интересно.

Ну а пока, если хотите сделать классный софт под себя, — нанимайте нас! ;)

Дополнительные материалы:

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