By Earl Hunsinger
Can you imagine using punch cards to communicate with your computer? That’s how researchers interacted with early computers; they formulated a program to solve a real world problem and then punched holes in a series of cards to tell the computer what to do. This may not seem like such a big deal until you consider that some complex programs took tens of thousands of cards, which had to remain in the correct order. Pity the researcher who tripped and dropped a stack of cards.
The cards were entered into the computer by an operator, who returned them hours, or days, later, along with a printout showing any errors. Usually the stack of cards had to be run more than once before satisfactory results could be obtained. In addition, only one program could be run on the computer at a time. These were some of the contributing factors leading to the development of the higher level programming languages, including Fortran, Cobol, and Basic.
The name Basic stands for Beginner’s All-purpose Symbolic Instruction Code. It was developed in 1964 by two Mathematics Professors at Dartmouth College: Thomas Kurtz and John Kemeny. Their goal was to create a language that would be easy for anyone to learn and that would serve as a stepping stone to the more complex computer languages of the day. They certainly succeeded in this goal. Basic quickly became extremely popular, with multiple versions created in the 70s and 80s. It was so easy to learn that both elementary and high schools across the U.S. acquired computers with the Basic language built in, and students as young as seven years old began to learn it. At the same time, although it was called a “Beginner’s” language, it was powerful enough to be used by serious researchers in the scientific community.
One version of Basic has the distinction to be the first product sold by Microsoft, and reportedly, the first major piece of software ever pirated. According to the story, Bill Gates somehow lost a paper tape copy of the program while attending a computer show. The later widespread copying of the program prompted Gates to write an open letter stating that software copying was theft. This letter was published in a number of computer magazines.
The Basic language in its many versions has several advantages. The earlier versions used line numbers to make debugging easier. Programmers often incremented their lines by 10. In this way, new lines could be inserted later without the need to renumber everything.
In Basic, each line has one fairly self-explanatory command or statement. For example, PRINT “test” means to print the word “test” on the screen. Actions can be repeated by using a simple recursive command, called a FOR NEXT statement, again with one command per line. An example of this would be:
10 FOR x=1 TO 7
20 PRINT x
30 NEXT x
On line 10 the variable x is first given a value of 1. Line 20 prints the number 1 on the screen. Line 30 is a simple counter, incrementing x each time it is reached, first making it equal to 2, then 3, etc. and making the program repeat the sequence until the number 7 is reached, printing the value of x each time. This means that when the program runs, it prints the numbers 1 to 7 on the screen. Other commands follow a similar common sense approach.
The Basic programming language is more than just a part of the early history of computers and computer programming. Many modern programming languages, such as Visual Basic, can trace their roots directly back to the language first developed at Dartmouth College back in the 60s. Computers have come a long way since those early years. Users and programmers alike can be grateful that we no longer have to use paper punch cards, thanks at least in part to the developers of programming languages like Basic.