Ideas about a new programming language for games.
Why Hacker News recommends it
HN programmers recommend it, and the Jai series that followed, for the game-industry view on replacing C++ and for watching a language being invented.
What it is
Jonathan Blow's first talk on designing a new programming language for games, which became Jai. He explains the problems with C++ and why Go, Rust and D do not fit game development.
Recommended by 7 HN commenters across 9 different months, 2014 to 2025.
What Hacker News said
Strong rec erikpukinskis · 2015-09 · on “The Witness: the creator of Braid talks about his fiendishly difficult new game”
I strongly encourage anyone interested in programming languages to watch his series about Jai, the language he is creating for his next game. Starts here: [this video] It's not released yet, but watching the videos has massively changed the way I think about programming. The notion of "data-driven programming," which I would describe as "only move around the data you have to", has been a real revelation to me. I sort of came out of the Ruby world (and Java before that) where the attitude is more "Abstract all the things!" I have been trying to apply many of Blow's principles in my JavaScript programming and it has been awesome. I find myself staying closer to the "metal" (which in JavaScript worl
Strong rec erikpukinskis · 2018-03 · on “Long Term Depression Permanently Changes the Brain”
It’s a bit of a rabbit hole, but Jonathan Blow’s “Ideas for a programming language about games” and all the subsequent videos have totally revolutionized how I code: [this video] The irony of it is I’m a JavaScript programmer and Blow hates JavaScript, he thinks it’s antithetical to his style of coding. But really, I think the ideas are very generic: he proposes what I think of as “data-driven programming” which in my head means “only move the bits you have to.” And that core idea maps to any substrate. Blow is offended by the idea of targeting something other than processor instructions, and Jai (his new language) develops along those lines. But I have no problem applying the same ideas to V8...
Strong rec erikpukinskis · 2018-07 · on “Jonathan Blow: “C++ is a weird mess””
I am a little disappointed he hasn’t released the source, but I am also sympathetic. He wants to be free to change major things about the language while he’s designing it, and that’s harder if other people are using it. That said, if you want to know what Jai is about, I recommend starting from his first video: [this video] The first couple dozen videos are all pretty dense, with him presenting the basics of the language pretty efficiently. (His more recent vids are more like development vlogs) Yes, videos are slow, but for me I don’t think I would’ve appreciated his design choices without all the context. I also found watching his process for inventing the language extremely instructive, just as
Recommends greggman · 2015-03 · on “Steam store rendered in Servo”
As anyone here watched the Jonathan Blow videos on his language ideas? [this video] I don't care about the specifics of his language but I think he brings up a very valid point which my summary would be, we should design a language that is both performant AND fun to program. Fun = type less boilerplate, make refactoring easier. C++ is not that language and from what I've read Rust is not that language either. C++ is stuck with backward compatibility so it can arguably never achieve those goals. Rust didn't seem to have those goals it mind, it had other goals so it's not really a fun language either. Too verbose or so I've read.
Recommends pearle · 2015-07 · on “Designing a Programming Language”
Jonathon Blow has a great series [1] on YouTube where he's designing and implementing an alternative to C/C++ specifically aimed at meeting the needs of modern game programmers. It's an interesting watch. [1] [this video]
Recommends Kurtz79 · 2016-01 · on “C or C++ for my game engine?”
This is a nice talk from Jonathan Blow (Braid's author) about the necessity of a new language for game programming as an alternative to C++, and why new languages like Go or Rust are not apt to the task: [this video]
Recommends erikpukinskis · 2016-06 · on “Why does everyone here seem to dislike C++?”
From a gaming industry perspective, Jonathan Blow gave a great presentation about his problems with C++: [this video]
Recommends CamTin · 2017-11 · on “Towards a more powerful and simpler C++ with Herb Sutter”
Jonathan Blow (cult/indie game developer/studio owner) has a lot of ideas about evolving C++ (or rather, building a new language to replace it) specifically in a game industry context. This perspective is interesting because its kind of running at a different angle away from the "memory-safe, better guarantees" project that Rust is workin on. [this video] Just as the scripting languages took a big bite out of C/C++ usage starting in the 90s, I think we're seeing another couple use-case for C/C++ pull off: 1) stuff that is performance sensitive but security sensitive as well (Rust) 2) stuff that is soooo performance sensitive that Rust and C++ are actually too bloated, but which isn't really secur