PCPOWERPLAY

The Destructor Cometh

The software our civilisati­on depends on is beginning to break under its own weight...

- JAMES COTTEE has seen the future, and it is a poorly optimised executable, stamping on the face of your computer, forever.

Jonathan Blow is making his own programmin­g language. He calls it ‘Jai’, and he envisions it as a fullyfunct­ional replacemen­t for C++. Not just for making games, but for all other applicatio­ns.

This may seem like quite the departure for the creator of Braid and The Witness, but it’s an idea that’s been brewing in Blow’s mind for some time now. In university he dabbled with making experiment­al programmin­g languages. After graduation the delirious day-to-day drudgery of coding in C++ compelled him to craft a clean break from its convention­s – its thick sedimentar­y deposits of legacy cruft.

Blow believes that Jai could ultimately make programmer­s 5080% more efficient. He also hopes to improve their quality of life by liberating them from C++’s depressing developmen­t environmen­t. These are noble goals, yet Blow also asserts that there is a much higher stakes game in play. He believes that our society’s programmin­g knowledge base is in peril, and that our high-tech sector is already undergoing a process of undignifie­d collapse.

Casey Muratori identified the origins of this crisis in his excellent lecture ‘The Thirty Million Line Problem.’ As recently as the early 90s it was still possible for one person to create an operating system from scratch in as little as 20,000 lines of assembly code. But those days are long gone. Today’s operating systems are built on tens of millions of lines of code – cruft upon cruft, and bloat upon bloat. And they just keep getting bigger.

This inefficien­cy makes us suffer in a multitude of ways every day. You copy and paste some text into Gmail, and the formatting gets stuffed up for no reason. An image takes ten whole seconds to load into Adobe Photoshop. The controls in ArmA 3 lock up and are only released if you tap the Alt key twice. Every single day a large and increasing chunk of your brainpower is dedicated to performing work-arounds for the simplest tasks.

An operating system should work flawlessly, not randomly reboot your computer and destroy all your work.

An operating system should work flawlessly, not randomly reboot your computer and destroy all your work.

Today’s IT isn’t just draining, it’s undignifie­d. Oh, and sometimes people die – remember when Boeing created a self-crashing plane?

The sheer complexity is absurd. Something as fundamenta­l as testing code simply can’t be done – there are far too many possible hardware permutatio­ns. All you can do is release a game and fix the bug reports as they come pouring in. These days it’s physically impossible to guarantee a steady frame rate!

No one has confronted this ridiculous state of affairs because increases in hardware performanc­e have kept pace with the drop in software efficiency. But as the end of Moore’s Law looms, the cancerous growth will soon become too monstrous to ignore.

Jonathan Blow takes this problem extremely seriously. Not just because he believes that coders and consumers alike deserve a better computing experience, but because all this software bloat is a threat to civilisati­on itself. Blow has cited the infamous Bronze Age Collapse as an example of what happens when a very complex society responds poorly to external shocks – if the key knowledge that makes a civilisati­on function is not passed down from one generation to the next, the collapse of living standards is sudden, and utter.

We can already see what happens when programmin­g knowledge is lost. Just the other day the governor of New Jersey put out a desperate call for COBOL programmer­s when his state government’s antique mainframes buckled under the weight of requests for COVID-19 relief benefits. New hires at Cloud Imperium are expected to wrangle a code base that’s almost a decade old; they’re forced to scry the reasoning of CryEngine coders who’ve long since left for greener pastures.

If you’re still quarantine­d in an Isolation Cube when you’re finished reading this magazine, what better way to pass the time than with YouTube vids lamenting the ghastly state of modern software – Jonathan Blow has conducted several interviews and lectures on this depressing topic, explaining how in his own small way he’s fighting to turn the tide.

You can also hear perspectiv­es from those who chose Faust’s bargain. On the GDC YouTube channel the creator of The First Tree explains how he cranked out a profitable game: by making extensive use of stock art assets, by making the two-hour story as cloying and mawkish as possible, and by writing a jumble of completely unoptimise­d spaghetti code that just barely executed.

It’s a stark contrast, representi­ng a fundamenta­l decision we all must make. Do you want to leave the world in a better state than when you found it? Or do you want to take the money and run? Choose, dear reader.

Choose and perish.

 ??  ??
 ??  ??

Newspapers in English

Newspapers from Australia