C3c is a compiler for the C3 language, a general-purpose programming language designed for building fast native software.
C3 addresses the need for a modernized evolution of C that retains its familiar syntax and semantics while adding ergonomic features for contemporary development. The language maintains full ABI compatibility with C, allowing C and C3 code to be mixed in the same project without additional effort. Key additions include a module-based namespace system, slices, operator overloading, compile-time reflection and execution, generics based on generic modules, result-based error handling, defer statements, value methods, and associated enum data. The language removes the preprocessor and reduces undefined behavior through optional safe mode with runtime checks.
C3 suits developers seeking to write systems software, applications, games, tools, servers, and libraries with C-like performance and control but with modern language conveniences. It is particularly valuable for projects that need to interoperate with existing C codebases. The compiler provides precompiled binaries for Windows x64, Linux x64, macOS Arm64, and OpenBSD x64, and can be built from source on Windows, macOS, Linux, OpenBSD, and NetBSD. The language is positioned as an iteration on C rather than a complete reimagining, making it accessible to C programmers.
Open issues originate from both the core team and outside users, indicating adoption beyond the maintainers without an overwhelming external support burden. Maintainers typically respond to new issues and pull requests within a day. Work in the issue tracker centers on three primary categories: fixes requiring testing, bug reports, and enhancement requests.