A Comparative Case Study of Code Reuse With Language Oriented Programming
There is a gap between the ability to reuse high-level concepts in software design and the ability to reuse the code implementing them. Language Oriented Programming (LOP) is a software development paradigm that aims to close this gap, through extensive use of Domain Specific Languages (DSLs). With LOP, the high-level reusable concepts become reusable DSL constructs, and their translation into code level concepts is done in the DSL implementation. Particular products are implemented using DSL code, thus reusing only high-level concepts. In this paper the authors provide a comparison between two implementation approaches for LOP: using external DSLs with a projectional language workbench (MPS); and using internal DSLs with an LOP language (Cedalion).