-
Notifications
You must be signed in to change notification settings - Fork 81
Introduction
Jai is a high-level programming language developed by Jonathan Blow, creator of indie games Braid and The Witness, a language that allows the programmer "to reach the heaven keeping the feet on the ground" (cit.).
It is an imperative static/strongly typed procedural language similar to C, but with a variety of modern features that, C and especially C++ languages, are lacking or (accordingly with the creator) have implemented in an overcomplicated, inconsistent, overengineered way.
The development of the new language started in late September 2014 after the famous video on youtube Ideas about a new programming language for games.
Jai is meant to be a language aimed to get the best performance with no compromises: a tool specifically designed for videogames and complex simulations that will allow making programs that will run on given hardware at the highest possible speed. But thanks to its flexibility, at the moment Jai might be considered a general-purpose programming language that could be used for any task, even embedded systems, especially by senior programmers "who know all the time what they are doing" (cit.).
The expected performances of the unoptimized resulting machine code will be "for sure better than equivalent C++ code and at least as good as the performances obtainable by hand made carefully crafted equivalent C code" (cit.).
The software industry has so many problems and it is time to have people "working seriously on tools that allow making the software more robust, more analyzable and more manipulatable as a solid object, instead than a super fragile thing that could fall apart any time you touch it" (cit.).
As for now (09/2019) the language and its compiler are still in development and are under a strong proof-of-concept testing through the development of a commercial multiplatform videogame named Sokoban. So as of yet are unavailable to the general public.
The creator interacts with the community, through the chat of his Twitch channel during the live sessions that in some periods he broadcasts, giving sometimes little notice on twitter. Or he replies to the comments to the videos on his Youtube channel. For further discussion, the creator has addressed to the community a dedicated email address [email protected].
The expectations upon this programming language were very high because of the overall ambitiousness of the project. The creator had already spoken of it in public in many conferences all around the world getting extremely positive feedback. But the development time is getting longer and longer. Mr. Blow is famous for his harsh rantings on many arguments, and for the extreme attention to the details that he strives to give, for granting the quality of his productions. Accordingly, he stated many times that he wants to give to the community something already rock solid to use. Despite this, he announced at least a couple of times in the past, imminent restricted beta release. And since this hasn't happened yet for years, maybe the hype is cooling down.
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