Monday, June 1, 2009

History of the BASIC family of languages

1964 – A pair of instructors at Dartmouth College decide they have a group of students too lazy to learn FORTRAN. They produce a new language with only 26 variable names, so that even a lazy programmer can keep track of them.

1966 – The creators of BASIC decide it will never have any commercial application since students too lazy to learn FORTRAN can’t possibly write anything of value. They place the language in the public domain.

1973 – Digital Equipment Corporation’s PDP line of computers becomes so popular that even people too lazy to program in FORTRAN start buying them. DEC decides to put a version of BASIC on their machines. Since users too lazy to learn FORTRAN also cannot be expected to understand the concept of “compilation”, the language is interpreted instead of compiled.

1974 – Star Trek games make up 82% of all programs written in BASIC on DEC time-sharing systems, and consume 99% of available CPU time. Players of the game learn the concept of an infinite loop when the game begins to endlessly repeat “Attempt to break contact. Contact not broken. Klingon attempt to break contact. Contact not broken…”

1975 – The Altair personal computer is introduced. It is so crippled in memory and processing power that only an extremely simple language can fit on it. Accordingly, various versions of BASIC are ported to the Altair. The first is called TinyBASIC, highlighting the fact that programs can only have a maximum of 27 lines of code.

1977 – Hobbyists have figured out how to put slightly more memory on the Altair, so new versions of BASIC are needed to suck up the memory. One of them is the first product from a new company called Microsoft, which begins its tradition of copying ideas from other products and then selling a version that requires more memory.

1979 – Microsoft has produced versions of their BASIC interpreter for dozens of systems. Most of these systems don’t last long enough commercially for anyone to find out if the language works or not, so Microsoft learns their first lesson in the questionable value of quality assurance.

1981 – IBM introduces the PC. Microsoft’s BASIC interpreter is encoded into ROM for all original IBM PCs. A spelling error results in the command to launch the interpreter becoming “BASICA”.

1983 – Microsoft produces their first BASIC compiler for the PC. They are so embarrassed about it, they convince IBM to sell it under the IBM brand. The IBM Basic Compiler 1.0 is launched. It allows programs to have a maximum size of 64K, which is enough space for a complete, working Star Trek game to be developed.

1985 – Seeing the success of Turbo Pascal for the PC, Microsoft continues their tradition of copying ideas, and creates a mouse-driven development environment for their BASIC compiler. IBM is having second thoughts about being associated with the BASIC langauge, so Microsoft has to put this product out under their own brand. They call it QuickBASIC. They label the first version 2.0, since it is the successor to the IBM BASIC Compiler, and since they forgot that no one knows about that but them. Programs now have a 64K program space and a 64K data space, allowing the most impressive Star Trek games yet seen to be written.

1987 – Microsoft introduces a repackaged version of QuickBASIC called the Professional BASIC Compiler. This is the first known use of the words “Professional” and “BASIC” right next to each other.

1990 – Alan Cooper begins work on a development environment in which even the screen layout of a Windows-based UI is mouse driven. It’s intended for programmers too lazy to write code to produce a UI. Accordingly, he decides the language used for the product should be a variant of BASIC.

1991 – Based on Alan Cooper’s work, Visual Basic 1.0 is introduced. Programmers can install it and immediately write beautiful Windows programs that don’t do anything useful, since they can’t get to any standard databases. However, VB 1.0 does allow the first graphical Star Trek game to be written.

1991 – PowerBuilder 1.0 is released. It supposedly includes a BASIC language for back-end development. Since it takes two months of training and a magic wand to make the product produce a “Hello World” example, very few developers ever manage to use the language for anything besides simple data access.

1992 – Visual Basic 2.0 is introduced. It still allows no database access, so business programmers continue to ignore it in favor of PowerBuilder.

1993 – Visual Basic 3.0 is introduced, with the addition of built-in capabilities to get to relational databases. Visual Basic can finally do something useful.

1994 – Visual Basic passes PowerBuilder as the tool of choice for Windows data programming. Many PowerBuilder developers accidentally break their magic wands in disgust.

Visual Basic developers invent a new way of developing applications that completely bypasses requirements gathering, based on the principle that “if you don’t care where you’re going, you don’t need a map”. They listen to a user for an hour, then do a bunch of drag and drop screens, then see if it’s what the user wants, and then do the same cycle over and over again until either (1) the user finally says “It’s not what I want, but I’m sick of working with you on it, so I’ll take it.”, or (2) the user runs out of money and the project is abandoned.

1995 – Visual Basic 4.0 is introduced. It includes object capabilities, if you define “object capabilities” to mean “something sort of like object capabilities, but not really”. This version also makes Visual Basic totally dependent on COM, ushering in the era of “Hello, World” programs that take four diskettes to install.

1996 – Visual Basic 5.0 is introduced. The “Hello, World” install increases to five diskettes.

1998 – Visual Basic 6.0 is introduced. Realizing the importance of the Internet, a new feature called WebClasses is introduced. The less said about that, the better.

1999 – Visual Basic passes COBOL as the language with the most total lines of code written. Unfortunately, half of that code is never executed because it’s left over from previous cycles of prototyping, but the programmer is not sure that’s true and so is afraid to remove it.

1999 – Microsoft decides to make Visual Basic a true object oriented language. Really. They’re serious this time. However, such a monumental change requires the VB runtime to be totally rewritten. As a gesture of benevolence, Microsoft allows other languages to also use the new VB runtime, which is eventually christened the Common Language Runtime, or CLR.

2000 – Microsoft publicly announces Visual Basic .NET. As a sop to their internal programmers who have been writing in C all their life, they also announce a version of VB.NET that uses C-like syntax and has a crippled editor. It is named C#.

2002 – Visual Basic .NET is released. Classic VB users’ favorite feature is that Option Explicit is now set to On by default, the way it should have been 6 versions ago.

2005 – Microsoft releases Visual Basic 2005, which contains a wizard to generate code for a fully functional Star Trek game.

0 comments:

Post a Comment