Metalinguistic abstraction
|
In computer science, metalinguistic abstraction is the process of solving complex problems by creating a new language or vocabulary to better understand the problem space. It is a recurring theme in the seminal MIT textbook, the Structure and Interpretation of Computer Programs, which uses Scheme as a framework for constructing new languages.
For example, consider modelling an airport inside a computer. A procedural programmer would use C to create data structures such as Aircraft, Gate, LuggageLoader etc., and would define functions such as loadAircraft() to operate on those data structures. An object-oriented programmer using C++ would create objects and methods. A metalinguistic programmer takes this to the next level by creating a totally new language for modelling an airport with its own primitives and operations.