Skip to content
0:00 / 0:00

#jai#jonathanblow#data-orienteddesign

#Gamelab2018 - Jon Blow's Design decisions on creating Jai a new language for game programmers

Gamelab Conference

2.5K subscribers • 1 video on Hallway

YouTube
  • Recommended by 5 people: 3 on Hacker News, 1 on Lobsters and 1 in engineering communities.
  • A classic. People kept recommending it from 2018 to 2023.
  • Presented by Jonathan Blow, game designer and programmer
  • May be out of date. Uploaded 8 years ago, in an area where tools change fast.
  • An opinion. It argues one side of a question engineers disagree on.

Intermediate. Assumes working knowledge.

209K views8 years ago5 recommendations

Programming languagesGame developmentLanguage design and type systemsGame programmingPerformance and optimization

Jonathan Blow discusses the design goals of Jai, a programming language built to reduce friction and improve performance for game developers.

Jonathan Blow (born 1971) is an American video game designer and programmer, who is best known as the creator of the independent video games Braid (2008) and The Witness (2016), both of which were released to critical acclaim. In September 2014, Blow began work on a new programming language called "JAI" based on ideas he had previously expressed about video game development. It is aimed at "low-friction" and fluid development, whilst directly supporting data-oriented design for high performance. The language is currently active, but is a work-in-progress, as no JAI compiler has been publicly released yet. A small demo of the language was shown at Reboot Development 2017. Blow also uses Twitch to regularly stream demonstrations of new language features as well as improvements to the game engine that will be bundled with the language.

Why it's here

5 people recommend this

What people say. Engineers point to this talk for its insights into language quality of life, compile times, and alternatives to OOP.

Moments people linked to

mikejsavageon Lobsters • Recommends

Design decisions on creating Jai, a new language for game programmers

lylecubedon Hacker News • Recommends

On “Becoming a Better Software Developer: A Handbook on Personal Performance”

This video does a great job of explaining why modern programming in general has failed: link to this video I think OOP specifically derailed programming because of how big it was, how fast it took over and how long it was considered to be the one true programming paradigm. When OOP hit, it hit hard and fast. It wasn't long before colleges were teaching OOP as The One True Way To Program. Every employer required knowledge of OOP before they would interview you. And I mean every employer, from startups to corporate enterprise. And once it took hold, it took people (and me!) 10-20 years to realize the OOP emperor had no clothes on. I still don't understand why or how it got so big so quickly. All I can fi…

u/pakoitoin r/ProgrammingLanguages • Recommends

#Gamelab2018 - Jon Blow's Design decisions on creating Jai a new language for game programmers

goostavoson Hacker News • Recommends

On “Deno will stop using TypeScript”

They become really frustrating as the project grows in size. Personally, it becomes really difficult to maintain productivity. As compile times tick up, I start bouncing over to other tabs rather than just twiddling my thumbs starring at a terminal. Then I realize I've been on Reddit for a half-hour. I recently watched this talk by Johnathan Blow0 where he talks about quality of life in programming languages and spends a fair amount of time talking about compile times and their effects. I think we collectively need to re-align on being performance focused. Tools are simultaneously amazing but crummy at the same time. 0 link to this video

illiarianon Hacker News • Recommends

On “Type system of Fortnite's Verse language”

Hubris. "Look at us, we have these LANGUAGE EXPERTS working for us". As a result the only presentations these people do are about how great their new Yet Another Language toy is. Compare this to, say, Jonathan Blow talking about design decisions for his language: link to this video

u/pwnedaryin r/C_Programming • Mentions

On “What are your thoughts on rust?”

Have you seen this presentation about Jai? Completely killed any interest I had in the language. Edit: I should say that I am a fan of C and Rust. It might just be that Jai isn't for me.

u/PL_Designin r/ProgrammingLanguages • Mentions

On “My take on modernizing C”

…y" parallel compilation from a build tool standpoint. >... >How many times are you working between several projects that produce C libraries and that have many header files where sometimes you forget to update the headers in a dependent project? Neither headers nor incremental build systems are required to have fast build times. Check this out: link to this video Watch for a couple minutes past the timestamp, and you'll see Jonathan Blow's explanation about how fast his compiler is. Note that Jai is a language that does lots of wacky metaprogramming and CTCE and template nonsense, and it's still compiles that fast. I'm not saying Jai is the language for you, it's probably way more complex than you w…
7View on Reddit

u/BounceVectorin r/C_Programming • Mentions

On “Just want to share my Voxel Game written in C”

He did not go personal, there was no personal insult or anything, you just feel attacked because his answer is brash. Probably his answer is brash, because some programmers from high level languages, who don't want to learn or use a low level, unmanaged language have confirmation bias towards higher level languages. I am right now suggesting that you too have that, but I do see that there is an honest curiosity (great! :) ) but still, you use the same old arguments a lot of people are tired of hearing ("the tradeoffs are not worth using C, because high level languages are fast enough", "people built great things with high level languages", "programming in C is hard and error prone"). High…

chenglouon Hacker News • Mentions

On “Code Budgets”

I happened to have read many of VPRI’s papers and some domain expertise in a few of their topics, or know close friends with such domain expertise. Btw, my collection of their links are at link The goal is a noble one; though it's unclear to me if their research is the right way to go. Alan Kay's gang's research's end result are often great, but their implementations are usually more geared toward prototyping rather than production. For example, the GUI innovation is great, whereas its implementation using Smalltalk is clearly geared toward faster iteration and not meant to be as competitive as a production language (let's not enter into this debate as this is another rabbit hole. Plenty o…