BASIC
From Maze
(Difference between revisions)
(→The Ethic vs. The Corporation) | (First editing pass, just typos, missing words, etc. No content changes.) | ||
| Line 5: | Line 5: | ||
This "Beginner's All-purpose Symbolic Instruction Code" has a fabled cultural and technical history. BASIC was developed by John Kemeny and Thomas Kurtz, two professors at Dartmouth College. By 1964 its creators freely shared a working version of the language, leading to its widespread use, both at the high school and college level. | This "Beginner's All-purpose Symbolic Instruction Code" has a fabled cultural and technical history. BASIC was developed by John Kemeny and Thomas Kurtz, two professors at Dartmouth College. By 1964 its creators freely shared a working version of the language, leading to its widespread use, both at the high school and college level. | ||
| − | By that time, general-purpose computers had existed for about two decades. Many were still programmed in low-level machine languages, but high-level languages (those abstracted from the details of an individual machine) had also been in widespread use for a decade. While BASIC has its own distinguishing features, it also continues the history of high-level languages, building on what FORTRAN, Algol, and other languages had accomplished, namely a more natural syntax, easier use, and greater portability across platforms. | + | By that time, general-purpose computers had existed for about two decades. Many were still programmed in low-level machine languages, but high-level languages (those abstracted from the details of an individual machine) had also been in widespread use for a decade. While BASIC has its own distinguishing features, it also continues the history of high-level languages, building on what FORTRAN, Algol, and other languages had accomplished: a more natural syntax, easier use, and greater portability across platforms. |
BASIC's invention in an educational context is significant. The language was developed for an early time-sharing environment, the Dartmouth Time-Sharing System (DTSS). This sort of setup was revolutionary in allowing many programmers to use a single system interactively at the same time. The configuration of such a system--with many terminals connected to a mainframe or minicomputer--differs considerably from that of the personally owned, relatively inexpensive, single-user computers of the microcomputer era. But in the early 1960s, the DTSS also distinguished itself from earlier systems that required the batch processing of stacks of punched cards. Time-sharing allowed people to engage with and explore computation in significant new ways; BASIC was an important part of this computing revolution. Both DTSS and the BASIC language it ran were designed for educational contexts, so ease of use was paramount. This design value unwittingly facilitated BASIC's massive adoption and success, even if it also subjected the language to criticisms later on. | BASIC's invention in an educational context is significant. The language was developed for an early time-sharing environment, the Dartmouth Time-Sharing System (DTSS). This sort of setup was revolutionary in allowing many programmers to use a single system interactively at the same time. The configuration of such a system--with many terminals connected to a mainframe or minicomputer--differs considerably from that of the personally owned, relatively inexpensive, single-user computers of the microcomputer era. But in the early 1960s, the DTSS also distinguished itself from earlier systems that required the batch processing of stacks of punched cards. Time-sharing allowed people to engage with and explore computation in significant new ways; BASIC was an important part of this computing revolution. Both DTSS and the BASIC language it ran were designed for educational contexts, so ease of use was paramount. This design value unwittingly facilitated BASIC's massive adoption and success, even if it also subjected the language to criticisms later on. | ||
| Line 47: | Line 47: | ||
BASIC was designed in other ways to help new programmers, with "error messages that were clear and friendly" and default options that would satisfy most users' needs (9). "If the expert needs something fancier," Kemeny and Kurtz declared, "let the expert do the extra work!" (11). And, BASIC was meant to be a true high-level language, so that programmers would not need any detailed knowledge of the specific hardware being used. | BASIC was designed in other ways to help new programmers, with "error messages that were clear and friendly" and default options that would satisfy most users' needs (9). "If the expert needs something fancier," Kemeny and Kurtz declared, "let the expert do the extra work!" (11). And, BASIC was meant to be a true high-level language, so that programmers would not need any detailed knowledge of the specific hardware being used. | ||
| − | While BASIC didn't require programmers to put things in certain columns, there was a requirement that something be put at the beginning of each line: a line number, such as "10." This facilitated branching, of course; the GOTO and GOSUB statements refer to the line numbers where program flow should continue. BASIC did not actually need line numbers for this purpose, however. Labels, such as those used in assembly, would have sufficed, and indeed they do suffice in later versions BASIC that do not use line numbers. The line number's real value is seen on a Teletype or other print terminal, or in any environment where full-screen editing is not an option. Line numbers made it easy in those cases to delete existing lines; simply type the line number without any further instructions, and the line disappears. To correct a single existing line, just retype a line with the same line number. To see what a particular line, say line 50, currently is, "LIST 50" will do the trick -- although if one had written the line recently, one could also look up to where the line had been printed out on the roll of paper. | + | While BASIC didn't require programmers to put things in certain columns, there was a requirement that something be put at the beginning of each line: a line number, such as "10." This facilitated branching, of course; the GOTO and GOSUB statements refer to the line numbers where program flow should continue. BASIC did not actually need line numbers for this purpose, however. Labels, such as those used in assembly, would have sufficed, and indeed they do suffice in later versions BASIC that do not use line numbers. The line number's real value is seen on a Teletype or other print terminal, or in any environment where full-screen editing is not an option. Line numbers made it easy in those cases to delete existing lines; simply type the line number without any further instructions, and the line disappears. To correct a single existing line, just retype a line with the same line number. To see what a particular line, say line 50, currently is, "LIST 50" will do the trick -- although if one had written the line recently, one could also look up to where the line had been printed out on the roll of paper. |
The practice of numbering program statements by multiples of five or ten is not merely aesthetic; the insertion of new lines in a program requires that, as the 1964 manual puts it, "the original line numbers <ins>not</ins> be consecutive numbers" (22). Numbering a program 10, 20, 30, and so on ensured that between every existing program statement there was room for nine more. It was an acknowledgement that the program is dynamic rather than fixed and perfect. The ''Commodore 64 User's Guide'' also advises that "it is good programming practice to number lines in increments of 10--in case you need to insert some statements later on" (33). | The practice of numbering program statements by multiples of five or ten is not merely aesthetic; the insertion of new lines in a program requires that, as the 1964 manual puts it, "the original line numbers <ins>not</ins> be consecutive numbers" (22). Numbering a program 10, 20, 30, and so on ensured that between every existing program statement there was room for nine more. It was an acknowledgement that the program is dynamic rather than fixed and perfect. The ''Commodore 64 User's Guide'' also advises that "it is good programming practice to number lines in increments of 10--in case you need to insert some statements later on" (33). | ||
| Line 73: | Line 73: | ||
The computing revolution that followed time-sharing would change industry and reshape everyday interactions with computing. It was the beginning of the home computer or minicomputer era. The face that launched a thousand ships was a panel of switches and LEDs on the cover of the January 1975 ''Popular Electronics.'' -- the visage of the Altair 8800. This $395 machine ($495 assembled) was described consistently on the cover and throughout the magazine as a "minicomputer," rather than a "microcomputer." The article about this device also describes the many virtues of a useful computer for individuals and the headline of the editorial on page 4 proclaims "THE HOME COMPUTER IS HERE!" ''Popular Electronics'' was hardly a novelty publication by the time this issue came out; the magazine was founded in 1954 by Ziff-Davis Publications and was a well-known, widely-distributed magazine by 1975. The year did mark an inflection point for home computing and for the magazine, which came to focus increasingly on computing. In November 1982, the magazine would be renamed ''Computers & Electronics.'' | The computing revolution that followed time-sharing would change industry and reshape everyday interactions with computing. It was the beginning of the home computer or minicomputer era. The face that launched a thousand ships was a panel of switches and LEDs on the cover of the January 1975 ''Popular Electronics.'' -- the visage of the Altair 8800. This $395 machine ($495 assembled) was described consistently on the cover and throughout the magazine as a "minicomputer," rather than a "microcomputer." The article about this device also describes the many virtues of a useful computer for individuals and the headline of the editorial on page 4 proclaims "THE HOME COMPUTER IS HERE!" ''Popular Electronics'' was hardly a novelty publication by the time this issue came out; the magazine was founded in 1954 by Ziff-Davis Publications and was a well-known, widely-distributed magazine by 1975. The year did mark an inflection point for home computing and for the magazine, which came to focus increasingly on computing. In November 1982, the magazine would be renamed ''Computers & Electronics.'' | ||
| − | 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 Mechanics'' 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. |
The two major successful efforts to develop a BASIC interpreter for the Altair are important and intriguing. While this tale of two BASICs doesn't clearly show the best of BASIC and the worst of BASIC, they do 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. | The two major successful efforts to develop a BASIC interpreter for the Altair are important and intriguing. While this tale of two BASICs doesn't clearly show the best of BASIC and the worst of BASIC, they do 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. | ||
| Line 83: | Line 83: | ||
Gates and Allen were successful in fitting their BASIC interpreter into an austere 4 KB -- although there was a third Altair BASIC programmer, too, a sort of legendary fifth Beatle of Microsoft. 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 had him contribute these. As 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). | Gates and Allen were successful in fitting their BASIC interpreter into an austere 4 KB -- although there was a third Altair BASIC programmer, too, a sort of legendary fifth Beatle of Microsoft. 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 had him contribute these. As 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). | ||
| − | Allen flew to visit MITS in Albuquerque, taking the program on paper tape. Allen 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 on 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. Allen 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 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. |
In the book ''Invisible Engines,'' three authors develop of 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 the book ''Invisible Engines,'' three authors develop of 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. | ||
| Line 89: | Line 89: | ||
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, 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. | ||
| − | Microsoft's Windows is one 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 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. | ||
| Line 101: | Line 101: | ||
== Tiny BASIC and Copyleft == | == Tiny BASIC and Copyleft == | ||
| − | In 1975, another BASIC was developed for the Altair thanks to volunteer programmers and the nonprofit People's Computer Company (PCC). Bob Albrecht, who had founded "probably the world's first completely free, walk-in, public computer center -- People's Computer Center -- in a storefront in Menlo Park, California" (Dr. Dobbs @ 30) was one of many, along with Paul Allen, who had seen the ''Popular Electronics'' cover story on the MITS Altair. He discussed it with Dennis Allison, who taught at Stanford, and Allison began to develop a specification for a limited BASIC interpreter called Tiny BASIC. In a collaborative hobbyist spirit, Allison's documents were published by Albrecht in three parts in issues of the PCC newsletter, a serial which had been running since October 1972. At the conclusion of this Allison's series of specifications, Allison called for programmers to send in their implementations and offered to circulate them to anyone who sent a self-addressed stamped envelope. | + | In 1975, another BASIC was developed for the Altair thanks to volunteer programmers and the nonprofit People's Computer Company (PCC). Bob Albrecht, who had founded "probably the world's first completely free, walk-in, public computer center -- People's Computer Center -- in a storefront in Menlo Park, California" (Dr. Dobbs @ 30) was one of many, along with Paul Allen, who had seen the ''Popular Electronics'' cover story on the MITS Altair. He discussed it with Dennis Allison, who taught at Stanford, and Allison began to develop a specification for a limited BASIC interpreter called Tiny BASIC. In a collaborative hobbyist spirit, Allison's documents were published by Albrecht in three parts in issues of the PCC newsletter, a serial which had been running since October 1972. At the conclusion of this series of specifications, Allison called for programmers to send in their implementations and offered to circulate them to anyone who sent a self-addressed stamped envelope. |
The first interpreter written in response to this call was by Dick Whipple and John Arnold and was developed in December 1975. To disseminate it, Albrecht and Allison decided to start a new serial, initially photocopied and originally intended to just run for a few issues. This was ''Dr. Dobb's Journal of Tiny BASIC Calisthenics and Orthodontia,'' which printed the code for the interpreter in octal machine language, ready for hobbyists to toggle in or (hopefully) key in on their Teletypes. It would be an understatement to call this publication a success. By January of 1976 the journal title was made more general by removing the explicit mention of ''Tiny BASIC,'' an editor was hired, and ''Dr. Dobb's'' launched as a newsletter offering code and articles on computing topics. The journal still exists online. It ran as a print publication until 2009, and shortly before that had a circulation of 120,000. In 1985, ''Dr. Dobb's'' published Richard Stallman's "GNU Manifesto." | The first interpreter written in response to this call was by Dick Whipple and John Arnold and was developed in December 1975. To disseminate it, Albrecht and Allison decided to start a new serial, initially photocopied and originally intended to just run for a few issues. This was ''Dr. Dobb's Journal of Tiny BASIC Calisthenics and Orthodontia,'' which printed the code for the interpreter in octal machine language, ready for hobbyists to toggle in or (hopefully) key in on their Teletypes. It would be an understatement to call this publication a success. By January of 1976 the journal title was made more general by removing the explicit mention of ''Tiny BASIC,'' an editor was hired, and ''Dr. Dobb's'' launched as a newsletter offering code and articles on computing topics. The journal still exists online. It ran as a print publication until 2009, and shortly before that had a circulation of 120,000. In 1985, ''Dr. Dobb's'' published Richard Stallman's "GNU Manifesto." | ||
| Line 130: | Line 130: | ||
There are a few complications to the most popular version of this early clash, and to simplistic assignment of good and evil roles, just as there are complications in considering Altair BASIC as the absolute bad guy when compared to TinyBASIC. | There are a few complications to the most popular version of this early clash, and to simplistic assignment of good and evil roles, just as there are complications in considering Altair BASIC as the absolute bad guy when compared to TinyBASIC. | ||
| − | For one thing, neither Microsoft, Gates, nor Allen is the party fingered in Levy's book as the "foe." That moniker is attached to Ed Roberts, the head of MITS, who was running a business with dozens of employees, many of whom would be around furiously working at any given hour to fulfill computer hobbyist's orders (and their dreams of computer ownership). At the beginning of 1976, "Micro-Soft" (the spelling had not been regularized by the time of the first letter) was simply two partners, both recent college drop-outs, one a teenager and other only slightly older. The company had hired other people, such as BASIC contributor Monte Davidoff, to work on projects, but it would not gets its first official employee until April 1976. | + | For one thing, neither Microsoft, Gates, nor Allen is the party fingered in Levy's book as the "foe." That moniker is attached to Ed Roberts, the head of MITS, who was running a business with dozens of employees, many of whom would be around furiously working at any given hour to fulfill computer hobbyist's orders (and their dreams of computer ownership). At the beginning of 1976, "Micro-Soft" (the spelling had not been regularized by the time of the first letter) was simply two partners, both recent college drop-outs, one a teenager and other only slightly older. The company had hired other people, such as BASIC contributor Monte Davidoff, to work on projects, but it would not gets its first official employee until April 1976. |
Copyright protection for computer programs, which Gates based his argument upon, was well-established by 1976. While sharing of programs certainly happened in users' groups and other contexts, today's concept of free software had not been articulated by that time. Richard Stallman started the GNU project in 1983 and published the GNU Manifesto and founded the Free Software Foundation in 1985, a decade after Altair BASIC. An argument has been made that, even though this discourse has been overlooked, some of the ideas important to the free software movement were first publicly stated in the columns of magazines and newsletters in response to Gates's letter. (Driscoll) But many hobbyists were not interested in free (as in freedom) software as it is conceptualized today; rather, they were interested in (as the editorial in the first issue of ''Dr. Dobbs'' explained) "free and very inexpensive" software. | Copyright protection for computer programs, which Gates based his argument upon, was well-established by 1976. While sharing of programs certainly happened in users' groups and other contexts, today's concept of free software had not been articulated by that time. Richard Stallman started the GNU project in 1983 and published the GNU Manifesto and founded the Free Software Foundation in 1985, a decade after Altair BASIC. An argument has been made that, even though this discourse has been overlooked, some of the ideas important to the free software movement were first publicly stated in the columns of magazines and newsletters in response to Gates's letter. (Driscoll) But many hobbyists were not interested in free (as in freedom) software as it is conceptualized today; rather, they were interested in (as the editorial in the first issue of ''Dr. Dobbs'' explained) "free and very inexpensive" software. | ||
| Line 186: | Line 186: | ||
On the other hand there are introductions to BASIC that make extensive use of BASIC as the language of choice: ''Programming for Poets. A Gentle Introduction Using BASIC'', written by Richard Conway and James Archer and published in 1979 by Winthrop Publishers of Cambridge, MA., which is a simplified textbook; and ''BASIC With Style. Programming Proverbs'' by Paul Nagin and Henry F. Ledgard (Hayden Book Co., 1978). Among these are also more typical textbooks. | On the other hand there are introductions to BASIC that make extensive use of BASIC as the language of choice: ''Programming for Poets. A Gentle Introduction Using BASIC'', written by Richard Conway and James Archer and published in 1979 by Winthrop Publishers of Cambridge, MA., which is a simplified textbook; and ''BASIC With Style. Programming Proverbs'' by Paul Nagin and Henry F. Ledgard (Hayden Book Co., 1978). Among these are also more typical textbooks. | ||
| − | While many early books about BASIC are about pursuing hobbies (and games in particular), it would be remiss not to mention the types of books that help people organize their lives and keep their small businesses afloat. Charles D. Sternberg’s ''BASIC Computer Programs for the Home'' (1980) is one such book, whose specific aim was to satisfy "the practical requirements of the home." The author wishes to address the user's desire not to "rely upon the availability of tape or disk-storage devices or any other features that may not be easily come by" and encourages the "modification of these programs to utilize features of your particular machine should present few difficulties." The author offers many reassurances of the ease with which programs can be entered, run, used, and even changed. Besides providing home financial programs, for example, and such "kitchen helpmates" as programs to convert recipe quantities, to plan meals according to various diets, to inventory the freezer’s contents, etc., this book provides descriptions of the purpose and functions of each program as well as some details about data entry, outputs, and other commentary. In the introduction the author explains that he eschews "highly efficient routines" in favor of increased "clarity" and a "modularity" which lends itself to easier alteration. | + | While many early books about BASIC are about pursuing hobbies (and games in particular), it would be remiss not to mention the types of books that help people organize their lives and keep their small businesses afloat. Charles D. Sternberg’s ''BASIC Computer Programs for the Home'' (1980) is one such book, whose specific aim was to satisfy "the practical requirements of the home." The author wishes to address the user's desire not to "rely upon the availability of tape or disk-storage devices or any other features that may not be easily come by" and encourages the "modification of these programs to utilize features of your particular machine should present few difficulties." The author offers many reassurances of the ease with which programs can be entered, run, used, and even changed. Besides providing home financial programs, for example, and such "kitchen helpmates" as programs to convert recipe quantities, to plan meals according to various diets, to inventory the freezer’s contents, etc., this book provides descriptions of the purpose and functions of each program as well as some details about data entry, outputs, and other commentary. In the introduction the author explains that he eschews "highly efficient routines" in favor of increased "clarity" and a "modularity" which lends itself to easier alteration. |
If 1977 and 1978 seem to be turning points in the explosion in the print transmission of BASIC, there are in the early 1980s more and more books about BASIC, in its many tweaked flavors, published explicitly with niche audiences in mind, as illustrated by Sterberg's book as well as Zuanich & Lipscomb's ''BASIC Fun with Graphics the Apple Way'' and ''BASIC Fun with Graphics the IBM/PC Way'' (both Avon Books, 1983) for children. | If 1977 and 1978 seem to be turning points in the explosion in the print transmission of BASIC, there are in the early 1980s more and more books about BASIC, in its many tweaked flavors, published explicitly with niche audiences in mind, as illustrated by Sterberg's book as well as Zuanich & Lipscomb's ''BASIC Fun with Graphics the Apple Way'' and ''BASIC Fun with Graphics the IBM/PC Way'' (both Avon Books, 1983) for children. | ||
| Line 194: | Line 194: | ||
It is hard enough these days to remember programs being transmitted on physical media such as floppy disks and cassette tapes. The notion that programs would routinely be published in print and typed by users is even more alien, but programs were indeed transmitted in this way, and people are still invited to key in code snippets of different sorts from books on programming. | It is hard enough these days to remember programs being transmitted on physical media such as floppy disks and cassette tapes. The notion that programs would routinely be published in print and typed by users is even more alien, but programs were indeed transmitted in this way, and people are still invited to key in code snippets of different sorts from books on programming. | ||
| − | There is an even stranger way that programs, particularly short ones such as BASIC one-liners, got from computer to computer and from person to person: By being memorized. The claim here is not that the early 1980s presented a ''Fahrenheit 451'' situation in which the world's great computer programs were preserved by a dedicated few, but that it was common for people who knew a bit of programming to keep a one-liner, or even a handful of short programs, in mind so that they could be typed into a friend's computer. Very short programs that did visually interesting things were particularly worth memorizing. And since programmers typically had to memorize certain BASIC statements, such as <code>? CHR$(147)</code> (which clears the screen), it was not much of a leap to memorize two statements in that language, such as <code>10 PRINT CHR$(205.5+RND(1)); : GOTO 10</code>. | + | There is an even stranger way that programs, particularly short ones such as BASIC one-liners, got from computer to computer and from person to person: by being memorized. The claim here is not that the early 1980s presented a ''Fahrenheit 451'' situation in which the world's great computer programs were preserved by a dedicated few, but that it was common for people who knew a bit of programming to keep a one-liner, or even a handful of short programs, in mind so that they could be typed into a friend's computer. Very short programs that did visually interesting things were particularly worth memorizing. And since programmers typically had to memorize certain BASIC statements, such as <code>? CHR$(147)</code> (which clears the screen), it was not much of a leap to memorize two statements in that language, such as <code>10 PRINT CHR$(205.5+RND(1)); : GOTO 10</code>. |
The dream of having total recall of a massive computer program manifests itself in science fiction. In Cory Doctorow's story "0wnz0red," the main character, Murray, is initially a fat slob who, after the death of his only friend Liam, has spiraled downwards personally and in terms of code quality. After Liam returns, having actually hacked his body and mind into near-perfection, Murray is provided with similarly superhuman abilities, including the ability to exactly remember large amounts of English text: "... generating a 4,096 bit key that he could remember was going to be damned hard, but then he closed his eyes and recalled, with perfect clarity, the first five pages of documentation he'd written for the API. His fingers rattled on the keys at speed, zero typos." The keyboard isn't essential to this process: Later, while hooded and being interrogated, Murray recites the entire key. | The dream of having total recall of a massive computer program manifests itself in science fiction. In Cory Doctorow's story "0wnz0red," the main character, Murray, is initially a fat slob who, after the death of his only friend Liam, has spiraled downwards personally and in terms of code quality. After Liam returns, having actually hacked his body and mind into near-perfection, Murray is provided with similarly superhuman abilities, including the ability to exactly remember large amounts of English text: "... generating a 4,096 bit key that he could remember was going to be damned hard, but then he closed his eyes and recalled, with perfect clarity, the first five pages of documentation he'd written for the API. His fingers rattled on the keys at speed, zero typos." The keyboard isn't essential to this process: Later, while hooded and being interrogated, Murray recites the entire key. | ||
