Jump to content

BASIC Implementations: Difference between revisions

From EDM2
Ak120 (talk | contribs)
Ak120 (talk | contribs)
 
(17 intermediate revisions by the same user 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==
 
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. That was helped in no small part by the introduction of the EMCA-116 standard in the mid 80's, but as many governments require that all products bought with public money follow official standards it forced most vendors to comply, even [[Microsoft]] rushed out [[QBasic]] in response to it.
 
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.
====Business Basic====
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 file indexing features, like simplified versions of COBOL indices 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 really only saw any use in the USA and to a lesser degree other English speaking countries, 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.
 
==A list of OS/2 implementations of Basic==
<div style="column-count:2;-moz-column-count:2;-webkit-column-count:2">
* [[BBIcon ProvideX]] - Business Basic - Commercial - Discontinued
* [[Bywater Basic]] - Open source - Current - Command line only.
* [[CA Realizer]] - Discontinued. Versions 1 & 2 offered OS/2 support
* [[GFA Basic]] - Discontinued
* [[VisualAge for Basic]] - Discontinued
* [[KCML]] - Business Basic - Commercial - Discontinued
* [[Liberty BASIC]] - Discontinued
* [[LotusScript]] - Somewhat Visual Basic like - Included with Lotus Notes and SmartSuite
* [[Microshare Basic]] - Business Basic - Commercial - Discontinued
* [[Microsoft Basic Professional]] - 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
* [[WDBasic]] - Street basic - Freeware - Current
</div>
====Other Basic like languages available for OS/2 or eComstation====
* [[COMAL]] - A blend of [[Pascal]] and Basic, reminiscent in some ways of later structured Basic's like BBC Basic and QBasic.
 
====Foreign libraries with bindings for Basic====
* [[LibcURL]] - Internet URL (WWW, FTP, etc) access - Open Source - Current.
 
====OS/2 text & programmers editors with Basic language support====
* [[Boxer]] - "Street Basic", Qbasic and Visual Basic" support  included by default.
* [[BRIEF]] - "Street Basic", Qbasic, CBASIC, Turbo Basic and Visual Basic" support  included by default, although it depends on version.
* [[Future Wave Editor]] - syntax support included by default - Shareware - Current.
 
==A list of DOS implementations of Basic==
===Interpreter===
===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.
* [http://www.bbcbasic.co.uk/bbcbasic.html BBC Basic] - Discontinued but supplied for free with the Windows version of the product.
* [[BBIcon ProvideX]] - Business Basic - Commercial - Discontinued
* [[Bywater Basic]] - Open source
* [[Bywater Basic]] - Open source - Current.
*Canon Basic - Discontinued - A scripting variant of this language is still used for [http://chdk.wikia.com/wiki/Canon_Basic embedded programming by Canon].  
* [[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
* [[GW-BASIC]] - developed by Microsoft for DOS OEM
* [[IBM PC BASIC]] - developed by Microsoft for IBM PC
* [[IBM PC BASIC]] - developed by Microsoft for IBM PC
* [[Mallard BASIC]] PC - developed by Locomotive Software Ltd. - commercial
*Mallard BASIC PC - developed by Locomotive Software Ltd.
* [[MICRO-BASIC]] - developed by Dave Dunfield
*MICRO-BASIC - developed by Dave Dunfield
* [[Microshare Basic]] - Business Basic - Commercial - Discontinued
*[http://sourceforge.net/projects/napoleonbrandy/ Napoleon Brandy Basic] - Open Source
* [http://sourceforge.net/projects/napoleonbrandy/ Napoleon Brandy Basic] - Current - Open Source
*Personal BASIC - Aka Digital Research Personal Basic or Metacomco Basic - compatible with CP/M MBASIC
* [[PBASIC]] - Discontinued - 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.
* [[QBasic]] - introduced with MS-DOS 5, also included in OS/2 2.0 and later versions.
* RM-BASIC - Ryan McFarland
* [[Watcom BASIC]]


===Compiler===
===Compiler===
<div style="column-count:2;-moz-column-count:2;-webkit-column-count:2">
*Better BASIC - Summit Software Technology
* [[ApBasic]] - Shareware
*[[CBASIC]] - Distributed by DRI
* [[ASIC]] - Shareware
*FranzBasic
* [[Better Basic]] - Commercial - Discontinued
*[[GFA Basic]]
* [[CBasic]] - Discontinued - First Symantec product - Distributed by DRI
*[[Microsoft Basic Professional]]
* [[FranzBasic]] - Discontinued
*[[Microsoft QuickBasic]]
* [[FreeBasic]] - Open Source GPL
*[[Microsoft Visual Basic]] - Version 1 offered DOS support.
* [[GFA Basic]] - Discontinued - Free Download
*MTBASIC (Softaid)
* [[KCML]] - Business Basic - Commercial - Discontinued
*MWBasic - Aka MB86
* [[Microsoft Basic Professional]] - Commercial - Discontinued
*[[Omni Basic]]
* [[Microsoft QuickBasic]] - Commercial - Discontinued
*[[PowerBASIC]]
* [[Microsoft Visual Basic]] - Discontinued. Version 1 offered DOS support.
*Sparry Basic
* [[MWBasic]] - Aka MB86 - Discontinued
*SuperSoft BASIC Compiler
* [[Omni Basic]] - Commercial - Discontinued
*Borland [[Turbo Basic]]
* [[PowerBasic]] - Commercial - Discontinued
*[[True Basic]] - Versions up to 4.01 supported DOS.
* [[Sparry Basic]] - Commercial - Discontinued
''Shareware''
* [[SuperSoft BASIC Compiler]] - Commercial - Discontinued
*ApBasic
* Borland [[Turbo Basic]] - Commercial - Discontinued
*ASIC
* [[True Basic]] - Commercial - Discontinued. Versions up to 4.01 supported DOS.
''Open Source''
</div>
*FreeBasic


====DOS text & programmers editors with Basic language support====
===Win-OS/2 Implementations===
* [[Boxer]] - "Street Basic", Qbasic and Visual Basic" support included by default.
*[[CA Realizer]] - Versions 1 to 3 offer Win-OS/2 support.
* [[BRIEF]] - "Street Basic", Qbasic, CBASIC, Turbo Basic and Visual Basic" support included by default, although it depends on version.
*[[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
* [[Microsoft Basic Professional]] - Commercial - Cross development from DOS or OS/2 only.
* [[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 implementations that run under Win-OS/2==
==Java implementations==
* [[BBIcon ProvideX]] - Business Basic - Commercial - Discontinued
* [[CA Realizer]] - Discontinued. Versions 1 to 3 offer WinOS/2 support.
* [[GFA Basic]] - Discontinued - Free Download - Limited support available from a third party.
* [[KCML]] - Business Basic - Commercial - Discontinued
* [[Liberty BASIC]] - Discontinued - Last version that works under WinOS/2 is 2.02
* [[Microshare Basic]] - Business Basic - Commercial - Discontinued
* [[Microsoft Basic Professional]] - Commercial - Discontinued - Cross development from DOS or OS/2 only.
* [[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==
* [http://www.basis.com/bbj BBJ] - Business Basic - Commercial - Current
*[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.


==Publications==
[[Category:Programming Languages]]
* [http://bitsavers.trailing-edge.com/pdf/mai/M6262A_Business_Basic86_RefenceManual_Apr87.pdf MAI BasicFour - Business Basic 86 Reference Manual] - 1987 - From Bitsavers - Not a useful document as such, but gives you a better insight into Business Basic than introductory articles.
==Links==
* [http://www.qbasicnews.com/abc/ Basic Source Repository]
===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.