The concept of Languagelanguage Orientedoriented Programmingprogramming takes the approach to capture requirements in the user's terms, and then to try to create an implementation language as [[isomorphism|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.<ref>{{cite book