Jump to content

BASIC Implementations: Difference between revisions

From EDM2
No edit summary
Ak120 (talk | contribs)
 
(45 intermediate revisions by 2 users not shown)
Line 1: Line 1:
A subset of [[FORTRAN]] originally developed by John G. Kemény and Thomas E. Kurtz in 1964 to offer an easier programming language for beginners for the Dartmouth University timesharing system. Basic was easy to implement and could reside in a fairly small amount of memory which made it popular with the first generation of microcomputers in the 1970's and it remained the most popular programming language on personal computers until the 1990's.
==DOS Implementations==
 
===Interpreter===
Like the FORTRAN language it is based on Basic is unstructured and therefore there is a tendency for programmers to write [[spaghetti code]] when developing in Basic, and with the variants used in microcomputers, known collectively as "Street Basic", the tendency was even greater. Awareness of this shortcoming increased in the early 80's as Basic started to come under threat in educational institutions on one hand from languages designed from ground up to teach structured programming like [[COMAL]] and on the other hand from inexpensive implementations of [[Pascal]]. Many Basic developers responded by making their variations of the language increasingly structured to a point where some of them resemble Pascal in all aspects except syntax.
* American Planning Corp. MEGABASIC
 
* [http://www.bbcbasic.co.uk/bbcbasic.html BBC Basic] - Discontinued but supplied for free with the Windows version of the product.
In 1990 more people knew how to program in Basic than in all other programming languages combined, however the language started to loose its popularity when GUI's became more popular but most Basic implementation had limited support for the programming models needed.
* [[Bywater Basic]] - Open source
====Business Basic====
*Canon Basic - Discontinued - A scripting variant of this language is still used for [http://chdk.wikia.com/wiki/Canon_Basic embedded programming by Canon].
This is a variant of the Basic language that was developed in the latter half of the 1960's to allow minicomputers to offer a cheaper alternative to mainframe [[COBOL]] for business application development, [[Data General]] simply took Dartmouth Basic and added rudimentary database features and a few COBOL concepts and other minicomputer vendors like Wang followed suit. While there are simple interpreters and compiled variants of the language, one of the classic characteristics of Business Basic was that it was interactive, making some applications developed using it strikingly different from the norm. While Business Basic is not well known in general it has been extremely tenacious in the market, a large number of specialised and vertical business applications developed using the language has ensured its survival in the PC and Unix world in much the same way COBOL still thrives on bigger computer systems.
* [[GW-BASIC]] - developed by Microsoft for DOS OEM
 
* [[IBM PC BASIC]] - developed by Microsoft for IBM PC
==A list of OS/2 implementations of Basic==
*Mallard BASIC PC - developed by Locomotive Software Ltd.
* [[BBIcon ProvideX]] - Business Basic - Commercial - Discontinued
*MICRO-BASIC - developed by Dave Dunfield
* [[Bywater Basic]] - Current - Command line only.
*[http://sourceforge.net/projects/napoleonbrandy/ Napoleon Brandy Basic] - Open Source
* [[CA Realizer]] - Discontinued. Versions 1 & 2 offered OS/2 support
*Personal BASIC - Aka Digital Research Personal Basic or Metacomco Basic - compatible with CP/M MBASIC
* [[GFA Basic]] - Discontinued
* [[QBasic]] - introduced with MS-DOS 5, also included in OS/2 2.0 and later versions.
* [[IBM VisualAge for Basic]] - Discontinued
* RM-BASIC - Ryan McFarland
* [[KCML]] - Business Basic - Commercial - Discontinued
* [[Watcom BASIC]]
* [[Liberty BASIC]] - Discontinued
* [[Microshare Basic]] - Business Basic - Commercial - Discontinued
* [[Microsoft Visual Basic]] - Discontinued
* [[Omni Basic]] - Discontinued
* [[True Basic]] - No longer developed but available for sale at a discounted price. Versions up to 5.5 supported OS/2


==A list of DOS implementations of Basic==
===Compiler===
* [http://www.bbcbasic.co.uk/bbcbasic.html BBC Basic] - Discontinued but supplied for free with the Windows version of the product.
*Better BASIC - Summit Software Technology
* [[BBIcon ProvideX]] - Business Basic - Commercial - Discontinued
*[[CBASIC]] - Distributed by DRI
* [[Bywater Basic]] - Current.
*FranzBasic
* [[Canon Basic]] - Discontinued - A scripting variant of this language is still used for embedded programming by Canon.
*[[GFA Basic]]
* [[CBasic]] - Discontinued - First Symantec product - Distributed by DRI
*[[Microsoft Basic Professional]]
* [[GFA Basic]] - Discontinued - Free Download
*[[Microsoft QuickBasic]]
* [[KCML]] - Business Basic - Commercial - Discontinued
*[[Microsoft Visual Basic]] - Version 1 offered DOS support.
* [[Microshare Basic]] - Business Basic - Commercial - Discontinued
*MTBASIC (Softaid)
* [[Microsoft Visual Basic]] - Discontinued. Version 1 offered DOS support.
*MWBasic - Aka MB86
* [[MWBasic]] - Aka MB86 - Discontinued
*[[Omni Basic]]
* [http://sourceforge.net/projects/napoleonbrandy/ Napoleon Brandy Basic] - Current - Open Source
*[[PowerBASIC]]
* [[Omni Basic]] - Discontinued
*Sparry Basic
* [[PBASIC]] - Discontinued - Aka  Digital Research Personal Basic or Metacomco Basic - Compatible with CP/M MBASIC
*SuperSoft BASIC Compiler
* [[QBasic]] - Comes included with the DOS subsystem all versions of eComStation and in OS/2 versions 2.0 and higher.
*Borland [[Turbo Basic]]
* [[QuickBasic]] - Discontinued
*[[True Basic]] - Versions up to 4.01 supported DOS.
* [[True Basic]] - Discontinued. Versions up to 4.01 supported DOS.
''Shareware''
*ApBasic
*ASIC
''Open Source''
*FreeBasic


==A list of Basic implementations that run under Win-OS/2==
===Win-OS/2 Implementations===
* [[BBIcon ProvideX]] - Business Basic - Commercial - Discontinued
*[[CA Realizer]] - Versions 1 to 3 offer Win-OS/2 support.
* [[CA Realizer]] - Discontinued. Versions 1 to 3 offer WinOS/2 support.
*[[GFA Basic]] - Discontinued - Free Download - Limited support available from a third party.
* [[GFA Basic]] - Discontinued - Free Download - Limited support available from a third party.
*[[Liberty BASIC]] - Discontinued - Last version that works under Win-OS/2 is 2.02
* [[KCML]] - Business Basic - Commercial - Discontinued
* [[Microsoft Basic Professional]] - Commercial - Cross development from DOS or OS/2 only.
* [[Liberty BASIC]] - Discontinued - Last version that works under WinOS/2 is 2.02
* [[Microsoft Visual Basic]] - Versions 1 to 4 offer Win-OS/2 support.
* [[Microshare Basic]] - Business Basic - Commercial - Discontinued
* [[True Basic]] - Versions up to 5.3 supported Win-OS/2
* [[Microsoft Visual Basic]] - Discontinued. Versions 1 to 4 offer WinOS/2 support.
* [[True Basic]] - Discontinued. Versions up to 5.3 supported WinOS/2


==A list of Basic language implementations in Java==
==Java implementations==
*[http://www.mcmanis.com/chuck/java/cocoa/ Cocoa]
*[http://www.mcmanis.com/chuck/java/cocoa/ Cocoa]
*HotTEA - Discontinued
*HotTEA
*Instant Basic for Java - Discontinued
*Instant Basic for Java
*[http://journal.stuffwithstuff.com/2010/07/18/jasic-a-complete-interpreter-in-one-java-file/ Jasic]
*[http://journal.stuffwithstuff.com/2010/07/18/jasic-a-complete-interpreter-in-one-java-file/ Jasic]


==A list of Basic language implementations in JavaScript==
==JavaScript implementations==
*[http://stevehanov.ca/blog/index.php?id=92 qb.js] - Partially [[QBasic]] compatible, can be run inside a web browser or by using the JavaScript Desktop Enabler.
*[http://stevehanov.ca/blog/index.php?id=92 qb.js] - Partially [[QBasic]] compatible, can be run inside a web browser or by using the JavaScript Desktop Enabler.


==Links==
[[Category:Programming Languages]]
====USENET====
* [news:comp.lang.basic.misc comp.lang.basic.misc] - Still alive (mostly) - Go to the [https://groups.google.com/forum/#!forum/comp.lang.basic.misc Google groups version] if you are newsgroup challenged.
 
 
==Standards==
* [http://www.ecma-international.org/publications/files/ECMA-ST-WITHDRAWN/ECMA-55,%201st%20Edition,%20January%201978.pdf ECMA-55 MINIMAL Basic Standard in PDF format] - Now withdrawn by ECMA but used as a reference in some modern "Street Basic" implementations
:Also known as '''ISO 6373''' or ISO 6373:1984 Data processing -- Programming languages -- Minimal BASIC. - The standard originated at ECMA but copies of it are still valid standards in some countries for instance as '''ANSI X3.60-1978 minimal BASIC''' in the USA, as Australian Standard '''AS 2797-1985 Programming language - Minimal BASIC'''
 
* [http://www.ecma-international.org/publications/files/ECMA-ST-WITHDRAWN/ECMA-116,%201st%20edition,%20June%201986.pdf ECMA-116 ECMA Basic-1, ECMA Basic-2 and ECMA Graphics Module Standards in PDF format] - Now withdrawn but used as a reference for a number of modern Basic implementations.
:Like the earlier standard this originated at EMCA and while they have withdrawn it a number of international and local standard organisations still have it as current standard including '''ANSI X3.113-1987 "Programming Languages Full BASIC"''' in the USA and the interntaional '''INCITS/ISO/IEC 10279-1991 (R2005) "Information Technology - Programming Languages - Full BASIC"'''.
 
* ANSI X3.113 Interpretations-1992 "BASIC Technical Information Bulletin # 1 Interpretations of ANSI 03.113-1987"
:USA only addendum to the ECMA-116 standard.
 
* ISO/IEC 10279:1991/ Amd 1:1994 "Modules and Single Character Input Enhancement"
:Small addendum to the original ECMA-116/ISO10279 standard, no downloadable version available.
 
 
[[Category:Programming Languages]][[Category:Basic]]

Latest revision as of 15:08, 14 October 2023

DOS Implementations

Interpreter

  • American Planning Corp. MEGABASIC
  • BBC Basic - Discontinued but supplied for free with the Windows version of the product.
  • Bywater Basic - Open source
  • Canon Basic - Discontinued - A scripting variant of this language is still used for embedded programming by Canon.
  • GW-BASIC - developed by Microsoft for DOS OEM
  • IBM PC BASIC - developed by Microsoft for IBM PC
  • Mallard BASIC PC - developed by Locomotive Software Ltd.
  • MICRO-BASIC - developed by Dave Dunfield
  • Napoleon Brandy Basic - Open Source
  • Personal BASIC - Aka Digital Research Personal Basic or Metacomco Basic - compatible with CP/M MBASIC
  • QBasic - introduced with MS-DOS 5, also included in OS/2 2.0 and later versions.
  • RM-BASIC - Ryan McFarland
  • Watcom BASIC

Compiler

Shareware

  • ApBasic
  • ASIC

Open Source

  • FreeBasic

Win-OS/2 Implementations

Java implementations

JavaScript implementations

  • qb.js - Partially QBasic compatible, can be run inside a web browser or by using the JavaScript Desktop Enabler.