Language oriented programming is a style of computer programming, via metaprogramming in which, rather than solving problems in general-purpose programming languages, the programmer creates one or more domain-specific programming languages for the problem first, and solves the problem in those languages.

PropertyValue
dbpprop:abstract
  • Language oriented programming is a style of computer programming, via metaprogramming in which, rather than solving problems in general-purpose programming languages, the programmer creates one or more domain-specific programming 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 published in Software - Concepts and Tools, Vol.15, No.4, pp 147-161, 1994 and in the article by Sergey Dmitriev entitled Language Oriented Programming: The Next Programming Paradigm. Existing implementations of this concept include: Meta Programming System by JetBrains. XMF by Ceteva. openArchitectureWare. Whole Platform. Microsoft Software Factories. Intentional Software. LayerD. The XL programming language REBOL Lisp macros A book that describes this concept, with examples, is Building Better Applications: a Theory of Efficient Software Development. It 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. See Linguistic Method.
  • 面向语言的程序设计(Language-Oriented Programming,LOP),指一种程序设计范型,通过元编程而非通用编程语言解决问题。程序员首先为问题编写一种或多种领域特定语言,然后再在这些语言中解决问题。这个概念具体描述于Martin Ward题为面向语言编程(英文)的论文和Sergey Dmitriev题为面向语言编程:下一代语言范式(英文)的文章。 这个概念的具体实现包括: Meta Programming System by JetBrains. XMF by Ceteva. openArchitectureWare. Whole Platform. Microsoft Software Factories. Intentional Software. LayerD. The XL programming language 《Building Better Applications: a Theory of Efficient Software Development》通过例子描述了这个概念。它使用用户词汇来获得需求,然后创造一门与用户描述尽可能一致的实现语言,这样从需求到实现的映射会非常直接。判断“一致性”的方法是这门语言的“重复度”,即当需求有一次独立变动时需要做多少次修改操作。它并不假定什么是实现新语言的最好语言,相反,开发者可以通过对信息流的分析做不同选择。请见元语言抽象。
dbpprop:hasPhotoCollection
dbpprop:reference
rdf:type
rdfs:comment
  • Language oriented programming is a style of computer programming, via metaprogramming in which, rather than solving problems in general-purpose programming languages, the programmer creates one or more domain-specific programming languages for the problem first, and solves the problem in those languages.
rdfs:label
  • Language-oriented programming
  • 面向语言的程序设计
owl:sameAs
skos:subject
foaf:page
is dbpprop:redirect of
is owl:sameAs of