Jump to content

BASIC Implementations: Difference between revisions

From EDM2
No edit summary
Ak120 (talk | contribs)
 
(58 intermediate revisions by 2 users not shown)
Line 1: Line 1:
A subset of [[FORTRAN]] originally developed by John G. Kemeny and Thomas E. Kurtz in 1964 to offer an easier programming language for beginners for the Dartmouth University multi-user 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===
* 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.
* [[Bywater Basic]] - Open source
*Canon Basic - Discontinued - A scripting variant of this language is still used for [http://chdk.wikia.com/wiki/Canon_Basic 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
*[http://sourceforge.net/projects/napoleonbrandy/ 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]]


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.
===Compiler===
*Better BASIC - Summit Software Technology
*[[CBASIC]] - Distributed by DRI
*FranzBasic
*[[GFA Basic]]
*[[Microsoft Basic Professional]]
*[[Microsoft QuickBasic]]
*[[Microsoft Visual Basic]] - Version 1 offered DOS support.
*MTBASIC (Softaid)
*MWBasic - Aka MB86
*[[Omni Basic]]
*[[PowerBASIC]]
*Sparry Basic
*SuperSoft BASIC Compiler
*Borland [[Turbo Basic]]
*[[True Basic]] - Versions up to 4.01 supported DOS.
''Shareware''
*ApBasic
*ASIC
''Open Source''
*FreeBasic


Basic started to loose its popularity when GUI's became more popular but most Basic implementation had limited support for the programming models needed.
===Win-OS/2 Implementations===
 
*[[CA Realizer]] - Versions 1 to 3 offer Win-OS/2 support.
==A list of OS/2 implementations of Basic==
*[[Bywater Basic]] - Current - Command line only.
*[[CA Realizer]] - Discontinued. Versions 1 & 2 offered OS/2 support
*[[GFA Basic]] - Discontinued
*[[IBM VisualAge for Basic]] - Discontinued
*[[Liberty BASIC]] - 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==
*[http://www.bbcbasic.co.uk/bbcbasic.html BBC Basic] - Discontinued but supplied for free with the Windows version of the product.
*[[Bywater Basic]] - Current.
*[[CBasic]] - Discontinued
*[[GFA Basic]] - Discontinued - Free Download
*[[Microsoft Visual Basic]] - Discontinued. Version 1 offered DOS support.
*[[MWBasic]] - Aka MB86 - Discontinued
*[http://sourceforge.net/projects/napoleonbrandy/ Napoleon Brandy Basic] - Current - Open Source
*[[Omni Basic]] - Discontinued
*[[QBasic]] - Comes included with the OS/2 DOS subsystem in versions 2.0 and higher.
*[[QuickBasic]] - Discontinued
*[[True Basic]] - Discontinued. Versions up to 4.01 supported DOS.
 
==A list of Basic implementations that run under Win-OS/2==
*[[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 WinOS/2 is 2.02
*[[Liberty BASIC]] - Discontinued - Last version that works under Win-OS/2 is 2.02
*[[Microsoft Visual Basic]] - Discontinued. Versions 1 to 4 offer WinOS/2 support.
* [[Microsoft Basic Professional]] - Commercial - Cross development from DOS or OS/2 only.
*[[True Basic]] - Discontinued. Versions up to 5.3 supported WinOS/2
* [[Microsoft Visual Basic]] - Versions 1 to 4 offer Win-OS/2 support.
* [[True Basic]] - Versions up to 5.3 supported Win-OS/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.
==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 but used as a reference in some modern "Street Basic" implementations.
* [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 a number of modern Basic implementations.
==Publications==


[[Category:Programming Languages]]
[[Category:Programming Languages]]

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.