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 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.
what information is acquired, what its structure is, when it is acquired, from whom, and what is done with it.
言語指向プログラミング(LOP)とは汎用されるプログラミング言語で問題解決するというよりも、プログラマーはある問題に対して、まず1つかそれ以上のドメインに特化したに言語を作成し、その言語の中で解決策を講じるコンピュータープログラミングのスタイルです。このコンセプトは1994年にMartin Ward著「Software - Concepts and Tools(ソフトウェア コンセプトとツール)誌」Vol.15、No.4・147~161頁に掲載された「Language Oriented Programming(言語志向プログラミング」と題する記事並びに
Sergey Dmitriev著「Language Oriented Programming: The Next Programming Paradigm(言語志向プログラミング:次なるプログラミングパラダイム)と題する記事に詳細が説明されています。
どのような情報が獲得されるのか、それはどのような構造なのか、いつ誰から獲得されるのか、それによって何が行なわれるのか
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 —[1]
言語志向プログラミングのコンセプトは、要件と実装の間のマッピングができるだけ直接的になるよう、ユーザーの言葉の要件を汲み取り、ユーザーの表現とできるだけ同一構造の実装言語を作成しようというものです。この同一構造の近接性の尺度が、言語の「冗長性」で、要件の中に単独型の変化を導入することが必要な編集操作の数として定義されています。新しい言語を導入するのに最適な言語は何かということは事前に想定されていません。むしろディベロッパーは情報フロー解析によって作られたオプションの中から選ぶことができます—[1]