-
Notifications
You must be signed in to change notification settings - Fork 81
Why Jai?
A compelling argument for not writing an entirely new language for games is that the momentum and volume of C and C++ code in current game engines are too high, and the OOP mainstream culture is too radicated.
Against this, the author argues that engines periodically rewrite their codebase anyway, and since Jai and C produce interoperative machine code they can live side by side while the rewrites, that would normally happen anyway, take place.
In fact, Jai uses C Obj code to use some external libraries like OpenGL and stb_image. So, replacing C and C++ can be done with almost none added cost to development. Meanwhile, the benefits of using Jai could make programmers more productive.
None of them contain the right combination of features that game programmers need. Automatic memory management is a non-starter for game programmers who need direct control over their memory layouts. Any interpreted language will be too slow. Functional-only languages are pointlessly restricting. Object-oriented-only languages are overly complex.
The idea behind Jai is to develop a new language with the qualities that game programmers need, and without the qualities, they don’t.
Its time for the braves to engage an ambitious endeavor (cit.), if it will produce only a 10% improvement in the quality of life of the author, this will be worthwhile alone.
These documents were verified using Grammarly free browser plugin for Chrome. Please use some spell checker before submitting new content.
- Variables and assignments
- Language data types
- Simple user-defined data types
- Expressions and operators
- Type-casting
- Pointers
- Declarations
- Arguments / Parameters
- Return values
- Overloading / Polymorhism
- Advanced features
- Lambdas
- Arrays
- Strings
- Composition of Structs
- Metaprogramming
- Templates / Generics