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++.