Since C2 is an evolution of C, this page is here to summarize the changes made and the design philosophy behind it.

TODO this page is in progress

Language changes

  • no Header files consequence: import statement and modules

  • no forward declarations philosophy: types the same thing twice, reduces development speed consequence: requires a multi-pass compiler

  • member access always through '.', not sometimes '->' philosophy: remove clutter/reduce change effort

  • Unified type definitions

  • All global variables are initialized by default

  • Standardized attribute syntax

  • better external library control

  • Improved operator precedence

New Features

C2 also introduces some NEW features: