BASIC

From Maze

Revision as of 15:22, 27 March 2011 by Nickm (Talk | contribs) (→Outline (to be replaced))
Jump to: navigation, search

Unquestionably, an important aspect of 10 PRINT is that it is written in a particular programming language, BASIC, which itself has an interesting cultural and technical history. The first version of BASIC was developed by two professors for use in teaching in a liberal arts college; it became operational in 1964 and was freely shared by its creators, leading to its use in high schools among other contexts. By that time, general-purpose computers had been programmed for about two decades and high-level languages (of which BASIC is one example) had been in widespread use for a decade. While BASIC has distinguishing features, it also continues the history of high-level languages, particularly Fortran and Algol.

BASIC's invention in an educational context signals one important aspects of its use. The language was developed for use in time-sharing environments - specifically, for use in the Dartmouth Time-Sharing System. 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, was very different from that of the personally owned, inexpensive, single-user computers of the microcomputer era. It was also very different from the batch processing of jobs punched out on card, though. Time sharing allowed people to engage with and explore computation in significant new ways, and BASIC was an important part of this computing revolution.

The story of BASIC becomes even more interesting as microcomputers come to market and into people's homes. In 1975, the MITS Altair 8800 computer became available, provided in a kit which the purchaser had to assemble. This computer was widely acclaimed as the first home computer. Perhaps the most significant piece of software for this system was Altair BASIC, an interpreter for the BASIC programming language that was the first product of a new startup company, known at the time as "Micro-Soft." The company didn't stop at this version. Thanks in large part to Microsoft, BASIC became the lingua franca of home computing. Microsoft's versions were standard on many popular microcomputers, provided in ROM so that the computer could be turned on and immediately programmed. BASIC reigned in the late 1970s and through the early 1980s, when 10 PRINT circulated in print and was being keyed in by numerous users. It was so obvious that this language was the language of choice that some books of BASIC programs do not even find it necessary to mention "BASIC" on their cover or in introducing the book.

While the heyday of the language did not last, interesting new versions of BASIC, sometimes radically reformulated, continued to appear. The creators of the original language introduced True BASIC in 1983. In 1985, Microsoft's QuickBASIC offered several innovations and, for instance, made line numbers options. And Microsoft's even more radically different Visual Basic saw widespread use in creating business applications.

BASIC (along with COBOL) seems to be one of the major whipping boys among programming languages. Inextricably associated with Microsoft and that bane of structured programmers, GOTO, it is said to encourage the writing of spaghetti code, to be unbearably slow, and to be suitable only for children and amateurs. Yet many programmers in the early 21st century remember BASIC fondly - as they should. The language was a popular success, worked well for small programs that tested the possibilities of computing, and fostered creativity and innovation by new categories of computer users.

Outline (to be replaced)

  • Programming and high-level programming languages
  • Dartmouth BASIC
    • Line numbers, starting with 10
    • Flow control and GOTO
      • BASIC not a structured programming language (no blocks, etc.)
      • Many of BASIC's control flow concepts are taken directly from machine language
      • Dijkstra's arguments against GOTO
      • Vs. FOR NEXT, GOSUB, IF THEN
    • PRINT
    • "READY"
      • Originally used for output to print terminals
      • semicolon
    • Educational use, teaching of BASIC in schools more generally
    • Background on the functions in BASIC. Why are the particular functions in BASIC present?
  • Microsoft, BASIC for the Altair (their first product), and Microsoft BASICs
    • PEEK, POKE
  • C64 BASIC
  • Variation in BASIC dialects on contemporaneous machines
  • The circulation of code in print (magazines and books)
  • BASIC in memory and culture (memorization of one liners)
  • Uses of BASIC in commercial programs
  • BASIC's legacy
Personal tools