Forum Members,
Feel free to add to this thread facts and dates to help establish a time line for the History of BASIC.
On May 1 1964 two Dartmouth College professors, John Kemeny and Thomas Kurtz ran the first BASIC program.
List of commands- HELLO — log in to DTSS
- BASIC — start BASIC mode
- NEW — name and begin writing a program
- OLD — retrieve a previously named program from permanent storage
- LIST — display the current program
- SAVE — save the current program in permanent storage
- UNSAVE — clear the current program from permanent storage
- CATALOG — display the names of programs in permanent storage
- SCRATCH — erase the current program without clearing its name
- RENAME — change the name of the current program without erasing it
- RUN — execute the current programs
- STOP — interrupt the currently running program
List of BASIC statements- DEF — define single line functions
- DIM — define the size of arrays
- END — define the end of the program
- STOP — stop a program before the textual end
- FOR / TO / STEP — define loops
- NEXT — mark the end of loops
- GOSUB — transfer control to simple subroutines
- RETURN — return control from simple subroutines
- GOTO — transfer control to another statement
- IF / THEN — decision making
- LET / = — assign formula results to a variable
- PRINT — output results
- DATA — store static data within the program
- READ — input data stored in DATA statements
- REM — comment
List of operatorsArithmetical operators Relational/logical operators
- Negation (unary op.)
+ Addition
- Subtraction (binary op.)
* Multiplication
/ Division
^ Exponentiation
= Equal To
<> Not Equal To
< Less Than
<= Less Than or Equal To
> Greater Than
>= Greater Than or Equal To
Grouping operator
( ) Grouping
List of functions- ABS -- Absolute value
- ATN -- Arctangent value (result in radians)
- COS -- Cosine value (argument in radians)
- EXP -- Exponential value
- INT -- Integer value
- LOG -- Natural Logarithmic value
- RND -- Random value
- SIN -- Sine value (argument in radians)
- SQR -- Square root value
- TAN -- Tangent value (argument in radians)
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.
BASIC was born in 1964 at Dartmouth College in the USA to aid the teaching of computer programming at a time when the main methods of input/output were via punched card and/or paper tape. And computers were big! I learnt BASIC on a burroughs mainframe with 5 terminals, 2 or 3 mag tape drives and _64K_ RAM! It filled a small room! Ferrite core memory!
Variable names of one character. No ELSE statement. The language was originally only available in interpreted versions, which were mostly running on mainframes and minis but with the advent of the personal computer in the mid-seventies many different versions began to appear, most holding to the Dartmouth spec, with extensions. Some didn't. A dialect running under CP/M on a North Star Horizon (1980) used ! as a statement seperator, and required you to define strings as arrays (bit like 'C').
There was an ANSI standard published (ANSI X3JZ/76-01) as a recommendation for 'minimal BASIC', and The National Computing Centre (UK) published 'Specification for Standard Basic' by Bull, Freeman and Garland. Don't know the dates, but pre '80... During the late seventies and mid/late eighties there were _hundreds_ of personal computers designed, built and sold, and nearly all came with some dialect of BASIC on ROM. Trouble was, they were all different. Most of these machines sunk without trace, but some live on in our memories...
Bill Gates and Paul Allen had something different in mind. In the 1970's when M.I.T.S.'s Altair personal computer was being conceived Allen convinced Gates to help him develop a Basic Language for it. When M.I.T.S. answered with interest, The future of BASIC and the PC began. Gates was attending Harvard at the time and Allen was a Honeywell employee. Allen and Gates licensed their BASIC to M.I.T.S. for the Altair. This version took a total of 4K memory including the code and data used for a source code.
Gates and Allen then ported Basic to other various platforms and moved back to their hometown of Seattle where they had attended grade school together. It was at this time that the Microsoft Corporation began it's reign in the PC world. By the late 70's, BASIC had been ported to platforms such as the Apple, Commodore and Atari computers and now it was time for Bill Gates's DOS which came with a Basic interpreter. The IBM-DOS version of this interpreter became known as BASICA, and at the time IBM was in major competition with clones so it was setup to require the BIOS distributed with IBM computers. The version distributed with MS-DOS was GW-BASIC and ran on any machine that could run DOS. There were no differences between BASIC-A and GW-BASIC which seems to make IBM's idea useless.
Microsoft realized just how popular their BASIC interpreter was and decided to distribute a compiler so users could code programs that ran without an interpreter. QuickBasic was the solution Microsoft came up with. It was distributed on through the years until version 4.5. At this time Microsoft decided to release a product with more kick and started distributing PDS BASIC (Professional Development System) and ended it with version 7.1 (Also called QuickBasic Extended), PDS was a short lived idea and was not followed through to its true capabilities. [Though it was an improvement over QB4.5]. Microsoft got hooked on GUI's and started Visual Basic both a DOS and WIN version. The DOS version was ended at 1.0 with a professional update, Differences between VB for DOS and QB are not as much as one might think, in fact VB still compiles QB4.5 code and the professional edition will compile PDS7.1 Code. One last thing: PDS will compile to true OS/2 Code, VB-DOS Pro/std and QB4.5 will not.
Somewhere in the midst of all this a gentleman named Robert S. Zale had realized more of the Potential Basic was capable of and designed his own Compiler. Borland Inc. snatched this up and distributed it as TurboBasic, but Mr. Zale was soon to distribute his product on his own. It is now called PowerBasic and is up to version 3.1. PowerBasic is one of the more Powerful Compilers on the market and adds the idea of unsigned Variables along with Inline Assembly Language Code and several other nice additions to the Basic language. PB Inc. has also announced they will distribute an OS/2 version of PB and possibly a windows version, but claim they won't abandon their DOS users.
Interesting Facts- 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.
- Basic was the first product sold by Microsoft corporation, and also the first major case of software piracy - It was copied widely even before Microsoft made it available (Bill Gates lost track of a copy on paper tape during a computer show).
Basic Language Standards- ANSI Standard for Minimal BASIC (X3.60-1978)
- ANSI Standard for Full BASIC (X3.113-1987)
- ISO Standard for Minimal BASIC (ISO 6373:1984 Data processing - Programming languages - Minimal BASIC)
- ISO Standard for Full BASIC (ISO/IEC 10279:1991 Information technology - Programming languages - Full BASIC)