Dr.Explain - программа для создания help-файлов и руководств
пользователя в PDF, CHM, RTF и HTML
Форум технических писателей Архив файлов для технического писателя Разработка технической, программной документации на программное обеспечение Курсы технических писателей


Удаленная работа для технических писателей!

Литературное программирование


Литературное Программирование или (английский термин намеренно двусмыслен) Грамотное программирование (англ. Literate Programming) — концепция, методология программирования и документирования. Термин и саму концепцию разработал Дональд Кнут в 1981 году при разработке системы компьютерной вёрстки TeX.

Возможно, что самый простой способ понять ЛП - это вспомнить объяснения в курсах программирования, написанные фразами на "псевдокоде" на "человеческом языке". Они понятны, когда сам код труден, и скрывают под одной фразой-"оператором" возможно множество других вложенных абстракций и/или программого кода на непосредственно машинном языке.

Л.П. в каком-то смысле есть "программирование на псевдокоде" произвольными фразами, которые затем раскрываются как точные макро с помощью простой utility из файла-текста, который включает в себя одновременно документированные текстовые объяснения концепций, и сам код и псевдокод.

Вкратце, смысл подхода в том, что:

ЛП есть цельный мета-подход к написанию программ, т.е. "парадигма", применимая на мета-уровне к любой (процедурно, функциональной, декларативной, объектно-ориентированной) машинной программе на любом машинном языке.
ЛП есть система макро, создаваемая из фраз на обычном человеческом, которые становятся как бы "метаязыком" над конкретным языком программирования. Пользование этими фразами подобно объяснению алгоритмов на "псевдокоде", но в случае ЛП они становятся точными "новыми операторами" метаязыка.
Программа и документация более не пишутся как машинный код с примечаниями. Само конструирование программы идет в порядке, определяемой логикой мысли (или объяснений), где макро на 'псевдокоде' играют роль абстракций (над абстракциями и/или кодом), для ясности мысли. Т. е. меняется кардинально порядок следования в программе, он не машинный, а тот, который требует логика.
Технически ЛП делается с помощью маленькой utility, которая одной командой запускает пре-процессор, раскрывает все макро и "спутывает", "запутывает" ("tangle") логическое изложение в машинный код, который потом можно компилировать или запускать (если подлежащий язык скрипт) как обычно. Другая команда создает ("сплетает", "weave") из этого общего для программы и объяснений файла сформатированную документацию (для печати, веба и т. д.)
Другими словами программа мыслится не как иерархия, top-down или bottom-up, но как "взаимозависимая сеть концепций" (отсюда название первой системы ЛП её автором, Дональдом Кнутом, "Web") и создается как "поток мысли", проходящий по этой сети в связном, логичном виде, что внешне делает форму описания похожей на литературное эссе. Программист в общем отказывается от привязки к предписанному машиной порядку.


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


Ошибочные представления: Система Л.П., которую Кнут предлагал как альтернативу "структурному программированию" 1970х несмотря на доказанную эффективность мало распространена из-за непонимания: многие думают, что ЛП лишь система документирования, или система форматирования обычных комментариев, или что очень разговорчивые комментарии создают Л. Программу. На самом деле программа практически без комментариев может быть ЛП, равно как и болтливые примечания сами по себе не создают ЛП-подхода.

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

Так, абсолютно неверно считать Л.П.-программированием использование систем документирования интерфейсов вроде JavaDoc, doxygen, DOC++, autoduck, POD.

Материал из Википедии

05.02.2009, 44 просмотра.

Атрибуты элемента инфосистемы

Автор
E-mail


Курсы технических
писателей


Разработка
контента для сайта


Разработка
технической
документации

"Говорящие"
техписы


Идем на Форум!

Новости

02.12.2011 13:06:01

20 декабря 2011 года Курсы для технических писателей в Москве

20 декабря 2011 года в Москве пройдет последний в этом году обучающий курс для технических писателей:"Профессия: Технический писатель. Разработка технической документации от А до Я".

Программу курса и порядок регистрации на семинар вы можете посмотреть здесь

RSS
Архив "Новости"

Биосфера для техписа

 Что окружает технического писателя, вдали от ТЗ, ГОСТов, Help. Какие существуют сообщества авторов в окружающем мире?...

18.04.2011 12:15:13

Как полгода пользоваться MS Office 2010 бесплатно?

Недавно корпорация Microsoft объявила о начале продаж нового пакета программ Office 2010 по всему миру, включая Россию и страны СНГ. Эксперты очень высоко оценивают новые возможности хорошо знакомых программ Word и Excel, но пока сомневаются в том, что они подвигнут бизнес и население к массовому отказу от старых версий. Многие пользователи так и не перешли с версии 2003 на 2007 офиса.

18.03.2010 18:39:39

Текст по правилам

Программа предназначена для форматирования текстовых документов по задаваемым правилам.

20.10.2009 16:17:35

Конференция Поддержки Пользователей в Кардиффе

Очень давно хотела попасть на эту конференцию. Но как-то все не складывалось. Но вот в этом году мне повезло! Мало того, что компания в которой я работаю оплатила мне эту поездку, так еще и конференция проходила в Англии, куда я давно хотела попасть. К слову, каждый год конференция проходит в разных городах Европы и один раз в год такая же конференция проходит в Америке.

конференции технических писателей

RSS
Архив "Биосфера для техписа"
Copyright © 2005-2012 ООО "Инфоком"

Сайт технических писателей

По всем вопросам обращайтесь в TechWriters.ru

Адрес: 107996, Москва, К-31, ГСП-6, Кузнецкий мост, 12, Государственная публичная научно-техническая библиотека России.

Телефон: все контакты до 1 марта 2012 осуществляются только по e-mail: info @techwriters.ru (без пробелов)

О возможных ошибках на сайте сообщайте admin @ techwriters.ru. Спасибо.

CMS

РЕКЛАМА Обслуживание компьютерная помощь. Качественный ремонт компьютера. . замена северного моста . файл торренты

Курсы. Семинары. Тренинги.