Data-Driven Programming Paradigm: Difference between revisions
(Created page with "<B>See:</B> Programming Paradigm, Data-Driven Task, Data-Driven Algorithm, Data-Driven System, Learning-based Programming, [[Rules-Driven Programming Paradigm...") |
m (Text replacement - "<P> [[" to "<P> [[") |
||
(28 intermediate revisions by 3 users not shown) | |||
Line 1: | Line 1: | ||
<B>See:</B> [[Programming | A [[Data-Driven Programming Paradigm]] is a [[Programming Paradigm]] were [[program statement]]s describe the [[data to be matched]] and the [[processing required]] rather than defining a sequence of steps to be taken. | ||
* <B>Context:</B> | |||
** It can allow for [[Program Change]]s by editing [[Data Structure]]s (not the [[program code]]). | |||
** … | |||
* <B>Counter-Example(s):</B> | |||
** an [[Object-Oriented Programming Paradigm]] (which focuses on [[encapulation]]). | |||
** a [[Modular Programming Paradigm]]. | |||
** a [[Functional Programming Paradigm]]. | |||
* <B>See:</B> [[AWK]], [[Input Stream]], [[Regular Expression]], [[Event-Driven Programming]], [[Main Loop]], [[Abstract Data Type]], [[Data]], [[Data-Driven Algorithm]], [[Data-Driven Task]], [[Data-Driven System]], [[Learning-based Programming]], [[Rules-Driven Programming Paradigm]], [[Declarative Programming Paradigm]]. | |||
---- | ---- | ||
---- | ---- | ||
=== | == References == | ||
* http://en.wikipedia.org/wiki/Data-driven_programming | |||
** In [[computer programming]], '''data-driven programming | === 2013 === | ||
* (Wikipedia, 2013) ⇒ http://en.wikipedia.org/wiki/Data-driven_programming Retrieved:2013-12-1. | |||
** In [[computer programming]], '''data-driven programming</B> is a [[programming paradigm]] in which the program statements describe the data to be matched and the processing required rather than defining a sequence of steps to be taken.<ref name=awk>{{cite web|url=http://www.ibm.com/developerworks/aix/tutorials/au-gawk/section2.html|title=Get started with GAWK: AWK language fundamentals|last=Stutz|first=Michael|date=September 19, 2006|work=developerWorks|publisher=[[IBM]]|accessdate=2010-10-23|quote=[AWK is] often called a data-driven language -- the program statements describe the input data to match and process rather than a sequence of program steps}} </ref> Standard examples of data-driven languages are the text-processing languages [[sed]] and [[AWK]], where the data is a sequence of lines in a [[input stream]] – these are thus also known as line-oriented languages – and pattern matching is primarily done via [[regular expression]]s or line numbers. Data-driven programming is similar to [[event-driven programming]], in that both are structured as pattern matching and resulting processing, and are usually implemented by a [[main loop]], though they are typically applied to different domains. <P> Adapting [[abstract data type]] design methods to [[object-oriented programming]] results in a data-driven design.<ref name="responsibility">{{cite journal|last1=Wirfs-Brock|first1=R.|last2=Wilkerson |first2=B.|year=1989|title=Object-oriented design: a responsibility-driven approach|journal=Conference Proceedings on Object-Oriented Programming Systems, Languages and Applications|publisher=[[Association for Computing Machinery|ACM]]|location=New York|pages=71–75|doi=10.1145/74877.74885|authorlink1=Rebecca Wirfs-Brock}} </ref> This type of design is sometimes used in object-oriented programming to define classes during the conception of a piece of software. | |||
<references/> | <references/> | ||
=== 2003 === | |||
* (Raymond, 2003) ⇒ Eric Steven Raymond. ([[2003]]). “The Art of Unix Programming.</i>”. Chapter 9 http://www.faqs.org/docs/artu/ch09s01.html ISBN:0131429019 | |||
** QUOTE: … When [[doing data-driven programming]], one clearly distinguishes [[code]] from the [[data structure]]s on which it acts, and designs both so that one can make changes to the [[logic of the program]] by editing not the code but the [[data structure]]. <P> [[Data-Driven Programming Paradigm|Data-driven programming]] is sometimes confused with [[object orientation]], another style in which data organization is supposed to be central. There are at least two differences. One is that in [[Data-Driven Programming Paradigm|data-driven programming]], the data is not merely the state of some object, but actually defines the control flow of the program. Where the primary concern in [[OO]] is [[encapsulation]], the primary concern in [[Data-Driven Programming Paradigm|data-driven programming]] is writing as little [[fixed code]] as possible. [[Unix]] has a stronger tradition of [[Data-Driven Programming Paradigm|data-driven programming]] than of [[OO]]. | |||
---- | ---- | ||
__NOTOC__ | |||
[[Category:Concept]] |
Latest revision as of 01:41, 27 February 2024
A Data-Driven Programming Paradigm is a Programming Paradigm were program statements describe the data to be matched and the processing required rather than defining a sequence of steps to be taken.
- Context:
- It can allow for Program Changes by editing Data Structures (not the program code).
- …
- Counter-Example(s):
- an Object-Oriented Programming Paradigm (which focuses on encapulation).
- a Modular Programming Paradigm.
- a Functional Programming Paradigm.
- See: AWK, Input Stream, Regular Expression, Event-Driven Programming, Main Loop, Abstract Data Type, Data, Data-Driven Algorithm, Data-Driven Task, Data-Driven System, Learning-based Programming, Rules-Driven Programming Paradigm, Declarative Programming Paradigm.
References
2013
- (Wikipedia, 2013) ⇒ http://en.wikipedia.org/wiki/Data-driven_programming Retrieved:2013-12-1.
- In computer programming, data-driven programming is a programming paradigm in which the program statements describe the data to be matched and the processing required rather than defining a sequence of steps to be taken.[1] Standard examples of data-driven languages are the text-processing languages sed and AWK, where the data is a sequence of lines in a input stream – these are thus also known as line-oriented languages – and pattern matching is primarily done via regular expressions or line numbers. Data-driven programming is similar to event-driven programming, in that both are structured as pattern matching and resulting processing, and are usually implemented by a main loop, though they are typically applied to different domains.
Adapting abstract data type design methods to object-oriented programming results in a data-driven design.[2] This type of design is sometimes used in object-oriented programming to define classes during the conception of a piece of software.
- In computer programming, data-driven programming is a programming paradigm in which the program statements describe the data to be matched and the processing required rather than defining a sequence of steps to be taken.[1] Standard examples of data-driven languages are the text-processing languages sed and AWK, where the data is a sequence of lines in a input stream – these are thus also known as line-oriented languages – and pattern matching is primarily done via regular expressions or line numbers. Data-driven programming is similar to event-driven programming, in that both are structured as pattern matching and resulting processing, and are usually implemented by a main loop, though they are typically applied to different domains.
- ↑ Stutz, Michael (September 19, 2006). "Get started with GAWK: AWK language fundamentals". developerWorks. IBM. http://www.ibm.com/developerworks/aix/tutorials/au-gawk/section2.html. Retrieved 2010-10-23. "[AWK is] often called a data-driven language -- the program statements describe the input data to match and process rather than a sequence of program steps"
- ↑ Wirfs-Brock, R.; Wilkerson, B. (1989). "Object-oriented design: a responsibility-driven approach". Conference Proceedings on Object-Oriented Programming Systems, Languages and Applications (New York: ACM): 71–75. doi:10.1145/74877.74885.
2003
- (Raymond, 2003) ⇒ Eric Steven Raymond. (2003). “The Art of Unix Programming.”. Chapter 9 http://www.faqs.org/docs/artu/ch09s01.html ISBN:0131429019
- QUOTE: … When doing data-driven programming, one clearly distinguishes code from the data structures on which it acts, and designs both so that one can make changes to the logic of the program by editing not the code but the data structure.
Data-driven programming is sometimes confused with object orientation, another style in which data organization is supposed to be central. There are at least two differences. One is that in data-driven programming, the data is not merely the state of some object, but actually defines the control flow of the program. Where the primary concern in OO is encapsulation, the primary concern in data-driven programming is writing as little fixed code as possible. Unix has a stronger tradition of data-driven programming than of OO.
- QUOTE: … When doing data-driven programming, one clearly distinguishes code from the data structures on which it acts, and designs both so that one can make changes to the logic of the program by editing not the code but the data structure.