A really cool career option for people living in the universe created by Vernor Vinge, in his novel A Deepness in the Sky. After ten thousand years of humanity writing source code, there is code for just about doing anything. Unfortunately, it's in a variety of arcane computer languages and constructs, and it could be hidden in any of a thousand different projects.

So, to be a successful programmer in the 12th millennium, you had to be able to dig through this source code, some of which dated back to second-millenium stuff like MS-DOS, understand the language it was written in, find useful pieces, and assemble them together, with the appropriate glue technology to do what you wanted the system you were working on now. This leads to a very organic understanding of software, but it all kind of works, especially because in Vernor Vinge's universe, the promise of artificial intelligence failed.


A wretched position in a possible future where the Singularity never happens. Programmer archaeologists spend their short, miserable lives maintaining 10,000 year old legacy systems. After a few dozen centuries any system is going to be a little bit crufty, but after 10,000 years any change, no matter how small, is going to break something else.

It won't even be possible to rebuild the whole system from scratch every so often just to verify that you still have all of the source code. There will undoubtedly be huge, steaming piles of circular dependencies that completely preclude the notion of a fresh installation.

Think about what this really means, any little hack the poor coder puts into the software that displays the day's cafeteria menu choices on his bedroom wall has the possibility of killing all of his friends. That's because he doesn't have the slightest clue that the guy who wrote the hull penetration detection code was lazier than a good programmer should be.

The guy who wrote the hull breach detection code needed a way to get input to one of his modules that he had carelessly coded himself into a corner on. He couldn't add any more parameters to the current function signature because his linker was stupid and it would break his old code. So he simply added a few calls into a personal library that he had for displaying stuff on his walls to handle a couple of little processing steps.

Then he died. Then the next programmer who owned maintenance of that code died. Then the next. Recurse on the previous statement for a while.

Now, 6500 years later, our poor programmer archaeologist adds some cool explosion effects to his visual interface. Because he's a young hotshot hacker he does this by modifying the underlying code rather than tweaking a configuration parameter. Unfortunately, this results in the carelessly written hull code seeing an image of the ship with holes in the hull. It immediately seals off the affected areas of the ship and turns off the life-support.

Then it steadfastly refuses to believe any other system in the ship that tries to tell it that there are living people in there and that they are going to die if it won't turn the life-support back on. It thinks there is something wrong with the other systems that is making them report bad data since it can clearly see that there are holes in the hull of the ship.

Humans occasionally need to start over.

-Return to The Vernor Vinge Project
-Back to the Transhumanist Terminology metanode

Log in or register to write something here or to contact authors.