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
-
better external library control
New Features
C2 also introduces some NEW features:
-
More tooling integration like dependency and refs file generation