Программирование, управляемое данными

Материал из Википедии — свободной энциклопедии
Перейти к: навигация, поиск
Парадигмы программирования
 • Императивная
(контрастирует с декларативной)
Процедурная
Структурная
Аспектно-ориентированная
Объектно-ориентированная
Агентно-ориентированная
Компонентно-ориентированная
Прототипно-ориентированная
Обобщённое программирование

 • Декларативная
(контрастирует с императивной)

Чистота языка
Чистота функции
Функциональная
В терминах Рефал-машины
Аппликативная
Комбинаторная
Бесточечная[en]
(чистая конкатенативная)
Логическая
Ограничениями

 • Конкатенативная
 • Векторная[en]
 • Метапрограммирование

Языково-ориентированная
Предметно-ориентированная
Пользователями[en]
Автоматизация процесса программирования
Рефлексивность
Гомоиконность[en]

 • Связанные темы

Программирование в крупном и мелком масштабе[en]
Модульность
Полиморфизм
Продолжения и CPS[en]*
Параллелизм и конкурентность

 • Методы и алгоритмы

Автоматное
Динамическое
Потоков данных
Событийно-ориентированное
Реактивное
Сервис-ориентированное

Программирование, управляемое данными[1] (англ. data-driven programming) представляет собой метод или даже парадигму программирования, при котором программный код, хотя и отделён от входных данных, но спроектирован таким образом, что логика программы определяется входными данными[2]. В программе, управляемой данными, часть или даже все её свойства устанавливаются во время выполнения, что особенно важно, если программа составляется пользователем или должна им изменяться без перекомпиляции[3].

Операторы программы могут описывать образцы (шаблоны) данных и соответствующие им правила обработки, а не конкретную последовательность предпринимаемых шагов, как это происходит в языке AWK.[4]

Близкие методологии[править | править вики-текст]

Применение методов конструирования абстрактных типов данных в объектно-ориентированном программировании приводит к архитектуре, управляемой данными.[5]

Языки программирования для потоков данных[править | править вики-текст]

Примечания[править | править вики-текст]

  1. Мир Лиспа, 1990.
  2. Raymond, 2003.
  3. Ganz, 2003.
  4. 1 2 Stutz, Michael Get started with GAWK: AWK language fundamentals. developerWorks. IBM (September 19, 2006). Проверено 23 октября 2010. Архивировано из первоисточника 2 сентября 2012.
  5. (1989) «Object-oriented design: a responsibility-driven approach». Conference Proceedings on Object-Oriented Programming Systems, Languages and Applications (ACM): 71–75. DOI:10.1145/74877.74885.

Литература[править | править вики-текст]

  • Raymond, Eric Steven. 9.1 Data-Driven Programming // The Art of UNIX Programming. — Addison-Wesley, 2003. — 560 p. — ISBN 978-0131429017.
  • Ganz, C. Real World Enterprise Reports Using VB6 And VB .NET. — Apress, 2003. — P. 77-79. — 696 p. — ISBN 9781430207702.
  • Charniak, E. and Riesbeck, C.K. and McDermott, D.V. and Meehan, J.R. Data-Driven Programming and Other Programming Techniques // Artificial Intelligence Programming. — Taylor & Francis, 2013. — 554 p. — ISBN 9781317767992.
  • Sangal, R. Part 4 Data-Driven Programming // Programming paradigms in LISP. — McGraw-Hill, 1991. — 292 p. — ISBN 9780070546660.
  • Хювёнен Э., Сеппянен Й. Мир Лиспа. В 2-х т. / Пер. с финск.. — М.: Мир, 1990. — Т. 1. — С. 49-50,244. — ISBN 5-03-001935-9.

Ссылки[править | править вики-текст]