Software environments are typically based on a single programming paradigm, such as ontologies, functions, objects, or concurrency. This can limit what developers can represent and how elegant their solutions can be, so today's applications usually involve mixing and matching languages, platforms, and paradigms. However, cross-mapping multiple paradigms and platforms generates an impedance mismatch that increases a solution's complexity. Metaprogramming supports a lightweight process to incorporate different programming paradigms in a single development environment that's suitable for small development teams.
Published in:
Software, IEEE
(Volume:27
,
Issue:
5
)
Date of Publication: Sept.-Oct. 2010