A magical, high performance programming language for game development.


C

Kit compiles to C, and layers many useful features on top. It’s interoperable with C, so it’s easy to replace all or part of a C codebase with a functionally equivalent but more concise version written in Kit.

Examples of features found in Kit but not C include:

Kit aims to provide a superset of the capabilities of C. With that said, there are some things that aren’t currently possible to do from Kit, including:

C’s type system is weaker than Kit’s; this means that some things that would be valid from C will throw compile-time errors in Kit. As an example, Kit features a true Bool type, and other types cannot be implicitly cast to bools, so if 1 {} will not compile in Kit. Kit’s stance is that generally these usage patterns are more likely to be mistakes, so forbidding them reduces bugs.

C++

C++ is an early example of a “better C” and is widely used in game development. Some comparisons:

Rust

Rust is a safe systems programming language developed at Mozilla. Many features in Kit are inspired by Rust. In general, Rust is much stricter than Kit, which can result in a tradeoff of fewer bugs but longer iteration cycles.

Zig

If you want a safer, modern alternative to C, Zig is a great option. Like Kit, Zig features seamless C interop - just include a header and use it directly in your code. This means there’s very little risk to trying Zig in place of C.

A couple key differences:

Haxe

Haxe is a high-level language that compiles (or “transpiles”) to 10+ other language targets, including C++, JavaScript and bytecode for various VMs. Haxe has been used for numerous successful games, and its use cases also include settop boxes, websites, and more.

Swift

TODO

Nim

TODO

Jai

As soon as it’s publicly available, let’s revisit.