Language-oriented programming: Difference between revisions

Content deleted Content added
Ceefour (talk | contribs)
No edit summary
Moved citation to References section
Line 3:
and in the article by Sergey Dmitriev entitled [http://www.onboard.jetbrains.com/articles/04/10/lop/ Language Oriented Programming: The Next Programming Paradigm].
 
Examples of the existingExisting implementations of this concept include:
* [http://www.jetbrains.com/mps/ Meta Programming System] by [[JetBrains]].
* [http://www.openarchitectureware.org/ openArchitectureWare].
Line 10:
* [http://www.intentsoft.com/ Intentional Software].
 
A book that describes this concept, with examples, is: Dunlavey, "''Building Better Applications: a Theory of Efficient Software Development"''.<ref>Dunlavey [[International1994.</ref> Thomson Publishing]] ISBN 0-442-01740-5, 1994. In this book the approach taken is 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 an 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, results in options from which the developer can choose. See [[Linguistic Method]].
 
== See also ==
* [[Model Driven Engineering]]
* [[Domain Specific Language]]s
* [[Aspect-oriented programming]]
* [[Generative programming]]
* [[Intentional Programming]]
* [[Code generation]]
* [[Dialecting]]
* [[Metalinguistic abstraction]]
* [[Linguistic Method]]
 
==External linksReferences ==
<div class="references-small">
*[http://www.ucalc.com/langbuilder.html uCalc Language Builder]
* {{cite book
*[http://www.cse.dmu.ac.uk/~mward/martin/papers/middle-out-t.pdf Language Oriented Programming]
|author = Dunlavey
*[http://www.cse.dmu.ac.uk/~mward/martin/papers/ Papers by Martin Ward]
|year = 1994
*[http://www.onboard.jetbrains.com/articles/04/10/lop/ Language Oriented Programming: The Next Programming Paradigm]
|title = Building Better Applications: a Theory of Efficient Software Development
*[http://www.sergeydmitriev.com/ Sergey Dmitriev's personal homepage]
|url =
*[http://www.jetbrains.com/mps The Meta-Programming System]
|chapter =
*[http://www.martinfowler.com/articles/languageWorkbench.html http://www.martinfowler.com/articles/languageWorkbench.html]
|chapterurl =
*[http://msdn.microsoft.com/architecture/overview/softwarefactories/ http://msdn.microsoft.com/architecture/overview/softwarefactories/]
|pages =
*[http://osl.iu.edu/~tveldhui/papers/dagstuhl1998/ http://osl.iu.edu/~tveldhui/papers/dagstuhl1998/]
|publisher = [[International Thomson Publishing]]
*[http://research.microsoft.com/research/pubs/view.aspx?tr_id=4 http://research.microsoft.com/research/pubs/view.aspx?tr_id=4]
|isbn = 0-442-01740-5
*[http://www.intentsoft.com/ http://www.intentsoft.com/]
|accessdate =
*[http://oozy.blogspot.com/ http://oozy.blogspot.com/]
}}</cite>
*[http://lambda-the-ultimate.org/node/377 http://lambda-the-ultimate.org/node/377]
</div>
*[http://www.paulgraham.com/onlisp.html http://www.paulgraham.com/onlisp.html]
*[http://fragmental.tw/research-on-dsls/language-oriented-programming-lop/ Language Oriented Programming (LOP)]
 
== External links ==
* [http://www.ucalc.com/langbuilder.html uCalc Language Builder]
* [http://www.cse.dmu.ac.uk/~mward/martin/papers/middle-out-t.pdf Language Oriented Programming]
* [http://www.cse.dmu.ac.uk/~mward/martin/papers/ Papers by Martin Ward]
* [http://www.onboard.jetbrains.com/articles/04/10/lop/ Language Oriented Programming: The Next Programming Paradigm]
* [http://www.sergeydmitriev.com/ Sergey Dmitriev's personal homepage]
* [http://www.jetbrains.com/mps The Meta-Programming System]
* [http://www.martinfowler.com/articles/languageWorkbench.html http://www.martinfowler.com/articles/languageWorkbench.html]
* [http://msdn.microsoft.com/architecture/overview/softwarefactories/ http://msdn.microsoft.com/architecture/overview/softwarefactories/]
* [http://osl.iu.edu/~tveldhui/papers/dagstuhl1998/ http://osl.iu.edu/~tveldhui/papers/dagstuhl1998/]
* [http://research.microsoft.com/research/pubs/view.aspx?tr_id=4 http://research.microsoft.com/research/pubs/view.aspx?tr_id=4]
* [http://www.intentsoft.com/ http://www.intentsoft.com/]
* [http://oozy.blogspot.com/ http://oozy.blogspot.com/]
* [http://lambda-the-ultimate.org/node/377 http://lambda-the-ultimate.org/node/377]
* [http://www.paulgraham.com/onlisp.html http://www.paulgraham.com/onlisp.html]
* [http://fragmental.tw/research-on-dsls/language-oriented-programming-lop/ Language Oriented Programming (LOP)]
 
[[Category:Programming paradigms]]