Language-oriented programming: Difference between revisions

Content deleted Content added
FrescoBot (talk | contribs)
m hyphenation
Line 2:
{{Programming paradigms}}
 
'''Language -oriented programming''' ('''LOP''') is a style of [[computer]] [[Computer programming|programming]] in which, rather than solving problems in [[general-purpose programming language]]s, the programmer creates one or more [[___domain-specific language]]s for the problem first, and solves the problem in those languages. This concept is described in detail in the paper by Martin Ward entitled
[http://www.cse.dmu.ac.uk/~mward/martin/papers/middle-out-t.pdf Language Oriented Programming] published in [http://www.informatik.uni-trier.de/~ley/db/journals/stp/stp15.html Software - Concepts and Tools, Vol.15, No.4, pp 147-161, 1994]
and in the article by Sergey Dmitriev entitled [http://www.onboard.jetbrains.com/articles/04/10/lop/ Language Oriented Programming: The Next Programming Paradigm].
 
==Concept==
The concept of language -oriented programming takes the approach to capture requirements in the user's terms, and then to try to create an implementation language as [[isomorphism|isomorphic]] as possible to the user's descriptions, so that the mapping between requirements and implementation is as direct as possible. A measure of the closeness of this isomorphism is the "redundancy" of the language, defined as the number of editing operations needed to implement a stand-alone change in requirements. It is not assumed ''a-priori'' what is the best language for implementing the new language. Rather, the developer can choose among options created by analysis of the information flows — what information is acquired, what its structure is, when it is acquired, from whom, and what is done with it.<ref>{{cite book
|author = Dunlavey
|year = 1994