Author Topic: History of BASIC  (Read 18562 times)

Offline John

  • Forum Support / SB Dev
  • Posts: 3510
    • ScriptBasic Open Source Project
History of BASIC
« on: October 09, 2010, 09:15:17 PM »
Forum Members,

Feel free to add to this thread facts and dates to help establish a time line for the History of BASIC.


Quote
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 operators

Arithmetical 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.


Quote from: Douggie Green
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...

Quote from: Daniel P. Hudson
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)
« Last Edit: January 22, 2011, 01:13:43 AM by admin »

JRS

  • Guest
Re: History of BASIC
« Reply #1 on: October 16, 2010, 09:36:42 PM »
Business Basic was one of the first to commercialize the Basic language with adding keyed file support, called programs and the EXECUTE directive. Mike King is an early pioneer with Business Basic and ProvideX continues to be the leading Business Basic contender.

  • 1982  Mike King founded Sybex Ltd, the company that ultimately goes on to develop ProvideX.
  • 1984    Sybex creates Honeywell Business Basic which runs on the Honeywell DPS-6 mini-computer family and enters into a worldwide distribution agreement with Honeywell.
  • 1986    Sybex Business Basic (SBB) version 1 is created for DOS and Unix system. This product is initially sold on an OEM basis to a number of developers in and around the Toronto area.
  • 1992    First Windows version of SBB developed and name changed to ProvideX. BBICON Incorporated to market ProvideX worldwide.
  • 1995    Version 3 of ProvideX released which added numerous features including line numberless programs.
  • 1996    Sybex Ltd. and BBICON purchased by State-of-the-Art which later becomes Best Software, part of Sage Ltd of Newcastle Upon Tyne UK.
  • 1997    Version 4 released adding new 'C-style' programming operators (+=, ++, -=, ...), multi-line IF statements, memory resident work files.
  • 1998    Version 4.02 provides a new graphical editor, TCP access, thin client-server technologies, and imbedded IO procedures.
  • 1999    Extended data storage capabilities to allow for multi-segmented files breaking through the 2GB maximum file size on all operating systems. Control property access was added to the language to provide dynamic changing of control attributes.
  • 2000    Added direct access to COM modules, their methods and properties.
  • 2001    Version 5 of ProvideX released removing string length limitations, access to ORACLE, Drag and drop functionality, charting control, and many other features. Object oriented programming methodologies now supported by the language.
  • 2004    Version 6 increased the flexibility and functionality of the ProvideX data storage system increasing the number of table indexes and maximum table sizes. A new report writer was added along with new a print viewer. OLE server technologies allow ProvideX applications to be imbedded into other applications.
  • 2005    Initial version of PxPlus delivers its first batch of enhancements including items such as enhanced memory files, auto-complete input, Apache HTTP interface, and much more. In August Version 7 of ProvideX hits the streets.
  • 2006    PVX Plus Technologies celebrates its first full year in business and continues to provide new enhancements for PxPlus such as MySql interfaces, integrated FAX delivery, and Widgets and its president (Mike King) celebrates 20 years of service and providing technology to the Business Basic community.
  • 2008    The first release of iNomads allows Windows based graphical Nomads applications to be executed on the Internet.
  • 2010    PVX Plus Technologies acquires the ProvideX business from Sage Software and assumes worldwide distribution rights and ongoing product development.

E.K.Virtanen

  • Guest
Re: History of BASIC
« Reply #2 on: October 18, 2010, 09:16:49 AM »
Nice work John. Im pleased to see articles such as this.

kryton9

  • Guest
Re: History of BASIC
« Reply #3 on: September 22, 2013, 08:36:02 PM »
Very nice John. You are a master juggler of forums and languages keeping them all very informative and useful.

Mr SQL

  • Guest
Re: History of BASIC
« Reply #4 on: March 28, 2016, 08:51:41 AM »
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.

^This cracked me up! ;D

Offline AlyssonR

  • Advocate
  • Posts: 126
Re: History of BASIC
« Reply #5 on: August 20, 2016, 01:39:19 PM »
At the tail-end of the 1970's, Hewlett Packard had their own Business Basic - a highly modular compiler closely integrated with their systems (and some rather neat terminals). It actually ran a DB module that combined the best of relational and ISAM features.


Quote
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.

Of course, real BASIC programmers can't really get their heads around VisualBasic.NET since it, too, is really just another version of C with vaguely more meaningful keywords.


Web Classes ....  :-X
« Last Edit: August 20, 2016, 01:42:15 PM by AlyssonR »

Offline John

  • Forum Support / SB Dev
  • Posts: 3510
    • ScriptBasic Open Source Project
Re: History of BASIC
« Reply #6 on: June 23, 2018, 11:00:10 PM »
I would like to expand on this thread with a functional history of BASIC from Dartmouth to VB6 using Script BASIC code examples.

Offline AlyssonR

  • Advocate
  • Posts: 126
Re: History of BASIC
« Reply #7 on: June 26, 2018, 01:27:12 AM »
Go for it! ;)

Offline John

  • Forum Support / SB Dev
  • Posts: 3510
    • ScriptBasic Open Source Project
Re: History of BASIC
« Reply #8 on: June 26, 2018, 07:41:35 AM »
Hopefully others will fill in any holes I miss.

I'm going to start off with Minimal BASIC rather than Dartmouth as the syntax is the same and there are Windows and Linux versions you can try.

« Last Edit: June 26, 2018, 09:59:53 PM by John »

Offline AlyssonR

  • Advocate
  • Posts: 126
Re: History of BASIC
« Reply #9 on: June 27, 2018, 01:34:54 AM »
All I can say is those simple BASICs feel like programming in a straightjacket these days.

Mind you, some of the machine-specific extensions were pretty ingenious.

Offline John

  • Forum Support / SB Dev
  • Posts: 3510
    • ScriptBasic Open Source Project
Re: History of BASIC
« Reply #10 on: June 27, 2018, 08:34:39 PM »
BASIC has matured well over the years. The good BASIC variations didn't break where they came from and built on the core foundation of the language.

Script BASIC is one of the few BASIC dialects that can reproduce functionality from Dartmouth to VB6. The best feature SB offers is its seemless unlimited extension module API.

Offline AlyssonR

  • Advocate
  • Posts: 126
Re: History of BASIC
« Reply #11 on: June 28, 2018, 01:16:46 AM »
And *that* is one of the reasons I like SB - it will effectively run my old glue scripts, much of my quick and dirty document searching, my document creation scripts (flat-file to RTF and such like) and a number of my VB6 back-ends - and all without too much modification.

Offline John

  • Forum Support / SB Dev
  • Posts: 3510
    • ScriptBasic Open Source Project
Re: History of BASIC
« Reply #12 on: June 28, 2018, 06:25:25 PM »
Script BASIC has become my QB and VB6 replacement for work I do for my clients. IUP is an outstanding cross platform UI environment that works well with SB.

Offline John

  • Forum Support / SB Dev
  • Posts: 3510
    • ScriptBasic Open Source Project
Re: History of BASIC
« Reply #13 on: July 04, 2018, 03:30:32 PM »
I'm trying to build a list of true BASIC languages. The prerequisite is that it must be able execute Minimal BASIC / Dartmouth code in its simplistic form.

Everything else is a morphed variation of BASIC.