Language-oriented programming (LOP) is a software-development paradigm where "language" is a software building block with the same status as objects, modules and components, and rather than solving problems in general-purpose programming languages, the programmer creates one or more domain-specific languages (DSLs) for the problem first, and solves the problem in those languages. Language-oriented programming was first described in detail in Martin Ward's 1994 paper Language Oriented Programming.
Development
The Racket programming language and RascalMPL were designed to support language-oriented programming from the ground up. tools such as JetBrains MPS, Kermeta, or Xtext provide the tools to design and implement DSLs and language-oriented programming.
See also
- Grammar-oriented programming
- Dialecting
- Domain-specific language
- Extensible programming
References
External links
- Language Oriented Programming: The Next Programming Paradigm Sergey Dmitriev's paper that further explored the topic.
- 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.
- Language Oriented Programming in MetaLisp Gyuri Lajos's thesis 1992 University of Leeds The system used the very same Top Down Parsing Language algorithm that powered Tree-Meta
