Content deleted Content added
Fixed typo. |
m Open access bot: url-access updated in citation with #oabot. |
||
(24 intermediate revisions by 20 users not shown) | |||
Line 1:
'''Language-oriented programming''' ('''LOP''')<ref name="lop">{{multiref2|{{cite journal <!-- Citation bot no --> |last1=Ward |first1=Martin |title=Language-Oriented Programming |journal=Software - Concepts and Tools |date=1994 |volume=15 |issue=4 |pages=147–161
{{Programming paradigms}}▼
|url=https://citeseerx.ist.psu.edu/document?repid=rep1&type=pdf&doi=825a90a7eaebd7082d883b198e1a218295e0ed3b
'''Language-oriented programming'''('''LOP''')<ref name="lop">{{cite journal |last1=Ward |first1=Martin |title=Language Oriented Programming |journal=Software - Concepts and Tools |date=1994 |volume=15 |issue=4 |pages=147-161 |doi=10.1007/978-1-4302-2390-0_12 |url=http://www.gkc.org.uk/martin/papers/middle-out-t.pdf |accessdate=15 May 2019}}</ref> is a software-development paradigm where "language" is a software building block with the same status as objects, modules and components<ref>{{cite journal |last1=Felleisen |first1=Matthias |last2=Findler |first2=Robert Bruce |last3=Flatt |first3=Matthew |last4=Krishnamurthi |first4=Shriram |last5=Barzilay |first5=Eli |last6=McCarthy |first6=Jay |last7=Tobin-Hochstadt |first7=Sam |title=A Programmable Programming Language |journal=Communications of the ACM |date=March 2018 |volume=61 |issue=3 |pages=62-71 |doi=10.1145/3127323 |url=https://cacm.acm.org/magazines/2018/3/225475-a-programmable-programming-language/fulltext |accessdate=15 May 2019}}</ref>, and 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. Language-oriented programming was first described in detail in Martin Wards 1994 paper ''Language Oriented Programming''<ref name="lop" />, published in ''Software - Concepts and Tools'', Vol.15, No.4, pp 147-161, 1994.▼
|access-date=15 May 2019}}|{{cite book | first= Robert | last= Pickering | title= Beginning F# |chapter=Language-Oriented Programming
▲
==Concept==
Line 7 ⟶ 9:
|year = 1994
|title = Building Better Applications: a Theory of Efficient Software Development
|publisher = [[International Thomson Publishing]]
|isbn = 0-442-01740-5
}}</ref>
==Development==
==See also==
Line 25 ⟶ 22:
* [[Domain-specific language]]
* [[Extensible programming]]
==References==
Line 33 ⟶ 28:
==External links==
* [http://www.onboard.jetbrains.com/articles/04/10/lop/ Language Oriented Programming: The Next Programming Paradigm] Sergey Dmitriev's paper that further explored the topic.
* [https://link.springer.com/chapter/10.1007/978-3-319-02654-1_11 The State of the Art in Language Workbenches. Conclusions from the Language Workbench Challenge.] In: Proceedings of the 6th International Conference on Software Language Engineering (SLE'13). 2013.
*[https://www.researchgate.net/publication/322499807_Language_Oriented_Programming_in_Meta-Lisp Language Oriented Programming in MetaLisp] Gyuri Lajos's [https://leeds.primo.exlibrisgroup.com/discovery/fulldisplay?docid=alma991002968069705181&context=L&vid=44LEE_INST:VU1&lang=en&search_scope=My_Inst_CI_not_ebsco&adaptor=Local%20Search%20Engine&tab=AlmostEverything&query=any,contains,language%20oriented%20programming&facet=rtype,include,dissertations thesis 1992 University of Leeds] The system used the very same Top Down Parsing Language algorithm that powered [[TREE-META|Tree-Meta]]
▲{{Programming paradigms navbox}}
[[Category:Programming paradigms]]
|