Jump to content

Language-oriented programming

From Wikipedia, the free encyclopedia

This is an old revision of this page, as edited by Jarble (talk | contribs) at 23:13, 27 August 2016 (→‎See also). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

Language-oriented programming (LOP) is a style of computer programming in which, rather than solving problems in general-purpose programming languages, the programmer creates one or more domain-specific languages for the problem first, and solves the problem in those languages. This concept is described in detail in the paper by Martin Ward entitled "Language Oriented Programming",[1] published in Software - Concepts and Tools, Vol.15, No.4, pp 147-161, 1994,[2] and in the article by Sergey Dmitriev entitled "Language Oriented Programming: The Next Programming Paradigm".[3]

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 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.[4]

See also

References

  1. ^ M.P. Ward. "Language Oriented Programing" (PDF). Cse.dmu.ac.uk. Retrieved 24 February 2015.
  2. ^ "dblp: Software - Concepts and Tools, Volume 15". Informatik.uni-trier.de. Retrieved 2015-02-24.
  3. ^ "JetBrains onBoard Online Magazine :: Fabrique - a code generator". Onboard.jetbrains.com. Retrieved 2015-02-24.
  4. ^ Dunlavey (1994). Building Better Applications: a Theory of Efficient Software Development. International Thomson Publishing. ISBN 0-442-01740-5. {{cite book}}: Cite has empty unknown parameter: |chapterurl= (help)