Обложка канала

Sea++

Канал об интересных материалах из мира C/C++, Python, Go, Linux и не только. Новости, заметки, полезные советы и многое другое.

Sea++

8 лет назад
Открыть в
Алан Кей и STEPS

English version: https://telegra.ph/Alan-Kay-and-STEPS-07-04

Алан Кей, автор SmallTalk, создает экспериментальную систему STEPS (рекурсивный акроним STEPS Toward Expressive Programming Systems), которая способна заменить ОС. Кодовое название системы – Frank. Причем, это не просто ядро операционной системы вроде Minix, а полноценно функционирующая среда с графической оболочкой, просмотром и редактированием документов и т.д.

Принципиально, что весь исходный код должен уложиться в 20'000 строк кода. Для сравнения Windows NT 3.1 занимал 4-5 миллионов строк кода, ядро Linux 2.6.0 – 5.2 миллиона. Все это примерно 18 тысяч книг. Понятно, что никто в принципе не способен не то чтобы осознать, а хотя бы все прочитать. Но если уместить весь исходный код сложной системы в одной книге, то все становится сильно проще.

Как же все уместить в двадцать тысяч строк? Ответ: метапрограммирование и DSL (предметно-ориентированные языки). С помощью объектно-ориентированного языка OMeta, языка исполняемой математики Nile и низкоуровневого языка Nothing и достигается краткость кода. К примеру, реализация TCP/IP занимает всего 160 строк.

Интересная концепция: довести модульность до абсолютного уровня. Жаль, что это пока исследовательский проект.

http://www.vpri.org/pdf/tr2011004_steps11.pdf