Грамотное программирование

Грамотное программирование История и философия грамотного программирования Введено Дональдом Кнутом в 1984 году   Цель: создание программ, понятных людям   Внедрено в […]

Грамотное программирование

  • История и философия грамотного программирования

    • Введено Дональдом Кнутом в 1984 году  
    • Цель: создание программ, понятных людям  
    • Внедрено в Стэнфордском университете  
  • Концепция грамотного программирования

    • Написание логики программы на естественном языке  
    • Использование макросов для сокрытия абстракций  
    • Препроцессор для создания компилируемого кода и документации  
  • Преимущества грамотного программирования

    • Улучшение качества программ  
    • Естественная система документации  
    • Легкость переноса программного обеспечения  
  • Отличие от создания документации

    • Грамотное программирование не ограничивается генерацией документации  
    • Макросы скрывают фрагменты кода, а не наоборот  
  • Рабочий процесс

    • Создание всеобъемлющего документа  
    • Генерация машинного исполняемого кода  
  • Пример грамотного программирования

    • Программа wc literate  
    • Использование макросов для скрытия кода  
    • Запись хода мыслей в процессе написания программы  
  • Замечательные примеры

    • Axiom, система компьютерной алгебры  
    • WEB, первая опубликованная среда программирования  
  • История грамотного программирования

    • Кнут использовал грамотную систему программирования DOC в 1979 году  
    • Вдохновлен идеями Пьера-Арнуля де Марнефа  
  • CWEB и другие реализации

    • CWEB адаптирован для C и C++, работает в большинстве ОС  
    • Создает документацию в формате TeX и PDF  
    • Существуют другие реализации, не имеющие макросов, но позволяющие выполнять код по отдельности  
  • Текстовый редактор Leo

    • Редактор контуров, поддерживает noweb и CWEB  
    • Сочетает идеи грамотного программирования и работы с большими текстами  
    • Включает расширения для программирования схем и управления текстом  
  • Грамотные скрипты и LaTeX

    • Полный исходный текст LaTeX может быть скомпилирован без изменений  
    • Код может быть помечен в стиле Ричарда Берда  
    • Пакет LaTeX listings предоставляет среду lstlisting для оформления кода  
  • Система Web 68 и TEI

    • Использовала Алгол 68, но препроцессор «tang» не использовал этот язык  
    • Механизм настройки TEI позволяет смешивать документацию prose с фрагментами схемы  
    • Парадигма грамотного программирования Кнута вдохновляет на создание схем и конвейеров моделей обработки  
  • Другие инструменты и концепции

    • Генератор документации: документация встраивается в исходный код  
    • Интерфейс ноутбука: среда виртуального ноутбука для грамотного программирования  
    • Sweave и Knitr: инструменты для создания динамических статистических отчетов  
    • Самодокументируемый код: исходный код, который легко понять без документации  

Полный текст статьи:

Грамотное программирование

Оставьте комментарий

Прокрутить вверх