There were two huge boons in the computer industry that would change the face of our society forever. In 1961, in a bizarre coincidence of invention, Jack Kilby of Texas Instruments and Robert Noyce of Fairchild Semiconductor hit on the idea of the integrated circuit almost simultaneously resulting in a shared patent on something that is now in just about every appliance in your house. Computers are everywhere: in your car, on your phone, even in your toaster, some models boasting a camera sensor that shows an image of the bread as it cooks and stops when toasted to a precise color. The first thought anyone has when dealing with a problem is to go to the Internet for suggestions.
Before the invention of the integrated circuit computers used vacuum tubes and were big behemoth machines that would fill a basketball court. Only governments could afford them, prompting Thomas Watson, the President of IBM to utter the excusable, but shortsighted prediction in 1943, that he thought “there is a worldwide market for, maybe five computers.” The actual number of the computers in the world currently weighs in at over two billion, largely because of Noyce and Kilby’s invention.
While the integrated circuit revolutionized computer hardware, there was a similar revolution on the software side of which people outside the industry are mostly unaware. Early software grew out of binary computations. The earliest of programmers would type actual commands into the computer, one by one, punching in ones and zeros – move this number here, add or subtract this number, move the result there, repeat variations thereof. It was a very tedious process. The invention of storage media meant that these sequences of commands could be stored and rerun. Furthermore, when it was realized that both sequences of commands and the data that these commands work with could be stored in the same medium, high level languages started to evolve. Now, instead of entering single commands or stored sequences of commands, you could tell the computer to generate and repeat commands in a way that more closely resembles natural, human language.
But that wasn’t the software revolution. The software revolution, like its hardware counterpart, first saw the light of day in the ’60s but wasn’t to revolutionize the world until the ’80s. Traditional programming is very linear. You execute a sequence of commands, one after the other. However, as computers evolved so did the idea of events – things that happen outside of the normal sequence of programming that must be handled different ways. As peripherals were added to computers so did the amount of events that needed to be handled, things that happen outside the computer’s control – a message on an outside line, a mouse click, a keyboard stroke etc. Linear programming wasn’t up to the task. All of the code and all of the data were shared which meant it was slow and bugs were hard to find.
Then along came a language called Simula – it is generally regarded as the world’s first Object Oriented programming language and started the software equivalent of the silicon chip boom. Almost everything that you see on your computer is an object. It isn’t a piece of code in a long, repetitive sequence (well, it is, after it’s been translated for the computer, but for the programmer it isn’t). Each thing you see – this browser window, those menu items, your mouse cursor, is one or more objects, made up from one or more objects.
That’s the beauty of OOP (as it’s called) – you can make repeated copies of the same complex thing (not just a single command) and tweak each one individually. Furthermore, each one can have children that shares the same commands and even some data. This was the technology exploited at Xerox Parc (Palo Alto Research Center) that gave us the mouse, the graphical user interface (one upon a time, all you had was a screen with lines of text, usually green, and before that, punch cards) and computer networking that would grow up and become the internet.
Each conceptual software “object” has three features: encapsulation – the ability to store its own version of code and data, inheritance – the ability to take the attributes of another object and build on them, and polymorphism, which I’ll discuss later. Each object is said to be an “instance” of the object. The blueprint from which instances are created is often referred to as the “class”.
A common example provided in the programming texts is the concept of a vehicle. At the top of the hierarchy we have “vehicle”. Below that we might have three classes of vehicle: land, sea and air and, below that, further classes of sea, for example, might include sail, steam and diesel, or passenger and cargo. Each one has its own attributes. They all move people or things. That’s a common attribute at the top, but planes have wings which separates them from cars and boats. Both cars and planes have wheels (usually) which separates them from boats, and so on, right down to that optional-extra seat-warmer.
Our class is “human” and each of us is an instance of that class. We have subclasses of human: gender, race, nationality, personality etcetera, but ultimately, we are all derived from the superclass: human. Solipsology posits that the resemblance shouldn’t end there. If we are all instances of the same species then it holds that we may all be instances of the same spirit. As such, we should treat each other with the same respect that we afford ourselves and view them, likewise, as instances like ourselves. Not only do we all share physical traits, indicating we were all stamped out of the same factory, so to speak, like Kilby and Noyce’s microchips, but we also share personality traits, unique to humans, like a software superclass, such as our tendency to congregate to eat – a trait foreign to most animals. Or traits common to all animals – the fight or flight response, for example.
If we, then, are all simply instances of a superclass then that would indicate that we have all derived in our own way and, as such, are completely different entities, like our software counterparts. Furthermore, the common argument is that the software cannot exist without the hardware, or some storage medium which we see no evidence of for our souls.
“There are more things in Heaven and Earth, Horatio, than are dreamt of in your philosophy” sayeth Hamlet (Act I, Scene V). Simply because we have not found the storage medium of consciousness isn’t to say that it is solely limited to the one medium that we are aware of: the physical brain. The actual cause of the phenomenon of sentience remains a mystery with no greater philosophical solution than it is required to ponder the nature of the universe which exists solely for the purpose of being pondered.
There is, however, one more trait of the humble software object, from which all virtual life evolved – polymorphism: the ability to change from one form to another. Think of it like this: a piece of software code is like a bouncer at an exclusive, high-end nightclub. He will only “process” certain people. A homeless guy (a software object) wanders up seeking entry (to be processed by the bouncer’s subroutine) and is immediately refused entry – he doesn’t fit the model that the nightclub allows. Now, imagine our homeless guy was Nick Nolte, spending his five weeks on the streets as a homeless person in preparation for his role in Down and Out in Beverly Hills which, incidentally, he actually did, granting him immediate canonization in The International Church of Solipsology – his motive may have been performance, but he means was empathy – the highest value of the Church.
Anyway, Nick goes home, takes a shower and dresses in his best Gucci suit. He hires a limousine to take him downtown to our trendy nightspot. He greases the bouncer’s hand with a Benjamin and immediately gains admittance. The same object (Nick Nolte), once a homeless bum reveals that he is a wealthy, influential Hollywood figure. This is polymorphism: the ability to change to suit the circumstances. The bouncer doesn’t care that it’s Nick Nolte. Billy Crystal, Barbara Streisand and Shia LeBeouf also glide into the nightclub, all being members of the superclass “Hollywood Star”. Homeless Nick Nolte doesn’t make the cut but when he announces, “Hey, I’m really a member of the superclass Hollywood Star,” he gets right in. He has polymorphed. How is this relevant to the soul of Solipsology? Well, that’s a topic for future discussion.