Saturday, 23 June 2012

What is Language Oriented Programming


In his book, Martin Fowler defines the LOP as follows.
“The general style of software development which operates about the idea of building software around a set of domain specific languages” (Fowler, 2010)
“Language oriented programming is about describing the system through multiple DSLs.” (Fowler, 2010)
As discussed, a DSL is used to specify a particular aspect of the software system. But a real software system has multiple overlapping aspects associated with it. That’s why this is a new software development paradigm suggests the use of multiple integrated set of DSLs to fully describing a software system. In contrast to the GPLs, the DSLs specify the different aspects of the software system at much higher level of abstraction. Thus the resultant software specifications are very much easier to code for the programmers and very much easy to understand by the domain experts. This minimizes the communication gap between programmers and domain experts and helps resolve worst bottleneck that some of the main reasons behind the software failure. This style of development promises the order of magnitude improvement in software quality and productivity. Traditionally we have been doing LOP in the bits and pieces to get stuff done in the form of Unix little languages, lisp macros, active data models, adaptive object models, XML configuration files and GUI builders. (Fowler, 2010)

No comments:

Post a Comment