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 dot-operator ' . ' , not sometimes ' -> '
philosophy: remove clutter/reduce change effort
-
Unified type definitions
-
All global variables are initialized by default
-
better external library control
New Features
C2 also introduces some NEW features:
-
More tooling integration like dependency and refs file generation