Next: , Previous: Project building system, Up: Development tools

2.4 Main programming language

VRR is written in pure C language according to C99 standard. For details about C99 standard see

In the Linux world, there is a wide-spread GCC compiler and the whole project has been developed using in it. The default language standard, as set in the root Makefile, is C99 with GNU extensions provided by gcc. However, VRR conforms to C99 and the compilation in pure C99 can be enabled (see Makefile header). Thus, any compiler correctly implementing C99 should be able to compile VRR .

There is natural question, why we chose the C language instead of some object-oriented language like C++. Our answer is that C language is standard in the UNIX world, the C compilers nowadays produces more efficient code and the C language give you better control of what happens in your code. On the other hand, the C language imposes a lot of programmer's effort when implementing the object hierarchy, as we do in GEOMLIB or Kernel.