Microsoft is mostly the invention of one man - Bill Gates. How did it all happen? We look at the early days of Microsoft and how Bill Gates steered it from nothing to a billion dollar business with nothing but code.
Bill Gates, the man who invented Microsoft, had a goal best summed up by
"A computer on every desktop and Microsoft software in every computer".
Yet it was by no means obvious that a company could survive, let alone grow, by doing nothing but selling software back in the early days of the personal computer - after all it wasn't even clear that there was a market for the hardware!
William Henry Gates III (Born 1955)
Billionaires are always interesting but Gates is unusual in that he is a rich techie. The problem with discussing Bill Gates is because he is so rich (the richest man in the world in 2015, with a estimated net worth of around $80 billion, despite having given away some $29.5 billion so far according to the Forbes list) and because Microsoft is still so powerful a dispassionate account is hard to come by.
The legend is that somewhere, presumably in a garage, a couple of high school kids produced a version of Basic that ran on personal computers and the rest just happened.
The truth is somewhat different.
Bill Gates had already set up a company, Traf-O-Data by the time he was 16 and was already making money from computing.
From Math To Computing
He didn't just happen to create a microcomputer Basic but set out to do so with the intention of making money.
This isn't to say that he wasn't interested in computers, he was, and programming in particular. Math was certainly his strong subject although by all accounts he was bright enough to have made any subject his own.
Math is important because it shares with programming the same modes of thinking. The school that Bill Gates attended was far-sighted enough to provide the kids with time on a link to a PDP 10 - a minicomputer whose architecture helped form the minds of a generation of assembly language programmers.
During lunch times Bill Gates learned to program. His first efforts were small - noughts and crosses - but eventually they grew to include a Basic interpreter for the machine - a very advanced piece of programming for a 13 year old!
It was in the computer room that Bill Gates met Paul Allen - the future co-founder of Microsoft. Together they talked computers and programmed. Bill Gates had an extra interest - making money out of his talent. Now you could see this as something almost twisted in one so young but there does seem to be an almost natural connection between computers and making money.
It's almost as if you can only judge the success of what you do by what people will pay for it. They were paid to debug the operating system of the local PDP-10 timeshare, to computerize the school timetabling and they built a microprocessor based machine to work out traffic census data and offered a data-processing service to their local authorities. Traf-o-data was their first company and their first money-making enterprise.
Back in those early days microprocessors were mostly used for special purpose devices like traffic counting machines and setting up a company to do this sort of job wasn't as unusual as you might think.
The Traf-O-Data computer
The Race For Basic
Bill and Paul talked a lot about the future of computing and about forming a company to produce software. Their minds must have been more than prepared for the announcement of the first personal computer - the Altair.
When it appeared on the cover of the January 1975 issue of Popular Computing both Bill and Paul realized that this was it - the future.
The Altair the machine that started it all
Bill phoned Ed Roberts whose company Micro Instrumentation and Telemetry Systems (MITS) produced the Altair kits and claimed to already have a version of Basic for the 8080 microprocessor and that he was ready to do business. The only part of the claim that was true was the part about being ready to do business.
To produce the Basic, Paul Allen first had to write an 8080 simulator for the college PDP-10 - using a book bought from the corner bookshop, written by Adam Osborne, that gave the full 8080 instruction set!
It is odd to think that the pair of them had access to a PDP-10 and yet not to a cheap 8080 microprocessor development board. Trying to implement a Basic interpreter using a simulator made the task a lot harder in one sense but at least they had the power of the bigger machines tools.
Bill Gates coded the interpreter but of course there would have been a great deal of cross fertilization between the two projects. Gates had already written a Basic interpreter for the PDP-10 so he didn't have to look up the theory and was free to concentrate on the difficult task of squeezing the language into 4KBytes with enough space left over to run a program.
This task was so difficult that many claimed it was impossible. The ingenuity of the coding serves to mark the high point of a particular type of programming that virtually no longer exists - hand-crafted resource-limited programming.
Paul and Bill at work
The finished interpreter was delivered to MITS by Paul Allen as a paper tape. The program was untried on a real 8080 let alone on the actual Altair computer. Things were so tight that on the plane Allen realized that they had failed to write a bootstrap loader for the tape! He sketched one out on paper before falling asleep. Later Bill Gates and he would compete to see who could write the shortest bootstrap!
A bootstrap loader is a small program that it manually keyed into computer, using the banks of switches on the front panel, that simply reads in another much longer program from a device such as a paper tape. You really want the bootstrap to be small because you have to key it in, as a list of binary numbers, each time you want to run the bigger program.
The chances of the tape working when loaded into the machine would have been set at close to zero by any right thinking programmer - but it worked!
MITS signed up Microsoft and for a while Bill Gates and Paul Allen were more or less part of the MITS operation to make the Altair useful by writing code. However things didn't go smoothly because the MITS operation was less than professional and failed to promote the Basic for other machines to use.
This seems reasonable - after all licensing Altair Basic to other manufactures simply produced more competition and controlling it became the most direct way of ensuring that the Altair remained the top of the microcomputer market.
This is a short video showing the Altair and the paper tape containing the original Basic. Keep watching because it eventually gets to its subject matter: