A C++ Language Workbench

Gavin Wood. A C++ Language Workbench. January 2010.

Abstract

Language-orientated programming promises to elevate programmer productivity through increased abstrac-
tion capabilities. Structural programming environments provide apparatus to reduce the difficulties with syntax. The
language workbench, a conceptual combination of the two approaches, is a comparatively novel approach to software
development and has so far been attempted in dynamic-dispatch, run-time-compiled languages.
Several fields of engineering exist, for example within the video games industry, where large, complex and diverse
projects are routinely developed but where efficiency is paramount. C++, as a development platform, is widely used. I
explore the possibility of a language workbench capable of a gradual transition in both skills and code from traditional
C++ development environment.
I propose a language workbench design using several novel techniques, then through a prototype implementation
demonstrate that is both concise and practical for C++.