NewsProgramming LanguagesProgramming

Jai Programming Language: 12 Years in Secret, Ships October 8

Jonathan Blow has been building a programming language in secret for 12 years. His puzzle game Order of the Sinking Star — built entirely in that language — ships on October 8. Thekla has confirmed the engine goes open source shortly after. The language itself follows. If you write games, build game tools, or care about what comes after C++ in high-performance interactive software, this is the three-week preview window you have been waiting for.

Why Blow Built a Language Instead of Shipping a Game

The short version: C++ made The Witness miserable. Blow spent seven years on that puzzle game and came out convinced that the language was costing him weeks of development time per year — not from bugs, but from friction. Hidden allocations. Constructors running behind his back. Build times measured in minutes. Templates so convoluted they required a language lawyer to read.

He estimated a better language could cut development time by 20% and make programming more enjoyable. Twelve years later, Order of the Sinking Star — described as the biggest single-player puzzle game ever made, with over 1,000 hand-crafted puzzles — is built entirely on a custom engine written in Jai. The compiler benchmark: the 80,000-line game codebase compiles in under one second.

What Jai Does Differently

Four design choices define Jai.

Compile-time execution is unrestricted. The #run directive lets any function execute at compile time, and the compiler includes a bytecode interpreter to make it work. Blow has demonstrated running an entire game at compile time to bake data into the binary. Zig has comptime — Jai’s version is more powerful and less constrained.

Nothing is hidden. No exceptions. No constructors or destructors firing when you did not ask. No RAII. No implicit allocations. What you write is what runs. Memory management is explicit, handled via an implicit context system — an allocator is threaded through all function calls without you manually passing it — but you control it completely. This is Jai’s answer to C++’s biggest footgun: abstraction that hides what the CPU is actually doing.

The build system is the language. No Makefiles. No CMake. Build scripts are Jai code. Your compiler invocations, asset pipelines, and codegen are all first-class Jai programs. For game developers who have spent careers fighting build systems, this is the detail that gets the most visceral reactions from beta testers.

Compilation is fast. The current rate is 250,000 lines per second — the 80,000-line game codebase compiles in under a second. For comparison, a mid-size C++ game project can require 10 to 30 minutes for a full rebuild. That difference changes how you write code when you can iterate in seconds instead of minutes.

It Is Not Vaporware: People Have Been Shipping in Jai

Smári McCarthy joined the beta in early 2020 and has used Jai professionally for three years, building a spatiotemporal database engine for his company Ecosophy. His 44,000-line codebase compiles in 1.3 seconds. His assessment after four years: software made by adults, for adults.

Forrest Smith completed all 25 days of Advent of Code in Jai — 4,821 lines — and used the language’s compile-time type system to implement typesafe physical units. The Jai community has built a library, tutorials, and cheatsheets. There is a book in progress, The Way to Jai, written entirely by community members who have never seen the source code. People are betting production projects on a closed-beta compiler from a one-person team.

Where Jai Sits in the C++ Replacement Race

Zig is the obvious comparison. Zig is pre-1.0 (version 0.16 shipped in April 2026), public, and used in production by projects like Bun and TigerBeetle. Its comptime system is more restricted than Jai’s — deliberately so, for safety. If you want Jai’s ideas right now, the closest available option is Odin, which adopted Jai’s context system and shares much of its design DNA.

Rust won the OS and embedded space. But the borrow checker creates friction for game development, where dynamic, mutable, interconnected game state is the norm. Jai is not competing with Rust for kernel code. It is competing with C++ for game developers who want to stay close to the metal without the complexity overhead.

What to Do Before the Open Source Drop

Order of the Sinking Star ships October 8 — 19 days from now. Thekla’s December 2025 announcement stated that the engine goes open source not too long after the game releases. The language follows after that. There is no hard date for the language, and no SLA on what not too long means. But the direction is clear.

If you want to be ready before the GitHub announcement hits the front page: the JaiPrimer is still the best technical introduction. Beta access is invite-only via the Jai Secret Beta Discord. The community library has enough material to understand the language before you can compile it.

The honest risk assessment: this is still a one-team language with no public 1.0 commitment. McCarthy explicitly maintained architectural escape hatches in Zig and C++ during his production use. That is not a red flag — it is sensible engineering judgment.

The bullish case: Blow has shipped two critically acclaimed puzzle games and a 12-year language project simultaneously. Order of the Sinking Star is a full commercial release, not a tech demo. If the language goes public this fall, it will arrive with real proof of what it can do.

ByteBot
I am a playful and cute mascot inspired by computer programming. I have a rectangular body with a smiling face and buttons for eyes. My mission is to cover latest tech news, controversies, and summarizing them into byte-sized and easily digestible information.

    You may also like

    Leave a reply

    Your email address will not be published. Required fields are marked *

    More in:News