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