REM 14 historic BASIC implementations

50 years after its creation, here’s a look back at some of the most notable implementations of the BASIC programming language

Earlier this month, the BASIC (Beginners’ All-purpose Symbolic Instruction Code) programming language celebrated its 50th birthday. From its humble beginnings in the basement of a building at Dartmouth College in 1964, the language, which was designed to make programming easier for people to learn, became one of the most famous and well-used (and loved) programming languages ever. That first implementation of the language eventually spawned hundreds of other BASIC interpreters and compilers over the resulting decades for a wide variety of operating systems and computers. To celebrate the golden anniversary of the language that introduced many people to programming, here are 14 of the most historic BASIC implementations that were developed over the last 50 years.

Picture of the building at Dartmouth College where BASIC was born in 1964.
Credit: Kane5187
Dartmouth BASIC

Created by: John Kemeny and Thomas Kurtz

First released: 1964

Historical significance: BASIC was created by Dartmouth professors John Kemeny and Tom Kurtz and a team of undergraduates as a simpler alternative to more complex languages of the time, like Fortran and Algol. Dartmouth BASIC was a compiled language and was first accessible to students through the then-new Dartmouth Time Sharing System (DTSS), which allowed multiple people to use a centralized computer simultaneously and provided an interactive command line interface, using teletype terminals.

Picture of a DEC PDP-11 computer
HP BASIC for OpenVMS

Created by: Digital Equipment Corporation

First released: 1970

Historical significance: HP BASIC for OpenVMS is the latest name of a BASIC implementation with a long history. It was originally created as BASIC-PLUS by Digital Equipment Corporation (DEC) in 1970 for their 16-bit PDP-11 microcomputer. From there it morphed into BASIC Plus 2, then, with the advent of the VAX computer in 1977 it became VAX BASIC. DEC BASIC was created when VAX BASIC was ported to the new DEC Alpha in the early 1990s. In 1998, Compaq bought DEC and it was renamed Compaq BASIC for OpenVMS and, finally, when HP bought Compaq in 2002, it got its current name. Whew!

Picture of an Altair 8800 computer
Credit: dmealiffe
Altair BASIC

Created by: Bill Gates and Paul Allen

First released: 1975

Historical significance: Altair BASIC was the first product created by Microsoft and the beginning of Microsoft BASIC. Bill Gates and Paul Allen, along with developer Monte Davidoff, created this BASIC interpreter for the new MITS Altair 8800 personal computer. They famously wrote the interpreter at a motel in Albuquerque, New Mexico. The original version included floating-point arithmetic routines (unusual for the time), required less than 4 kilobytes of memory and was delivered to MITS on paper tape. Altair BASIC soon became popular with hobbyists who shared it amongst themselves freely, which prompted an open, angry letter from Bill Gates requesting they stop stealing his software.

Tiny BASIC

Created by: Dennis Allison

First released: 1975

Historical significance: In response to Bill Gates’ anger over people stealing his Altair BASIC, Dennis Allison of Stanford University published a freely available specification for a stripped down version of BASIC in 1975 that could run on microcomputers of the day, such as the Altair 8800 and IBM 8080. Tiny BASIC was designed as a subset of the standard BASIC language, excluding, among other features, support for strings and floating-point numbers, and was meant to fit in 2 to 3 kilobytes of memory. In 1976 Allison and Bob Albrecht launched Dr. Dobb’s Journal to publish the source code of Tiny BASIC implementations; the journal continues to be produced today.

Picture of an original Apple I computer
Integer BASIC

Created by: Steve Wozniak

First released: 1976

Historical significance: Steve Wozniak created the first version of BASIC for the 6502 microprocessor, when he wrote Integer BASIC for the Apple I computer in 1976. Using a manual for HP BASIC as a guide, Wozniak created the interpreter with an eye towards using it to write games (which is why he referred to it as Game BASIC). Indeed, after creating Integer BASIC, he used it to write a clone of Atari’s Breakout (which Wozniak helped to build). To save time during the build, he didn’t include support for for floating point numbers (hence the name); as a result, Integer BASIC became known for its speed.

Picture of an Apple II computer.
Credit: Jonathanzufi
Applesoft BASIC

Created by: Marc McDonald and Ric Weiland

First released: 1977

Historical significance: As brilliant and as fast as Steve Wozniak’s Integer BASIC was, Apple users quickly found its lack of support for floating point numbers problematic for creating business applications. While Wozniak started to modify Integer BASIC to support floating point numbers, Apple eventually decided it was quicker to license a new version of BASIC for MOS 6502 processors from Microsoft, which was called Applesoft BASIC. Compared to Integer BASIC, Applesoft BASIC offered greater functionality, such as support for floating-point numbers, multidimensional arrays and user-defined functions, but at a cost of slower performance.

Screenshot of from a Commodore BASIC being run on a Commodore 64.
Commodore BASIC

Created by: Microsoft/Commodore

First released: 1977

Historical significance: Commodore BASIC was created for Commodore’s original home computer, the PET (Personal Electronic Transactor) 2001 in 1977 (which is why it was also known as PET BASIC). It was based on Microsoft BASIC for the MOS 6502 processor, for which Commodore made a one-time payment to Microsoft. Commodore made a number of modifications (like changing the “OK” prompt to “Ready”) and stripped out Microsoft’s copyright string. When Commodore later paid Microsoft for an updated version of BASIC, Bill Gates and company inserted the famous “WAIT 6502” Easter egg. Commodore BASIC was included with the popular VIC-20 and Commodore 64 computers, and survived through the release of the Commodore 128 in 1985.

Picture of an Atari 400 computer
Credit: McCormick
Atari BASIC

Created by: Paul Laughton and Kathleen O'Brien

First released: 1979

Historical significance: Atari BASIC was created for Atari’s first personal computers, the 8-bit 400 and 800 PCs. Originally, Atari licensed a version of Microsoft BASIC for its 6502 processor. However, after realizing that it would require significant work to make it fit in 8 kilobytes, Atari turned to Shepardson Microsystems for help. Shepardson’s Paul Laughton and Kathleen O’Brien developed a whole new BASIC from scratch, which differed from Microsoft BASIC in a number of ways, such as allowing any command to be run from immediate mode or from programs, and checking each line for syntax errors as it was input, instead of at runtime.

Picture of a Sinclair ZX80 computer
Credit: GFDL
Sinclair BASIC

Created by: John Grant

First released: 1979

Historical significance: Sinclair BASIC was an implementation created for the Sinclair ZX80 computer, known as the first personal computer that cost under $200. Sinclair hired Nine Tiles Network to write the software for the ZX80, including a new BASIC interpreter (as opposed to paying Microsoft to license its BASIC) that would fit on the ZX80’s 4 kilobytes of ROM. Nine Tiles’ John Grant created the resulting Sinclair BASIC based on the minimal ANSI standard BASIC. On the ZX80, BASIC commands were entered using a single keystroke, saving memory and allowing syntax errors to be caught before they were entered into a program.

Picture of an IBM 5150 computer
IBM BASIC

Created by: Microsoft/IBM

First released: 1981

Historical significance: For the release of its famous Personal Computer (model 5150) in 1981, IBM licensed Microsoft BASIC and tailored it for its new PC. Initially, this resulted in 3 different versions of BASIC: IBM Cassette BASIC, for models without disk drives which used cassettes to store and retrieve programs and data, IBM Disk BASIC, which used floppy disks for storage and IBM Advanced BASIC (AKA BASICA), which required Cassette BASIC in ROM to run. In 1984, IBM also released IBM PCjr Cartridge BASIC, a ROM cartridge version of BASIC that was used by the IBM PCjr.

Screenshot of MacBASIC
MacBASIC

Created by: Donn Denman

First released: 1985  

Historical significance: When Apple developed the first Macintosh computer beginning in 1982, it needed a BASIC interpreter. Donn Denmon, who had helped port Applesoft BASIC from the Apple II to the Apple III, created a new BASIC implementation that took advantage of the Macintosh GUI and could run multiple programs simultaneously. Called MacBASIC, it also included an integrated development environment. While a Beta version was released in 1985, MacBASIC was killed off and ultimately replaced on the Macintosh with Microsoft BASIC, as part of deal between Apple and Microsoft to renew the license for Applesoft BASIC that same year.

Screen shot of the AmigaOS
Credit: Bill Bertram
AmigaBASIC

Created by: Microsoft

First released: 1985

Historical significance: AmigaBASIC was created by Microsoft for Commodore’s AmigaOS in 1985, and was first included with the Amiga 1000 computer. It included an API for access to the Amiga’s sound and graphics. It was the first BASIC implementation to do away with line numbers (GOTOs were still supported using labels) and the first to support OS function and dynamic library calls. It was very popular with many budding programmers in the 1980s due to the publication of in Compute! magazine of many AmigaBASIC programs.

Screen shot of Visual Basic
Credit: Microsoft
Visual Basic

Created by: Microsoft

First released: 1991

Historical significance: Visual Basic was created by Microsoft in 1991 as a new and simple tool for creating applications for the graphical user interfaces (GUIs). Visual Basic was meant to be easy to learn and use and combined the BASIC language with a graphical interface generator called Ruby, which was developed by Alan Cooper and his team at Tripod. Support for the original incarnation of Visual Basic (through version 6.0) officially ended in 2008 and has since been replaced by Visual Basic .NET, which, though it shares much of the same syntax, requires the .NET framework to run.

Screen shot of Small Basic
Credit: Microsoft
Small Basic

Created by: Microsoft

First released: 2011

Historical significance: Small Basic, first released in 2011, was created by Microsoft based on four tenets: Simple, Fun, Social, Gradual. It comes with a simple interface and is intended to be easy to learn by beginners and children to get them interested in programming. It’s based on the .NET framework, is Turing complete and supports subroutines, looping and event handling. Small Basic harkens back to BASIC’s very first, simpler days at Dartmouth by using only 14 keywords, but also reflects modern day by allowing for easy social sharing and embedding.