Just like the first mainframe computers, the first microcomputers had no language, either. They had too little memory to support any software, so they were programmed in machine language by setting front-panel switches. Micros that had no front panel (like the Southwest Technical Products M6800) were programmed in assembly language through the use of a monitor program contained in ROM. The monitor chip also had a mini-compiler to translate programs into machine language.
Once the thrill of having actually built a working computer wore off, the computer hobbyists wanted to do something with their machines. Soon 2K and 4K memory boards became available, and with them, the possibility of using high-level languages.
A group called People’s Computer Co. was organized by Bob Albricht, Dennis Allison, and friends in Menlo Park, Calif., to promote the private use of computers. At first they operated on DEC minis and from terminals connected to even larger computers. They also published a newspaper called People’s Computer.
In this publication, Allison, Bernard Grening, “Happy Lady,” and others published the specifications for Tiny Basic–a language designed to operate on microcomputers with as little as 3K worth of memory. Tiny Basic was soon widely implemented by many hobbyists. These same enthusiasts expanded and ported Tiny Basic to 8080, 6800, and 6502 microcomputers. To promote the use of Tiny Basic, the People’s Computer newspaper was upgraded to a new publication called Dr. Dobbs’ Journal of Tiny Basic, Computer Calisthenics & Orthodontia. The Tiny Basic portion of the title was soon omitted and the magazine became more general; you probably still know it today as Dr. Dobbs’ Journal.
No one felt the need for a robust microcomputer BASIC more than Ed Roberts, inventor of the Altair and head of MITS, the company that manufactured it. When he received a letter from a company called Traf-O-Data claiming that they had developed just such a BASIC, he called the company right away. It turned out that Traf-O-Data was a couple of Harvard students named Paul Allen and Bill Gates, and they didn’t actually have a new BASIC, but rather a cross-compiler that ran on a large computer and could simulate an 8080 micro.
They also knew DEC’s mini-based BASIC and felt it could be adapted to the smaller machines. Although Roberts immediately wanted them to come and show him their BASIC version, the two partners managed to stall him long enough to actually write it. Even though they had never run their BASIC on an actual Altair 8080, the partners visited MITS and demonstrated their language to Roberts–and it worked! The partners renamed their company Microsoft and made a deal with Roberts to sell their software as Altair BASIC.
This was a royalty arrangement with Roberts working in the sale of Altair BASIC with the purchase of MITS memory boards. If you bought the MITS memory, you could buy the BASIC at a reasonable cost. But if you wanted the BASIC alone, the price was outrageous, at least to computer hobbyists who believed in the hacker ethic that software should be free. In response, they invented multiuser software–one person bought BASIC and 10 people used it.
Gates was outraged. These hackers were robbing him, and while his BASIC was sweeping across the country, he was making hardly anything on it. He wrote a letter to Byte magazine addressed to the hobbyists. He told them that they were thieves and if this kept up, he wasn’t going to write more software. Eventually Microsoft broke loose from the contract with MITS and went out on its own. It has been said that Ed Roberts was the last one to get the best of Bill Gates in a business deal.
The Microsoft 8K and 12K BASIC languages became standards in the industry and were eventually modified for use on Tandy’s TRS-80 and many other popular microcomputers. The main rivals to Tandy and Microsoft were the Digital Group of Denver, Colo., and South West Technical Products Co. (SWTPC) of San Antonio, Texas. Both of these companies developed versions of BASIC to support their computers. The Digital Group had one of the first BASIC versions that supported a video board and a digital tape recorder.
The SWTPC 6800 had a whole series of BASIC versions designed to run with increasing amounts of memory. The owner of SWTPC, Dan Meyers, had a sense of humor and liked to joke at the expense of the S-100 bus companies (Altair, Microsoft, Tandy, et al.). He made fun of the software cost for the Altair and Imsai 8080 computers. His BASIC was excellent and written by a man named Robert Uiterwyck. He agreed to subsidize and sell it for $4 for 4K BASIC, $8 for 8K BASIC, and $12 for 12K BASIC–pennies when compared to Microsoft’s prices.
As cassettes gave way to floppy disk systems, a new layer between the computer and its language was required. This was the disk operating system, and computer languages had to be modified to work with them. The dominant 8-bit operating system for 8080 and Z-80 computers became Digital Research’s CP/M, written by Gary Kildall, who also wrote a minicomputer and microcomputer version of PL/1 called PL/M.
Microsoft quickly gave up its first version of Disk BASIC designed to directly support floppy disks and modified it to run under CP/M and Radio Shack’s TRSDOS; this soon became the standard BASIC for 8080- and Z-80-based personal computers and was the first language selected by IBM to run on its new personal computers. With floppy disk storage available, Microsoft also came out with new versions of FORTRAN, Pascal, and COBOL. However, at this time BASIC was still the language of choice.
All the early versions of BASIC were interpretive, that is, each program line was translated by the computer and executed before going on to the next line. If there was an error, the program stopped and an error message was displayed. In contrast, larger computers used compiled languages. In these, the program was written in an editor that produced source code. Then the entire source code was translated into an object-code version, which was what actually ran on the computer. Though this gave much faster performance, if one line of the program was changed, the entire thing had to be recompiled.
In 1976, a man named Gordon Eubanks wrote a compiled version of BASIC designed to run under CP/M. Because he wrote it while he was at the Micro Computer Labs of the U.S. Naval Postgraduate School, his language (E-Basic) was in the public domain. Later an upgraded, commercial version called C-Basic was written and Eubanks came to work at Digital Research. This became very popular for business applications–so, of course, Microsoft soon came out with its own compiled BASIC.
Other computer companies using their own BASIC included Processor Technology, Digital Group, and North Star. Eventually the first two of these went out of business, and North Star computers were designed to run CP/M and Microsoft BASIC as well as the company’s own BASIC.
The Apple II and Commodore computers were becoming popular around this time, and these machines used the 6502 microprocessors, so they each had their own versions of BASIC. Though both were equipped with strong graphic extensions not possible with the S-100 and TRS-80 computers, and had large libraries of software, they had nowhere near the number of applications running under Z-80 or 8080 computers. To make matters worse, Apple BASIC was solely supported by Apple Computer, and Commodore BASIC only ran on Commodores.
To get into the Apple II market, Microsoft sold a plug-in board for the Apple II that could run its versions of CP/M and BASIC. Eventually Microsoft wound up selling as much CP/M under license as did Digital Research.
Pascal was developed in Europe as a teaching language. It ran mainly on large computers, but at the University of California, San Diego (UCSD), a project was started to port Pascal to microcomputers. What was developed was not only a language, but a complete operating system called the P-system, which supported not only Pascal but also versions of FORTRAN, COBOL, and BASIC. UCSD Pascal was given to universities at almost no cost. In addition, the UCSD Pascal project received strong support from the industry. Apple, Western Digital, and North Star all bought licenses.
Unfortunately, it was soon discovered that the university was making money on Pascal, and the trustees were warned that this might affect the school’s nonprofit status. So the project was turned over to a private company that charged such high prices that Pascal was soon priced out of the market. The new price of UCSD Pascal, however, encouraged low-cost versions and several were marketed for as little as $19. Predictably, though, most of these weren’t worth even that. Finally, Borland International came out with Turbo Pascal at a very low cost. Today’s version of this powerful language is still a popular application generator.
But with the advent of 16-bit PCs carrying larger memory banks, versions of Unix started to run on the microcomputer platform, and the principal programming language used with this system was known as C. The C language was also ported to DOS-based computers and soon supplanted BASIC and Pascal as the most widely used programming development tool. An upgraded version of this environment was developed by Bjarne Stroustrup and was given the name C++ by Rick Mascitti in 1983. Today, C++ and Visual C++ are the most popular programming environments for Windows applications.
Also with the advent of Windows, BASIC has again gained popularity in the form of Visual Basic, currently in version 3.0. Like Visual C++, this is a programming environment based upon the old BASIC language that makes use of the Windows graphical user interface to allow programmers to create applications without having to write code. It’s all aiming at a point-and-click or drag-and-drop solution. While there is still a ways to go to make that vision a reality, both Visual Basic and Visual C++ have enabled many inexperienced programmers to get a productive taste of application development.