BASIC
From Maze
(Difference between revisions)
(→Circulating Programs in Print) | (→Dartmouth BASIC and Time-Sharing Minicomputers) | ||
| Line 19: | Line 19: | ||
== Dartmouth BASIC and Time-Sharing Minicomputers == | == Dartmouth BASIC and Time-Sharing Minicomputers == | ||
| − | In 1962, change was sweeping through the remote Dartmouth campus. Time Magazine noted late that year, in article that declared the college was coming "out of the woods," that the school had built a major new arts center and that John Kemeny, who had made full professor at age 27, had built "the best college math department in the country." [http://www.time.com/time/magazine/article/0,9171,829487-1,00.html] The year, Kemeny and his colleague Thomas Kurtz had started developing a time-sharing system and a programming language to allow all students at Dartmouth -- not just those studying math, science, or engineering -- to learn how to program. | + | In 1962, change was sweeping through the remote Dartmouth campus. Time Magazine noted late that year, in article that declared the college was coming "out of the woods," that the school had built a major new arts center and that John Kemeny, who had made full professor at age 27, had built "the best college math department in the country." [http://www.time.com/time/magazine/article/0,9171,829487-1,00.html] The year, Kemeny and his colleague Thomas Kurtz had started developing a time-sharing system and a new programming language for the education of all students at Dartmouth -- not just those studying math, science, or engineering. |
| − | The creators of BASIC sought to create a language that novices could start using within minutes; this intent is clearly reflected in some of BASIC's original design principles. BASIC should, Kemeny and Kurtz decided, "give error messages that were clear and friendly" and provide default options that satisfy most users' needs (9). "If the expert needs something fancier," Kemeny and Kurtz declared, "let the expert do the extra work!" (11). Furthermore, BASIC was meant to be a true high-level language, demanding no knowledge of hardware specifics (9). | + | The creators of BASIC sought to significantly lower the barriers to programming. To begin with, an interactive time-sharing system allowed users to quickly correct minor errors rather than coming back 24 hours later with a new stack of punched cards for their next scheduled batch job. BASIC was meant to help new programmers as well, 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). Furthermore, 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 (9). |
Version 1 of Dartmouth BASIC introduced another concept to programming that is readily apparent in 10 PRINT: the line number. Prior to BASIC, computing jobs were performed by batch processing. A program consisted of a stack of IBM cards, prepared on a keypunch and submitted to the computer. Multiple programs would be fed into the computer, which would then execute them one by one, printing out the results. When all of the programs had been run, another batch could be given to it. Any error in any keycard would result in an unexecutable program; debugging was a long and painful process. Line numbers solved the problem, or at least made it easier to pinpoint errors. An error in a program meant only the offending line had to be retyped, rather than an entire keycard repunched. [I don't see how replacing one line with another is any harder or easier than punching another card. It seems to me to be an identical process: one occurs on a Teletype, one occurs on a keypunch machine. A card is one line long. -nm] | Version 1 of Dartmouth BASIC introduced another concept to programming that is readily apparent in 10 PRINT: the line number. Prior to BASIC, computing jobs were performed by batch processing. A program consisted of a stack of IBM cards, prepared on a keypunch and submitted to the computer. Multiple programs would be fed into the computer, which would then execute them one by one, printing out the results. When all of the programs had been run, another batch could be given to it. Any error in any keycard would result in an unexecutable program; debugging was a long and painful process. Line numbers solved the problem, or at least made it easier to pinpoint errors. An error in a program meant only the offending line had to be retyped, rather than an entire keycard repunched. [I don't see how replacing one line with another is any harder or easier than punching another card. It seems to me to be an identical process: one occurs on a Teletype, one occurs on a keypunch machine. A card is one line long. -nm] | ||
