Skip to content
0:00 / 0:00

#johncarmack#haskell#lisp

John Carmack's keynote at Quakecon 2013 part 4

Kostiantyn Kostin

533 subscribers • 1 video on Hallway

YouTube
  • Recommended by 7 people: 5 on Hacker News and 2 in engineering communities.
  • A classic. People kept recommending it from 2013 to 2024.
  • Presented by John Carmack, co-founder of id Software
  • May be out of date. Uploaded 13 years ago, in an area where tools change fast.

Intermediate. Assumes working knowledge.

138K views13 years ago7 recommendations

Programming languagesGame developmentFunctional programmingHaskellLisp and Clojure

John Carmack discusses functional programming, Haskell, Lisp, static typing, and the challenges of garbage collection in game development.

Some of the things Carmack talks about in this video: - OpenGL - functional programming - Haskell - Lisp - Scheme - strong and weak typing - multithreading - events - garbage collection - QuakeC vs Scheme Part 1: new console cycle AMD hardware game controllers Part 2: Kinnect Digital distribution Portable consoles Andriod and iOS Cloud gaming Creative vision vs technology Unified memory PowerVR and tiled rendering Part 3: displays head mounted display movement tracking sound large scale software development optimization OpenGL Part 4: OpenGL functional programming Haskell Lisp Scheme strong and weak typing multithreading events garbage collection QuakeC vs Scheme Part 5: programming Q&A: space AMD vs Nvidia vs Intel GPUs CPU architectures GPU computing id Tech 5 id Software company Part 6 Q&A: PC and upcoming console hardware MegaTexture virtual reality, augmented reality and Google Glass voxel, ray tracing AMDs virtual texturing console cycle beyond Xbox One and PS4 SSD strobe lighting in LCD technology control devices advancement when single person can do a AAA game like MW3? Part 7 Q&A: id Tech5 and Tango Gameworks

Why it's here

7 people recommend this

What people say. Engineers frequently cite this talk as an influential perspective on applying functional programming concepts to game development.

Moments people linked to

u/tsornin r/haskell • Recommends

John Carmack on (re-)programming Wolfenstein 3D in Haskell
171View on Reddit

u/onnnkain r/haskell • Recommends

John Carmack's talk on function programming, Haskell, Lisp, Scheme and concurrency
40View on Reddit

sssilveron Hacker News • Recommends

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 -- link to this video Jack Diederich's "Stop Writing Classes" -- link All with a good sense of humor.

mrkgnaoon Hacker News • Recommends

On “Elm in Production: 25K Lines Later”

…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 Koka1 (and as simulated in Idris or PureScript) are another alternative. Koka infers effects, so it's probably easier for a C-family programmer to pick up (I know little about it, though). 0: link to this video 1: link…

akmilleron Hacker News • Recommends

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

lshon Hacker News • Recommends

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

ookdatnogon Hacker News • Recommends

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

u/PsiAmpin r/haskell • Mentions

On “John Carmack talking at length about Haskell in his QuakeCon Keynote speech (live)”

**Part 1:** - new console cycle - AMD hardware - game controllers **Part 2:** - Kinnect - Digital distribution - Portable consoles - Andriod and iOS - Cloud gaming - Creative vision vs technology - Unified memory - PowerVR and tiled rendering **Part 3:** - displays - head mounted display - movement tracking - sound - large scale software development - optimization - OpenGL **Part 4:** - OpenGL - functional programming - Haskell - Lisp - Scheme - strong and weak typing - multithreading - events - garbage collection - QuakeC vs Scheme **Part 5:** - programming Q&A: - space - AMD vs Nvidia vs Intel GPUs - CPU architectures - GPU computing - id Tech 5 - id Software company…

u/pthierryin r/haskell • Mentions

On “Using Rust along with Haskell.”

John Carmack, the author of Doom and Quake, says the industry should use Haskell: link to this video So don't believe anyone telling you Haskell isn't a good fit for game dev. Unless they really know Haskell and have as much experience as John Carmack.
28View on Reddit

u/etaoinshrdlu_in r/haskell • Mentions

On “Would it be plausible to script games in Haskell on top of a C/C++ engine?”

Have you seen John Carmack's keynote from Quakecon 2013? He talks about functional programming and specifically Haskell in game development. link to this video

u/imladrisin r/haskell • Mentions

On “John Carmack talking at length about Haskell in his QuakeCon Keynote speech (live)”

Youtube link. EDIT: He starts talking about functional programming here.
16View on Reddit

u/_scapein r/Clojure • Mentions

…sted in this, speak up :) Some how this video passed under my radar, but was actually very interesting (I also find him rather intriguing, you may too). He goes in to detail about how game systems can be done in a parallel way using immutability at its core, and how he feels this is definitely a way forward. I hope you enjoy it as much as I did. link to this video…

u/suppiralin r/haskell • Mentions

On “What's a good article or talk for getting someone curious about Haskell or functional programming in general?”

How about John Carmack talking about Haskell? link to this video

u/mcarusoin r/compsci • Mentions

On “What's next in programming language design?”

I'm just going to link this classic talk by John Carmack.
5View on Reddit

u/stonerboboin r/scala • Mentions

On “Great new research on functional programming, solipsism and autism in tech”

The evidence on the side of FP is a lot of great experts who agree with proven track records (e.g John Carmack who has probably coded for 10,000+ hours in his life), or maybe even the fact that Odersky, creator of Scala!, built the Java (the one true way according to you) compiler. Oh and millions of other programmers and the collective evolution of software. Your "proof" on the other hand as far as i can tell is this statement: > Functional programming is the sociological construct of deviance theory > > It's a defense mechanism, but truth is, you really gotta be top 5% of programmers to understand concurrency and parallelism in True Languages. plus a random paper you found that would o…

u/jetRinkin r/Clojure • Mentions

On “Some questions about data representation and manipulation in Clojure”

> Is something like this considered good practise in Clojure No, definitely not. *def* should never be used inside a function. More generally, you should not be thinking in terms of functions that change entities like *player-struct* (either by mutating or rebinding). You should be designing functions which take entities like *player-struct* as input and create new entities as output, leaving the input unchanged. [Here is John Carmack talking about how you would do something like this using events.] Your main function might take the entire state of the game world as input and call itself with a new world-state.
4View on Reddit