Программирование потоком данных

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

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

Функциональная
Чистая функциональная
Аппликативная
Комбинаторная
Основанная на продолжениях
В терминах Рефал-машины
Логическая
Ограничениями
Потоком данных

 • Метапрограммирование

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

 • Параллельная
 • Событийно-ориентированная

Реактивная
Сервис-ориентированная
 • Автоматная
п·о·р

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

Операторы программы могут описывать подходящие данные и правила их обработки, а не последовательность предпринимаемых шагов.[3] Применение методов конструирования абстрактных типов данных в объектно-ориентированном программировании приводит к архитектуре, управляемой данными.[4] Этот тип архитектуры используется в объектно-ориентированном программировании для определения классов в рамках концепции частей программного обеспечения. Программирование потоком данных приводит к плохому объектно-ориентированному проектированию, в то время как проектирование на базе ответственности считается лучшим подходом.[4]

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

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

  1. Raymond, 2003
  2. Ganz, 2003
  3. 1 2 Stutz, Michael Get started with GAWK: AWK language fundamentals. developerWorks. IBM (September 19, 2006). — «[AWK] часто называют языком, управляемым данными -- операторы программы описывают подходящие входные данные и их обработку, а не последовательность шагов программы»  Проверено 23 октября 2010. Архивировано из первоисточника 2 сентября 2012.
  4. 1 2 (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.