Dartmouth, May 1964 – The original BASIC computer programming language turns 50 years old this month! It’s hard to believe that it was only 16 when I wrote my first program on punch tape for a Data General Eclipse. I’m feeling old but, in the spirit of history, here’s a summary of the life of BASIC and a little bit on my relationship to it (yeah, yeah, yeah… I know that only I care about the latter but, hey, it’s my blog 🙂 )

1964 – Dartmouth BASIC by J.G Kemeney & T. E. Kurtz @ Dartmouth College

1969 – Dartmouth BASIC fifth version by J.G Kemeney & T. E. Kurtz @ Dartmouth College

1970 – General Electric ships the fifth version of (Dartmouth) BASIC with their systems.

1971 -BASIC the Sixth by J.G Kemeney & T. E. Kurtz @ Dartmouth College

1974 – ANSI committees form to standardize both minimal BASIC and Standard BASIC.

1975 – TinyBASIC by B. Albrecht & D. Allison (takes only 2K of memory and is loaded from a punch tape and Altair BASIC is introduced by Bill Gates and Paul Allen

1976 – Bill Gates writes “An Open Letter to Hobbyists” complaining that Altair BASIC was being copied all over the place before Microsoft even made it available. This is the first ever case of software piracy!

1977 – Commodore BASIC was developed by Microsoft for the Commodore PET computer. This was my first computer!

1978 – ANSI issued the Minimal BASIC specification (ANSI  X3.60-1978)

1981 – I wrote my first BASIC program on a Data General Eclipse I found in a storeroom at CalArts. It was called “RMUSIC” for “Recursive Music” (hence my license plate on my Volvo). The program resulted in a sadly un-singable vocal piece of the same name for my friend Liz Lindenfeld, MS-DOS 1.0 ships with BASICA on August 12th and GW-BASIC is introduced.

1982 IBM releases BASCOM 1.0 and I wrote my first BASIC program to profile the Acoustics is a theater space on my Commodore PET.

1983 –  J.G Kemeney & T. E. Kurtz release TrueBASIC based on Dartmouth BASIC 7.0 and Microsoft releases the BASIC Compiler v5.35 for MS-DOS

1984 – Microsoft BASIC Compiler 5.36 is released and the ISO issues ISO 6373-1984 for the Minimal BASIC and Microsoft releases BASIC  for the Apple Macintosh

1985 – Microsoft releases QuickBASIC 1.0, IBM releases BASCOM 2.0, and Commodore BASIC is introduced on the Commodore 128

1986 Microsoft QuickBASIC has 3 releases for the Mac

1987 Microsoft QuickBASIC has 3 more releases for the Mac and releases Microsoft BASIC 6.0, ANSI issues the Standard BASIC specification (X3.113-1987), and Borland releases Turbo BASIC.

1988 – Microsoft QuickBASIC has 4 more releases for the Mac

1989 – Microsoft BASIC Professional 7.0 is released

1990 – Microsoft BASIC Professional 7.1 is released and PowerBASIC Inc. forms fro the development of Borland Turbo BASIC

1991 – Microsoft ships QBasic 1.0 with MS-DOS 5.0; the ISO issues ISO 10279-1991 for Full BASIC; Microsoft ships QuickBASIC 1.0e for the Mac; Microsoft ships Visual Basic 1.0 for Windows

1992 – Microsoft Visual Basic 2.0 and VB version 2.0 for Windows

1993 – Microsoft ships VB 3, VB 1.0 for Project and Excel, and QBasic for DOS

1995 – Microsoft ships Visual Basic 4.0

1997 – Microsoft ships Visual Basic 5.0

1998 – Microsoft ships Visual Basic 6.0

2002 – Microsoft ships Visual Basic .NET 7.0 and DarkBASIC – brings DirectX 9 into the BASIC world

PLEASE post comments on this post if you find errors or omissions.


  1. Todd M says:

    Do you know which Basic I would use to try to alter a mac game developed by a friend in 1988? It says it was created with BASCOM but according to this article that was a IBM/PC program. I have the application file and a file called bas.rl which I believe contains the source code.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s