John Carmack's keynote at Quakecon 2013 part 4

Kostiantyn Kostin · 138K views · 2013 · 29:59

Open on YouTube

Tech pioneers & interviewsFunctional programmingGame programming & enginestalk

Why Hacker News recommends it

Cited again and again as Carmack's key public statement on functional programming and purity in game development, plus his remarks on garbage collection.

What it is

Part 4 of John Carmack's QuakeCon 2013 keynote, covering OpenGL, functional programming, Haskell, Lisp and Scheme, typing, multithreading, events and garbage collection.

Recommended by 5 HN commenters across 5 different months, 2013 to 2025.

What Hacker News said

Recommends sssilver · 2016-10 · on “Ask HN: What's your favorite tech talk?”

Raymond Hettinger's talk about good code reviews -- [LINK] Carmack's talk about functional programming and Haskell -- [this video] Jack Diederich's "Stop Writing Classes" -- [LINK] All with a good sense of humor.

Recommends mrkgnao · 2017-08 · on “Elm in Production: 25K Lines Later”

The use of monads is a side-effect (ha!) of committing to purity throughout a language, and that's what FP is being equated to: pure statically-typed FP. (You can argue about how justified that is, of course. I'm not going into that, but you might want to see what John Carmack has to say[0]. No, he doesn't end by saying "we should all convert to the church of Haskell now", but he does talk about how large-scale game programming refactors are made easier when you're working with no (or very disciplined) side effects.) Monads are not the only way to deal with effects while keeping purity, although they were the first discovered and so on: algebraic effect systems as in Koka[1] (and as simulate

Recommends akmiller · 2017-09 · on “Global Mutable State”

What you describe above is similar to what Carmack discussed at his QuakeCon keynote several years back when toying with a game engine on Haskell. Very interesting talk, [this video]

Recommends lsh · 2019-01 · on “Functional programming in C++ (2012)”

Excellent read, I still remember a lot of it. There is also the accompanying Quakecon presentation where John Carmack talks at length about all this: [this video]

Recommends ookdatnog · 2024-06 · on “Why "Structure and Interpretation of Computer Programs" matters (2011)”

I think it is, and if you don't want to take my word for it, John Carmack thinks the same :) There's an old video [0] where he talks in-depth about his explorations of functional programming. It's perhaps a bit more about Haskell than about SICP, but in it he's also quite enthusiastic about what a veteran programmer can still learn from this book. [0] [this video]

Cites Strilanc · 2013-08 · on “John Carmack: Thoughts on Haskell [video]”

Google cache: [LINK] The article is essentially just a link to the fourth part of his keynote at Quakecon ( [this video] )

Cites epsylon · 2013-08 · on “What Programming a Game in 48 Hours Taught Me About Programming Games”

It depends on which type of games you're talking about. AAA game engines are still all about performance and tight memory budgets due to the nature of the platforms they're developing on - consoles and PCs. Hence the aversion to garbage collected languages, although higher level languages usually make it in the engines as scripting languages for game logic: UnrealScript for UDK, C# and UnityScript for Unity, Lua for CryEngine... The industry is traditionally oriented towards C++ and imperative / OO languages, but there's a lot of potential for functional languages in the "embedded scripting" area. In his 2013 QuakeCon keynote [1], John Carmack talks a bit about his experience with functional

Cites javajosh · 2013-10 · on “The PC is not dead, we just don't need new ones”

Backend devs can probably use more computer resources, particularly cores and RAM. We want to simulate whole clusters on our dev machines and instrument them with tools like Ansible and Docker, and then deploy multiple (fairly heavyweight) processes like JVMs to them. But yeah, 4 (fast) cores and 16GB of RAM is available in a laptop these days, along with an SSD and the best display you can buy, for $3k. (Of course I'm speaking of the MBPr). Games can always use more resources. AFAIK there is still a lot of progress being made with GPUs. 60fps on a 4K display will be a good benchmark. The funny thing is that GPU makers have taken to literally just renaming and repackaging their old GPUs, e.g