Literate Style Unix
Вероятно, некоторые читатели слышали про так называемое «Грамотное программирование» (Literate programming), активно пропагандируемое Дональдом Кнутом. Смысл этого подхода в том, что программа не пишется линейно, как мы привыкли, а создается в порядке размышлений автора. При этом код перемежается с прозой, объясняющей, как этот код работает. Это не то же самое, что хорошо прокомментированный код, ведь «грамотная» программа может использовать довольно высокие уровни абстракции за счет использования механизмов подстановки и сбора кода из отдельных кусочков, раскиданных по всему документу.
Не так много известных программ написаны в этом стиле. Самая знаменитая из них — издательская система TeX, которая используется при верстке большинства научных статей в рецензируемых журналах. Эта система была создана самим Кнутом с использованием WEB — системы программирования на основе языке Pascal, конструкции которого встраиваются в TeX-документ. Тулинг WEB позволяет преобразовать исходный документ в формат, пригодный для печати, и в исходник, который можно скомпилировать в исполняемый файл. Таким образом, это сразу и программа, и книга про устройство программы.
Чего только не найдешь на просторах сети. Например, мы нашли книгу о устройстве учебной Unix-подобной ОС Ulix, которая является еще и полной имплементацией этой системы, ведь она написана в literate style. Это очень подробная и качественно иллюстрированная книга, которая может быть отличным введением в любительскую разработку операционных систем.
Только представьте, если бы большинство современных open source программ писались в таком стиле! Идеальная документация всегда под рукой 🙂
#digest
Post #175
1.42K
- 🔥 9