BASIC
From Maze
(Difference between revisions)
(→A Brief History of Programming) | (→Altair BASIC and Micro-Soft) | ||
| Line 75: | Line 75: | ||
The article describing the Altair 8800 claims that the computer can be used as a "Sophisticated intrusion alarm system," an "Automatic IC tester," an "Autopilot for planes, boats, etc.," a "Time-share computer system," a "Brain for a robot," and a "Printed matter-to-Braille converter for the blind," among other things, noting that "many of these applications can be performed simultaneously." (p. 38) As it happened, even the applications that were within the capabilities of the device were rather difficult to realize since the system, as delivered or assembled, could only be programmed in machine language. Unless one happened to have a Teletype or other terminal lying around, the programming had to be done using the toggle switches on the front panel. From the outset, it was clear to many that the Altair 8800 could really use was a programming language that facilitated experimentation. The ''Popular Electronics'' article actually mentions four programming languages by way of explaining the hardware/software distinction (p. 34); one of these is BASIC, which was the language of most interest to early Altair 8800 users. | The article describing the Altair 8800 claims that the computer can be used as a "Sophisticated intrusion alarm system," an "Automatic IC tester," an "Autopilot for planes, boats, etc.," a "Time-share computer system," a "Brain for a robot," and a "Printed matter-to-Braille converter for the blind," among other things, noting that "many of these applications can be performed simultaneously." (p. 38) As it happened, even the applications that were within the capabilities of the device were rather difficult to realize since the system, as delivered or assembled, could only be programmed in machine language. Unless one happened to have a Teletype or other terminal lying around, the programming had to be done using the toggle switches on the front panel. From the outset, it was clear to many that the Altair 8800 could really use was a programming language that facilitated experimentation. The ''Popular Electronics'' article actually mentions four programming languages by way of explaining the hardware/software distinction (p. 34); one of these is BASIC, which was the language of most interest to early Altair 8800 users. | ||
| − | There were two major successful efforts to develop a BASIC interpreter for the Altair, and their varied histories are important and intriguing. While this tale of two BASICs doesn't clearly show the best of BASIC and the worst of BASIC, it does show two extremes in software development: one commercial, closely coordinated with hardware manufacturers, and highly tied to licensing and cost structures; the other community-based, non-profit, and "copyleft." The BASICs that led in these directions were Microsoft's Altair BASIC, the official BASIC for the platform, which was licensed to the manufacturer of the system, MITS; and Tiny BASIC, which originated at the People's Computer Company or PCC. The Commodore 64's BASIC is directly descended from Microsoft's Altair BASIC -- it is, although this is not visible on the startup screen, a Microsoft product. At the same time, the 10 PRINT program participated in a context of BASIC sharing and exploration that was strongly influenced by the People's Computer Company. | + | There were two major successful efforts to develop a BASIC interpreter for the Altair, and their varied histories are important and intriguing. While this tale of two BASICs doesn't clearly show the best of BASIC and the worst of BASIC, it does show two extremes in software development: one commercial, closely coordinated with hardware manufacturers, and highly tied to licensing and cost structures; the other community-based, non-profit, and "copyleft." The BASICs that led in these directions were Microsoft's Altair BASIC, the official BASIC for the platform, which was licensed to the manufacturer of the system, MITS; and Tiny BASIC, which originated at the People's Computer Company or PCC. The Commodore 64's BASIC is directly descended from Microsoft's Altair BASIC; its BASIC is, although this is not visible on the startup screen, a Microsoft product. At the same time, the 10 PRINT program participated in a context of BASIC sharing and exploration that was strongly influenced by the People's Computer Company. |
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 p. 67) The two had already earned some limited success when Gates was still in high school. Their first venture was called Traf-O-Data and produced hardware and software to count cars. They programmed the Intel 8008 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 p. 67) The two had already earned some limited success when Gates was still in high school. Their first venture was called Traf-O-Data and produced hardware and software to count cars. They programmed the Intel 8008 using a simulator running on a Washington State University mainframe. | ||
| − | By 1975, Gates was at Harvard University and he and Allen were ready to envision a project with broader reach. They devised the idea of writing BASIC for the Altair and phoned up 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 p. 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 software is attributed to entreprenurial and business advances and to Microsoft in particular, it's remarkable that Microsoft's first product was developed using Harvard's computer and was (as Microsoft clearly acknowledged) an implementation of Dartmouth's programming language. | + | By 1975, Gates was at Harvard University and he and Allen were ready to envision a project with broader reach. They devised the idea of writing BASIC for the Altair and phoned up 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 p. 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 software 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 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 p. 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 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 p. 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 told authors years later that this 4 KB BASIC interpreter "was the coolest program I ever wrote" (Wallace & Erikson p. 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 p. 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 bootloader that would allow the Altair to read the tape, 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 intepreter 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 decent that he did not have a bootloader that would allow the Altair to read the tape, 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. |
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. | ||
