Jai Compiler References
I got tired of looking up links over and over. Last update: April, 11, 2019
Jai is a computer language being developed by Jonathan Blow (His older website and newer blog) and his team Thekla. The main goal is to replace C/C++ with a new language that will speed up the development of computer games (but it should be useful in general purpose programming.) The language’s big concepts are:
- bring back the joy of programming
- putting data at the center of the design
- a syntax that respects the programmer’s workflow
- controlling compiling from the language (compile-time-execution so you can write the build script in the langiage itself.)
When will JAI release?
On April 10th, 2019 Abner Coimbre announced during his Twitch stream that the Jai Team decided on the final tasks need for Beta release. Coimbre didn’t give a hard deadline, but it seems reasonable the team should finish before the end of 2019. (see http://www.mrphilgames.com/jai-close-to-beta/) (Note, on Jun 2018 Blow said four people were working on the compiler and a game using the language.)
People blogging or streaming about Jai
- Abner Coimbre on Twitch: https://www.twitch.tv/abnercoimbre
Links and mentions by Jonathan Blow in his videos
- Sept’14 – the Talk that started it all (outdated at this point, see next link) Ideas about a new programming language for games
- Jul’18 – Gamelab talk Design decisions on creating Jai (or would you ever want to replace C++?!)
- Jan’18 – status update January Progress Report
- YouTube Playlist: A Programming Language for Games (Jonathan Blow’s Videos on Jai)
- Mar’18 – Abner Coimbre in-depth blog: Testing the Jai Compiler
- Jorge Rodríguez’s JAI Primer (His blog post about it)
- Inductive’s JAI Page
- JAI Revolution Free (Visual Studio 2013)
- Twitch https://www.twitch.tv/naysayer88
- Jumplinks to parts about other language thoughts from the Video 1: Ideas about a new programming language for games.
- Important related topics:
- CppCon 2014: Mike Acton “Data-Oriented Design and C++”
- dyncall – way JAI calls external C functions dynamically
- John Carmack on Inlined Code
- He mentions talk on why exceptions are bad, maybe this video? Andrei Alexandrescu – Systematic Error Handling in C++ or Andrei Alexandrescu – Error Handling in C++
Non Jai Links, but related to language creation
- Ginger Bill’s
- Should I use a parser generator or should I roll my own custom lexer and parser code?
- Dr. Dobb’s So You Want To Write Your Own Language?
- How To Write A Simple Lexical Analyzer or Parser
- Let’s Build a Compiler, by Jack Crenshaw
- Bret Victor – Inventing on Principle
- The Next Mainstream Programming Language: A Game Developer’s Perspective Tim Sweeney Epic Games (slides only)
- Writing Your Own Toy Compiler Using Flex, Bison and LLVM
- Building a Modern Computer from First Principles aka From NAND Gates to Tetris
- Tuukka Pensala’s C or C++ for my game engine?
- Building a C-based processor
- Fabien Sanglard (of Black Book fame)’s Quake Engine Code Review