josef is a user on You can follow them or interact with them if you have an account anywhere in the fediverse. If you don't, you can sign up here.
josef @jk

if you get enough smart programmers together all they do is make lisp, so you have to make sure theres some less-smart "control rod" programmers in the team

· Web · 63 · 104

one of the more famous criticality incidents of this type is naughty dog, who were trying to make crash bandicoot or something but ended up, thats right, making a lisp

@jk Yeah, but it does self-correct, because as soon as 2 programmers each invent a Lisp, they will argue forever as to whose Lisp is the True Lisp.

It's like the computational Fermi Paradox. Lisp is the Great Filter that prevents a runaway intelligence singularity.


y'know, it turns out secretly that the Duke Nukem Forever programmers kept running into this problem

they'd keep making lisps, then fights would break out, then their teams would be decimated by people quitting out of disgust or because they were conquered

this is how all great unfinished undelivered games got unfinished and/or undelivered


@jk I hate that this is true, holy fuck.

@jk GOAL sure did look super dope though. Attach a repl to a game running on the ps2 and actively futz with the objects and see it react in real-time

@rrix yeah tbh I can’t program anything unless I have a live update while I’m coding

@jk Oh yeah! I remember reading an article about that in Game Developer Magazine. It must've been one of the post mortem articles. I was hoping it was online somewhere, but I've had no luck finding it. I did find this from Andy Gavin:

@jk This LISP!

> Game Oriented Assembly Lisp (or GOAL) is a video game programming language developed by Andy Gavin and the Jak and Daxter team at Naughty Dog. It was written using Allegro Common Lisp and used in the development of the entire Jak and Daxter series of games.

@jk Also Crash Bandicoot is mentioned in the WP article.

> The predecessor language, Game Oriented Object Lisp (GOOL), was also developed by Andy Gavin for the Crash Bandicoot game.
@fap @ghostdancer @jk Apparently Naughty Dog are using !scheme for game scripting again! But this time they didn't fall for the temptation of writing their own:

> Sony's Naughty Dog game studio has created just such a large project, actually a framework for creating projects. Roughly speaking, Sony's Racket-based architecture provides languages for describing scenes, transitions between scenes, scores for scenes, and more. Domain specialists use the languages to describe aspects of the game. The Racket implementation composes these domain-specific programs, then compiles them into dynamically linked libraries for a C-based game engine


The article is not specifically about Naughty Dog, it's about #Racket as a catalyst of Language-Oriented Programming.


"Wait, what do you mean, I'm 'less smart'?"

"I mean YOU'RE the control rod."

"Oh! Okay then. Cool."

"...and there we go."

@jk every team needs a systems developer who only wants to write fixed size object pool implementations all day

@jk programmer A: I'm writing a monoid implementation of promises, how about you?
programmer B: I'm optimizing our array implementation to reduce memory fragmentation

those two programmers names? albert einstein

@jk dammit do i have to write a lisp for the atari jaguar now

@LuigiThirty the hardware is so overcomplicated it may well have been a lisp machine all this time

@jk sometimes i think the AI i'm working on will be that 'control' person. sometimes i fear it will be a lisp.

@jk i just realized I’m the control rod

@jk I think modern smart programmers would invent something like Idris

(I don't want to offend anyone pls don't @ me)

@jk At last, I've found out why they keep me around.