Comparing C++ and Erlang for Motorola Telecoms Software

Phil Trinder, Heriot-Watt University

This paper reports the first systematic comparative evaluation of a high-level distributed programming language in the context of substantial commercial products. Our research strategy is to re-engineer some C++/CORBA telecoms applications in the Erlang high-level distributed language and make comparative measurements

Investigating the potential advantages of the high-level Erlang technology shows that two significant benefits are realised. Firstly, robust configurable systems are readily developed using the high-level and sophisticated fault tolerance and distribution. Secondly, Erlang delivers significant productivity and maintainability benefits: the Erlang components are less than a third of the size of their C++ counterparts. The productivity gains are attributed to specific language features, e.g. high-level communication saves 23% compared with the C++ implementation.

Investigating the feasibility of the high-level Erlang technology shows that it fulfills several essential requirements. The requisite distributed functionality is readily specified. At the expense of additional memory residency, excellent time performance is achieved. Erlang interoperates at low cost with conventional technologies, and is available on a range of platforms.