Все уже придумано до нас, причем не кем-нибудь, а Кнутом. Почитайте про literate programming.
Прочитал статью “Грамотное программирование”
http://itc.ua/articles/_gramotnoe_progr ... anie_9950/Выделю три цитаты:
Цитата:
Как и всякая методология, ЛП обладает массой специфических недостатков. Их можно характеризовать "часто высказываемыми возмущениями" (ЧВВ) в тематических сетевых конференциях: реализации слишком сложны, реализации недостаточно функциональны, с имеющимися реализациями трудно отлаживать программы и организовать коллективную разработку, реализации не поддерживают используемый нами язык программирования
Цитата:
Поразительно и то, что во всем изобилии материалов, посвященных ЛП (а их действительно много), до сих пор не была усмотрена напрашивающаяся аналогия между сочетанием "фрагмент псевдоязыка — фрагмент-"реализация" и… структурами, используемыми для описания знаний, в первую очередь, с фреймами. Уже упоминавшийся ранее в весьма странном контексте термин "адрес" в данном случае получает ясное толкование: объекты ЛП-программы — фрагменты псевдоязыка — могут адресовать другие объекты и при этом включать дополнительные описания фрагментов реальных программ.
Идеально соответствующая фреймовому представлению знаний картина, позволяющая говорить об ЛП-программе как о высокоуровневой базе знаний. Качество содержимого этой базы, естественно, определяется качеством работы создателей программы, и в этом плане ЛП как методология не способна привести ни к каким принципиальным улучшениям (опять же, как и любая методология вообще). А вот сама фреймовая модель открывает весьма неожиданные и привлекательные перспективы, связанные, в первую очередь, с коллективной разработкой программ и повторным использованием кода.
Существующие отработанные реализации распределенных фреймовых баз знаний (например, система FramerD), по идее, позволяют создавать громадные репозитории ЛП-программ, находить подходящие для повторного использования фрагменты ЛП-кода, организовывать управление и совместную
работу тысяч программистов над одним проектом.
Цитата:
Развития функциональности ЛП, скорее всего, не было вообще — после Д. Кнута то ли никто не осмелился что-либо улучшить в идеях мастера, то ли эти идеи не столь сильно овладели умами… Хотя целый ряд усовершенствований напрашивается сам собой — сочетание ЛП-систем и систем статической проверки программ, генерация высокоуровневых спецификаций на основе ЛП-кода, построение гибридных систем класса "ЛП — формальный язык описания, пригодный к верификации".
Хотя, до сих пор не понимаю, почему не посмотрел книгу про TeX. Но, рядом стояла другая большая - по SADT