C3 is a systems language based on C. It is an evolution of C, improving on what C can't easily change for legacy reasons while retaining its syntax and feel as far as possible.
Some changes from C:
- Module system
- Integrated build system
- Generics
- Semantic Macros
- Error handling
- Optional contracts
- Defer
- Value methods
- Slices
- Associated enum data
- "any" type for runtime polymorphism
- Subtypes
- [] overloading to create container types
- Foreach