Quake Shows JavaScript is Slow, Not Fast

Quake 2 has been made to run in a browser using JavaScript. Old news, granted, but for reasons I cannot fathom, hordes of webdev kiddies have been holding it up ever since as evidence that JavaScript somehow isn't slow as shit.

Years later and that still chafes my ass.

Look, fifteen years ago, my 200MHz Pentium 1 (which was more than twice minimum spec) was running Quake 2 at fully playable speed, using purely software rendering. Not long after, I tossed in a 1998 Voodoo2 card, and had it running a full 60 frames per second at what today would be considered HD resolution. (Yea, I used to be a hardware whore, believe it or not.)

"Oh look how much processing Quake 2 shows JavaScript can do! JavaScript is therefore plenty fast!"

Are you shitting me?

You can squawk all you want about "good enough UI speed": But what Quake-2-in-a-browser demonstrates (aside from the browser window being a shitty way to play a game), is that JavaScript and the "web is for applications!" nutjobs pushing it have all taken your 64-bit multi-core gigs of RAM machine, skewered it by the balls, and turned it into a damn Pentium 1.

Oh, and what exactly do you think all that computational masturbation is doing to your battery life?

So...how much exactly did you pay for that shiny new 2012-model Pentium 1 of yours? Congratulations, you got yourself shafted. You must be proud.

Ok, but wait, there's also WebGL Quake 3. Hmm, yea, running the CPU-side of a GPU-bounded program in JS really proves your quad-core isn't getting castrated into a battery-guzzling Pentium 2.

So, web 2.0 clouds-for-brains, how about writing an HD video transcoder in JS that actually compares to real software? Or hell, a JS version of any native code that actually requires a CPU from this fucking decade. Basically what we're looking for is a "JS isn't slow" demonstration that's not constructed out of strawmen. Do that, dear web crowd, and then I'll accept that you ignorant assholes aren't ruining technology.

Actually, no I won't. Because JavaScript is still a shit language regardless of speed.

Leave a comment