Skip to content
0:00 / 0:00

#jai#jonathanblow#data-orienteddesign

Ideas about a new programming language for games.

Jonathan Blow

99K subscribers • 11 videos on Hallway

YouTube
  • Recommended by 9 people: 7 on Hacker News, 1 on Lobsters and 1 in engineering communities.
  • A classic. People kept recommending it from 2015 to 2026.
  • Presented by Jonathan Blow, creator of Braid and Witness
  • May be out of date. Uploaded 12 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.

530K views12 years ago9 recommendations

Programming languagesGame developmentLanguage design and type systemsGame programmingPerformance and optimization

Jonathan Blow outlines his ideas for a new programming language designed specifically for high-performance game development, which later became Jai.

My first talk on designing a programming language for games. Given September 17, 2014. An implementation is being built and there have been many demos. See the full playlist at youtube.com/playlist?list=PLmV5I2fxaiCKfxMBrNsU1kgKJXD3PkyxO.

Why it's here

9 people recommend this, 1 disputes it

What people say. Highly recommended by engineers for its revolutionary ideas on data-driven programming and practical language design for performance.

Moments people linked to

u/JournalistUnable567in r/ProgrammingLanguages • Recommends

From writing a compiler to building an editor 8 years ago, in 2018, I watched JBlow talk about designing a new programming language. The idea of creating a new language seemed interesting to me. I often found myself struggling with C++ that offered too many options, while C was missing some features I wanted. So I decided to try building my own language. The project became Biscuit, or BL for short. The first version was very simple: a C code translator that used CL as the main compiler. Later, I discovered LLVM and started learning more about compiler design and intermediate representations. After a while, I needed a serious project to test the language on. A code editor seemed like a…

akurilinon Lobsters • Recommends

(2014) Jonathan Blow - Ideas about a new programming language for games

erikpukinskison Hacker News • Recommends

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: link to 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…

erikpukinskison Hacker News • Recommends

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: link to 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...…

erikpukinskison Hacker News • Recommends

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: link to 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…

greggmanon Hacker News • Recommends

On “Steam store rendered in Servo”

As anyone here watched the Jonathan Blow videos on his language ideas? link to 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.

pearleon Hacker News • Recommends

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 link to this video

Kurtz79on Hacker News • Recommends

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: link to this video

erikpukinskison Hacker News • Recommends

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++: link to this video

CamTinon Hacker News • Recommends

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. link to 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…

topspinon Hacker News • Recommends

On “Jonathan Blow: “C++ is a weird mess””

His view of Rust is a little more nuanced then you're getting here. Back in 2014 when Jonathan Blow started talking about the reasons for making a new programming language he discussed several languages including Go, D and Rust and provided specific reasons why they didn't satisfy his view of what a language for game programming should be. During that talk he said at one point; "if we're all writing programs in Rust ten years from now then that's great because I think it'll be a lot better than C++." You should consider watching at least the first part of that talk. It made a splash at the time because there are several insights that people found provocative. 1 link to this video

skadamaton Hacker News • Recommends

On “Sadly, I must say goodbye to Leaf, my programming language”

Jon Blow's been working on a programming languages for games (intro / philosophy here): link to this video Series of videos here - link - I don't program games but it looks super interesting

nlyon Hacker News • Disputes

On “A Programming Language for Games: Demo [video]”

…ther interesting languages taking this approach even today. Vala and Nimrod both spring to mind. At the end of this third video he talks about modern pioneering spririt versus those from the heyday of the space race... well here we are 50 years later, and it turns out that space travel is still hard. I don't think programming is any different. 0 link to this video…

u/gnarlyquackin r/ProgrammingLanguages • Mentions

On “The Race to Replace C and C++ - Podcast from Handmade Seattle 2020 - Abner Coimbre talks with Andrew Kelley (Zig), GingerBill (Odin) and Josh Huelsman (Jiyu)”

"I don't want header files." Big difference.
6View on Reddit

u/Salikenin r/ProgrammingLanguages • Mentions

On “Remaking C?”

I’m not sure those words come from Jon himself, and if they do I’d assume something deeper than a surface level reading. AFAIK the website is unofficial, I linked it as it contains a lot of the video and other links. For those interested I’d start with his first video. Where he lays out his goals. link to this video

u/sullyj3in r/functionalprogramming • Mentions

On “Are you good at math and does it really help you in programming?”

This reminds me of this guy's perspective: link to this video
3View on Reddit