BASIC
From Maze
(Difference between revisions)
(→Circulating Programs in Print) | (→Altair BASIC and Micro-Soft) | ||
| Line 75: | Line 75: | ||
The story of Microsoft BASIC, and of Microsoft, begins with Paul Allen catching sight of the now-famous ''Popular Electronics'' in December 1974, just after the issue hit the stands. Allen read the Altair 8800 article and raced to show it to his friend and business partner Bill Gates, telling him, "Well here's our opportunity to do something with BASIC" (Wallace & Erikson 67). The two had already had some limited success when Gates was still in high school, with a venture called Traf-O-Data that produced hardware and software to count cars. They programmed the Intel 8008 microprocessor that powered Traf-O-Data using a simulator running on a Washington State University mainframe. | The story of Microsoft BASIC, and of Microsoft, begins with Paul Allen catching sight of the now-famous ''Popular Electronics'' in December 1974, just after the issue hit the stands. Allen read the Altair 8800 article and raced to show it to his friend and business partner Bill Gates, telling him, "Well here's our opportunity to do something with BASIC" (Wallace & Erikson 67). The two had already had some limited success when Gates was still in high school, with a venture called Traf-O-Data that produced hardware and software to count cars. They programmed the Intel 8008 microprocessor that powered Traf-O-Data using a simulator running on a Washington State University mainframe. | ||
| − | By 1975, Gates was at Harvard University and he and Allen were ready for a project with broader reach. They devised the idea of writing BASIC for the Altair and called Ed Roberts at MITS to ask if he would be interested in having their BASIC for his system. Roberts said he would buy the first version that worked (Wallace & Erikson 74). As Gates and Allen had done when developing their Traf-O-Data system, they initially programmed on a university's computer system, using a simulator. What they were programming at this point was, of course, a modified and minimized version of the original 1964 BASIC. Given how often the success of personal computing is attributed to entrepreneurial and business advances and to Microsoft in particular, it's remarkable that Microsoft's first product was developed borrowing time from Harvard's computer and was (as Microsoft clearly acknowledged) an implementation of Dartmouth's freely-available programming language. | + | By 1975, Gates was at Harvard University and he and Allen were ready for a project with broader reach. Seeing ''Popular Electronic,'' they came up with the idea of writing BASIC for the Altair and called Ed Roberts at MITS, asking if he would be interested in having their BASIC for his system. Roberts said he would buy the first version that worked (Wallace & Erikson 74). As Gates and Allen had done when developing their Traf-O-Data system, they initially programmed on a university's computer system. They used a simulator of the Altair 8800, a computer Gates and Allen had never seen in person. In hindsight, programming for a virtual machine was an evocative echo of Lady Lovelace, writing a program for a machine that hadn't been built. At the time, though, it probably seemed like a simple expediency. What they were programming at this point was, of course, a modified and minimized version of the original 1964 BASIC. Given how often the success of personal computing is attributed to entrepreneurial and business advances and to Microsoft in particular, it's remarkable that Microsoft's first product was developed borrowing time from Harvard's computer and was (as Microsoft clearly acknowledged) an implementation of a freely-available programming language. |
| − | Gates and Allen devised the Altair BASIC project and did most of the programming, but there was a third Altair BASIC programmer, a sort of legendary fifth Beatle of Microsoft (or at least of Altair BASIC). This was Monte Davidoff, who wrote the floating-point routines. Gates and Allen were discussing how they needed to code these up when Davidoff, a student who was sitting with them at the table, spoke up and said he could write them. After talking it over with him, they enlisted him to contribute these (Wallace & Erikson 76-77). | + | Gates and Allen devised the Altair BASIC project and did most of the programming, but there was a third Altair BASIC programmer, a sort of legendary fifth Beatle of Microsoft (or at least of Altair BASIC). This was Monte Davidoff, who wrote the floating-point routines. Gates and Allen were discussing how they needed to code these up when Davidoff, a student sitting with them at the table, spoke up and said he could write them. After talking it over with him, they enlisted him to contribute these (Wallace & Erikson 76-77). |
The code of this first Microsoft project is mainly by Gates and Allen, though, with Gates listed as first author. Comments at the beginning of the code declare, "BILL GATES WROTE THE RUNTIME STUFF," which he did over a period of eight weeks at Harvard. Gates would say years later that this 4 KB BASIC interpreter "was the coolest program I ever wrote" (Wallace & Erikson 76-77). | The code of this first Microsoft project is mainly by Gates and Allen, though, with Gates listed as first author. Comments at the beginning of the code declare, "BILL GATES WROTE THE RUNTIME STUFF," which he did over a period of eight weeks at Harvard. Gates would say years later that this 4 KB BASIC interpreter "was the coolest program I ever wrote" (Wallace & Erikson 76-77). | ||
| − | Allen flew to visit MITS in Albuquerque, taking the program on paper tape. He realized during the plane's decent that he did not have a way to get the Altair to read the tape and run it -- a bootloader. So he wrote one in machine language as the plane was landing. Then, he headed to see an Altair for the first time -- all of the work he, Gates, and Davidoff had done was via a simulator. The BASIC demo, of course, was a success and the interpreter was licensed by MITS. Gates and Allen moved to New Mexico to create new versions of BASIC for the Altair and to maintain the original code, and Microsoft was booted and running. | + | Allen flew to visit MITS in Albuquerque, taking the program on paper tape. He realized during the plane's descent that he did not have a way to get the Altair to read the tape and run it -- a bootloader. So he wrote one in machine language as the plane was landing. Then, he headed to see an Altair for the first time -- a real Altair, and not a simulator like the one he, Gates, and Davidoff had done all their work on. The BASIC demo was a success and the interpreter was licensed by MITS. Gates and Allen moved to New Mexico to create new versions of BASIC for the Altair and to maintain the original code, and Microsoft was booted and running. |
From a technical and business standpoint, Altair BASIC was not an early oddity, but a Microsoft product with a strong relationship to the company's later flagship products. To see the connection, it's important to understand the nature of computing platforms and their relationship to markets of different sorts. | From a technical and business standpoint, Altair BASIC was not an early oddity, but a Microsoft product with a strong relationship to the company's later flagship products. To see the connection, it's important to understand the nature of computing platforms and their relationship to markets of different sorts. | ||
| − | The book ''Invisible Engines'' introduces a theory of how software platforms can be two-sided (or multi-sided) in the sense of two-sided markets. In a predominantly one-sided market, such as a swap meet where people arrive with comics to trade, there is only one class of participant, a person interested in exchanging goods with other people. A classic land-line telephone company is also in a one-sided market, since every customer is more or less the same sort of participant, one who wants to make and receive calls. On the other hand, a credit card company has two different classes of customer: merchants, who receive payments and need terminals, and cardholders, who have a line of credit and who make purchases. | + | In ''Invisible Engines,'' Evans, Hagui, and Schmalensee introduce a theory of two-sided software platforms. In a predominantly one-sided market -- for example, a swap meet with people trading comics -- there is only one class of participant, a person interested in exchanging goods with other people. A classic land-line telephone company also participates in a one-sided market, because every customer is more or less the same sort of participant, one who wants to make and receive calls. On the other hand, a credit card company has two different classes of customer: merchants, who receive payments and need terminals; and cardholders, who have a line of credit and who make purchases. |
| − | When Atari released the Atari VCS (later called the Atari 2600) in 1977, before the advent of third-party games, it had a one-sided platform. Atari made the system and (initially) all the games and controllers. The only participants in the market, and users of the platform, were the players. By the early 1980s, when Activision, Imagic, and other third-party companies had come into the market, there was another class of participant -- one that was not paying royalties to Atari for the privilege of making games for their console. | + | When Atari released the Atari VCS (later called the Atari 2600) in 1977, it was initially a one-sided platform. Atari made the system and all the games and controllers. The only participants in the market, and users of the platform, were the players. By the early 1980s, when Activision, Imagic, and other third-party companies had entered the market, there was another class of participant -- one that was not paying royalties to Atari for the privilege of making games for their console. |
Microsoft's Windows is another example of a platform with at least two sides. On one side, computers need an operating system and desktop environment to function. This leads hardware manufacturers such as Dell to purchase licenses to Windows and to include the software with their systems. On the other side, computers are only valuable if there are applications written for them. Microsoft writes some of the applications for Windows, but third-party developers write many. The abundance of software has a network effect that is positive for Microsoft: it encourages users to stay with Windows. And, since Windows is preinstalled on many computers, companies want to write applications for it. | Microsoft's Windows is another example of a platform with at least two sides. On one side, computers need an operating system and desktop environment to function. This leads hardware manufacturers such as Dell to purchase licenses to Windows and to include the software with their systems. On the other side, computers are only valuable if there are applications written for them. Microsoft writes some of the applications for Windows, but third-party developers write many. The abundance of software has a network effect that is positive for Microsoft: it encourages users to stay with Windows. And, since Windows is preinstalled on many computers, companies want to write applications for it. | ||
| − | Of course, Windows was not the first two-sided platform, nor even Microsoft's first. By retaining the rights to what IBM called PC-DOS, Microsoft had previously been able to license MS-DOS to other companies, much as they would later sell OEM copies of Windows to them. And before that, there are continuities with the company's first product line, Microsoft BASIC. BASIC was a programming language, not an operating system, but the presence of BASIC allowed programs to be written on a computer and sometimes sold. There were two sides to BASIC: the computer companies, beginning with MITS, who wanted it on their machines and the computer hobbyists who wanted to write (and in many cases sell) BASIC programs. At Gates and Allen's company, the success of BASIC and the essential business plan used with that family of software products helped to develop the later success of MS-DOS and Windows. | + | Of course, Windows was not the first two-sided platform, nor even Microsoft's first. By retaining the rights to what IBM called PC-DOS, Microsoft had previously been able to license MS-DOS to other companies, much as they would later sell OEM copies of Windows to them. And before that, there are continuities with the company's first product line, Microsoft BASIC. BASIC was a programming language, not an operating system, but the presence of BASIC allowed programs to be written on a computer and sometimes sold. There were at least two sides to BASIC as a software platform: the computer companies, beginning with MITS, who wanted it on their machines; and the computer hobbyists who wanted to write (and in many cases sell) BASIC programs. At Gates and Allen's young company, the success of BASIC and the essential business plan used with that family of software products formed the basis of Microsoft's later success licensing MS-DOS and Windows. |
== Tiny BASIC and Copyleft == | == Tiny BASIC and Copyleft == | ||
