BASIC - the Programming Language
Created | Updated Jul 11, 2014
In the earliest days of computing, there were two proud but separate traditions, those of the Users and the Operators. The User, typically a student at a university or a researcher trying to solve a problem in the real world, would have to punch their programs onto cards, up to 70,000 different cards for some complex programs, and every card had to be in exact order or the machine would generate errors. The operators, sometimes referred to by the Users as 'White Coats', were the only ones allowed to touch the machines. The Users would bring in their card deck, hand them to the Operator who would run the deck. The User would then get the deck back and a printout of the information. This meant that only one program at a time could be run, and the User couldn't make adjustments until after the printout had been returned. The need for a system where many Users could act as their own Operators on a single machine brought about the BASIC language.
The BASIC Origins
So, BASIC, the 'Beginners All-purpose Symbolic Instruction Code', was written in the early 1960s by two Dartmouth mathematics Profs, Thomas Kurtz and John Kemeny. The intent was to have a language that was easy to learn that could be used on the GE225 time-sharing system that Dartmouth was about ready to launch. The pair thought that the most popular languages of the day, including Fortran and ALGOL, were too complex for non-technical folks to learn. Using elements from both Fortran and ALGOL, and adding things like line numbers to make trouble shooting easier, Kemeny and Kurtz developed BASIC, at first only having 14 commands, including the famous GOTO. BASIC could be learned in as little as two sessions, a tremendous advantage over other languages that could take months.
The time-sharing system would allow many users to log in at the same time, running programs remotely via terminals around the campus in the Maths and Science departments. BASIC may have been the first language written with the intent of being used by non-computer professionals. Many early time-sharing systems used BASIC, including those powered by GE machines and DEC PDP-11 systems.
Setting the Hook
BASIC began to show up in many elementary schools around the country, particularly in cities where school districts could use Teletypes to get at University Mainframe Time Sharing systems. Children as young as seven were learning BASIC as a part of their curriculum. This early introduction made sure that BASIC would continue to evolve.
BASIC Goes Big Time
When the microprocessor was introduced in the early 1970s, many of the young people introduced to BASIC in elementary schools started building computers from kits and went on to start companies. It should be no surprise that many early microcomputing systems chose BASIC, especially since Kemeny and Kurtz never patented or copyrighted the language. The first BASIC considered to be a full language implemented on a microprocessor was Li Chen Wang's Tiny Basic, which appeared in Dr Dobbs Magazine in early 1975.
Microsoft Starts
Bill Gates, then a student at Harvard, wrote a BASIC interpreter for the Altair in March 1975. Microsoft released their version of BASIC on paper tape later in the year, once Altairs actually started being delivered. The tapes were easy to pirate, as you could run it into your computer and then punch another copy of the tape on a teletype. Bill Gates wrote an open letter to hobbyists saying that software copying was theft, and claiming that all the work they had put into BASIC for the Altair had resulted in income of two US dollars an hour. This letter was published in many of the computer hobbyist magazines and was the first time people began to think of software sharing as piracy. It also was the first time people started to turn against Gates.
BASIC Comes Home
Many machines, including the early Apples, Radio Shack and Commodore computers, used BASIC as their primary interaction language. For a time it was the most widely used language on personal computers. One of the first pieces of software available for any early PC was a BASIC interpreter. Microsoft made a great deal of money on their version, allowing them to start developing other products. Microsoft had provided IBM with both the DOS operating system for the IBM PC, but also with their form of BASIC, each of which helped the growth of Microsoft enormously.
Kemeny and Kurtz, the designers of BASIC, released their own polished version of BASIC called True BASIC. The two profs believed that the variants of BASIC that companies had been releasing were altering the basic premise of BASIC, and the 'True BASIC' was to be the definitive version. It did not sell as well as the other versions on the market, especially those made by Microsoft.
Many new systems turned to BASIC for introducing people to computing. In the 1980s, the BBC used a version of BASIC called BBCBASIC (Occasionally written as BBasiC by the few Americans who knew anything about it) for the BBCMicro, later the Archimedes and many other British micros. The BBC Micro had been designed as part of a BBC plan to introduce computers to the general population (since Britain had been lagging to a degree behind the US in the percentage of homes and classrooms with computers). The machine and the variant of BASIC are almost unknown in America, though some believe that it could have caught on in the US with a proper introduction. There continues to be a strong group of users who proclaim BBCBASIC to be 'the best, most powerful BASIC ever written.'
The Slow Fade
BASIC began to fade away from the limelight when languages like C and Pascal got good compilers and interpreters for small machines. The beginning of Object-Oriented Programming (arguably with Alan Kay's SmallTalk) and languages like C++ put an end to the glory days of BASIC. BASIC still exists today in Microsoft's QBASIC and a few other products, and also as Visual BASIC, an object-oriented language developed by Microsoft, though it is less popular than many of the other object-oriented programming languages.
Looking Back
Several people point to BASIC as the gateway language, the first real language to bring computer programming out of the hands of mathematicians, making computer science as a separate discipline possible. John Kemeny passed away in the early 1990s, but Kurtz continues to speak and write about the early days of BASIC. Recently however, Kurtz denied the claim that BASIC was the single most important advancement in the history of programming.
I'm sorry to say, but I don't think we had much effect...
- Thomas Kurtz
Trailing Edge, October 2001 Technology Review