This is still the header! Main site

Code is just Partial Copies of Human Souls

This is post no. 25 for Kev Quirk's #100DaysToOffload challenge. The point is to write many things, not to write good ones. Please adjust quality expectations accordingly :)

Code is magic. At least metaphorically. You just type something into a computer, and by doing this, you have built a machine that will then do whatever you wanted it to do. Or... some approximation thereof. (Bugs and unintended consequences are still a thing.)

However... can we take this "magic" thing a little bit more literally?

After all, what exactly is it that you're doing while coding? You imagine something happening; this function will concatenate these strings, tell the user something, draw a triangle, etc. You do this in a general way: it's not just two particular strings, it's all possible strings. And then you write code that behaves in the way you want it to behave.

Or, rather, you imagine yourself doing all these tasks; then, by writing the code, you make an actual copy of your mind configured to do this.

There is a reason why humans are bad at writing parallel code: this is not how human minds operate, so you can't just simply make a copy of what you're already doing... you have to imagine multiple humans cooperating. Which is, as it is well known from looking at any organization, a lot harder than working alone.

All this, by the way, meshes fairly well with the idea of an Actual Wizard casting spells by imprinting part of his actual soul onto the Flows of Mana. Unlike with the typical fantasy world though, you don't have to rip off & sacrifice part of your soul to create mildly intelligent artifacts. Which, of course, together with them being easy to copy, results in people creating a whole lot of mildly intelligent artifacts.

As a result, e.g. a modern computer or phone is, essentially, a horcrux-like object compiled of soul fragments of many tens of thousands of programmers, each contributing meaningful amounts of frozen thought material. Each code path, once executed, is mirroring the intent of somone who, perhaps years or decades ago, wanted this to happen the way it does.

All this might sound like it'd apply to basically anything involving engineering: isn't an airplane the expression of the will of many of its engineers to fly? But... software is actually unique. Not because it's "immaterial" but because it's so easy to write. Each tiny part of an airplane is designed by many people, and the way the end result works is not even trying to be an approximation of what an engineer's mind is doing.

There is another kind of artifact that comes close: it's books. (... is this the reason why wizards have spellbooks?) Your thoughts, in a verbal form, written down, are an obvious mirror image of the thoughts you had writing them; you can actually get to know a person fairly well just by reading what they've written. (Back to horcruxes: the connection there is also not a giant surprise.) There is a major difference, compared to software though: you do need a human brain to run them on.

... and, while it's certainly fair to say that this is in itself magic (... along with a number of other things), making a piece of silicon behave as if it was you certainly feels a bit more impressive.