„BASIC“ – Versionsunterschied

aus Wikipedia, der freien Enzyklopädie
Zur Navigation springen Zur Suche springen
[gesichtete Version][gesichtete Version]
Inhalt gelöscht Inhalt hinzugefügt
K BKL Hinweis angebracht
Markierung: Begriffsklärungsseiten-Links
→‎Weblinks: +dnb-portal
Markierung: 2017-Quelltext-Bearbeitung
 
(37 dazwischenliegende Versionen von 22 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
{{Dieser Artikel|behandelt die Programmiersprache. Zur Gruppe von vier großen Schwellenländern siehe [[BASIC-Staaten]] und für weitere Bedeutungen siehe [[Basic]].}}
{{Dieser Artikel|behandelt die Programmiersprache. Zur Gruppe von vier großen Schwellenländern siehe [[BASIC-Staaten]] und für weitere Bedeutungen siehe [[Basic]].}}
{{Belege fehlen}}
[[Datei:Listing1.jpg|mini|Ausschnitt aus einem BASIC-[[Programmausdruck|Listing]]]]
[[Datei:Listing1.jpg|mini|Ausschnitt aus einem BASIC-[[Programmausdruck|Listing]]]]


'''BASIC''' ist eine [[Imperative Programmierung|imperative Programmiersprache]]. Sie wurde 1964 von [[John G. Kemeny]], [[Thomas E. Kurtz]] und [[Mary Kenneth Keller]] am [[Dartmouth College]] zunächst als [[Bildungsorientierte Programmiersprachen|Bildungsorientierte Programmiersprache]] entwickelt und verfügte in ihrer damaligen Form noch nicht über die Merkmale der [[Strukturierte Programmierung|strukturierten Programmierung]], sondern arbeitete mit Zeilennummern und Sprungbefehlen ([[Sprunganweisung|GOTO]]). Mittlerweile gibt es eine Vielzahl verschiedener [[Liste der BASIC-Dialekte|BASIC-Dialekte]], von denen einige der jüngeren alle Elemente höherer Programmiersprachen aufweisen, so etwa [[Objektorientierte Programmierung|Objektorientierung]].<ref name=":0">{{Internetquelle |autor= |url=http://bitsavers.trailing-edge.com/pdf/dartmouth/BASIC_Oct64.pdf |titel=A Manual for Basic (1964) |werk= |hrsg= |datum=1964-10-01 |abruf=2020-05-01 |sprache=en}}</ref>
'''BASIC''' ist eine [[Imperative Programmierung|imperative Programmiersprache]]. Sie wurde 1964 von [[John G. Kemeny]], [[Thomas E. Kurtz]] und [[Mary Kenneth Keller]] am [[Dartmouth College]] zunächst als [[Bildungsorientierte Programmiersprachen|Bildungsorientierte Programmiersprache]] entwickelt und verfügte in ihrer damaligen Form noch nicht über die Merkmale der [[Strukturierte Programmierung|strukturierten Programmierung]], sondern arbeitete mit Zeilennummern und [[Sprunganweisung]]en (GOTO). Ende der 1980er und Anfang der 1990er Jahre entstand eine Vielzahl verschiedener [[Liste der BASIC-Dialekte|BASIC-Dialekte]], von denen einige alle Elemente höherer Programmiersprachen aufweisen, so etwa [[Objektorientierte Programmierung|Objektorientierung]].<ref name="BasicManual">{{Internetquelle |url=http://bitsavers.trailing-edge.com/pdf/dartmouth/BASIC_Oct64.pdf |titel=A Manual for Basic (1964) |datum=1964-10-01 |format=PDF |sprache=en |abruf=2020-05-01}}</ref>


Das [[Akronym]] „BASIC“ steht für „'''B'''eginner’s '''A'''ll-purpose '''S'''ymbolic '''I'''nstruction '''C'''ode“, was so viel bedeutet wie „symbolische Allzweck-Programmiersprache für Anfänger“. Die Abkürzung als Wort gesehen bedeutet außerdem „grundlegend“. Dies zeigt das Design-Ziel klar: eine einfache, für Anfänger geeignete Programmiersprache zu erschaffen. Außer in manchen Produktnamen wird das Wort „BASIC“ grundsätzlich in Großbuchstaben geschrieben.<ref name=":0" />
Das [[Akronym]] „BASIC“ steht für „'''B'''eginners’ '''A'''ll-purpose '''S'''ymbolic '''I'''nstruction '''C'''ode“, was so viel bedeutet wie „symbolische Allzweck-Programmiersprache für Anfänger“. Die Abkürzung als Wort gesehen bedeutet außerdem „grundlegend“. Dies zeigt das Design-Ziel klar: eine einfache, für Anfänger geeignete Programmiersprache zu erschaffen. Außer in manchen Produktnamen wird das Wort „BASIC“ grundsätzlich in Großbuchstaben geschrieben.<ref name="BasicManual" />

== Allgemeines ==
Die Sprache wurde aufgrund von acht Prinzipien entworfen:
* Für Anfänger leicht zu erlernen
* Universell einsetzbar
* Erweiterbarkeit der Sprache für Experten
* [[Interaktivität]]
* Klare Fehlermeldungen
* Kurze [[Antwortzeit]]en
* Hardwareunabhängigkeit
* Betriebssystemunabhängigkeit


== Geschichte ==
== Geschichte ==
BASIC wurde 1964 von [[John G. Kemeny]], [[Thomas E. Kurtz]] und [[Mary Kenneth Keller]] am [[Dartmouth College]] entwickelt, um den Elektrotechnikstudenten den Einstieg in die Programmierung gegenüber [[Algol 60|Algol]] und [[Fortran]] zu erleichtern. Am 1.&nbsp;Mai 1964 um vier Uhr Ortszeit, New Hampshire, liefen die ersten beiden BASIC-Programme simultan auf einem [[GE-225]]-Computer von [[General Electric]] im Keller des Dartmouth College. BASIC wurde dann viele Jahre lang von immer neuen Informatikstudenten an diesem College weiterentwickelt, zudem propagierten es Kemeny und Kurtz ab den späten 1960er Jahren an mehreren Schulen der Gegend, die erstmals Computerkurse in ihr Unterrichtsprogramm aufnehmen wollten. BASIC war entsprechend dem Wunsch seiner „Väter“ für die Schulen kostenlos, im Gegensatz zu fast allen anderen damals üblichen Programmiersprachen, die meist mehrere tausend Dollar kosteten. Viele der damaligen großen Computerhersteller (wie etwa [[Digital Equipment Corporation|DEC]]) boten wegen der leichten Erlernbarkeit der Sprache und ihrer lizenzgebührfreien Verwendbarkeit bald BASIC-Interpreter für ihre neuen [[Minirechner|Minicomputer]] an; viele mittelständische Unternehmen, die damals erstmals in größerer Zahl Computer anschafften, kamen so mit BASIC in Berührung.<ref>{{Literatur |Titel=Education: High Math at Hanover |Sammelwerk=Time |Datum=1959-02-23 |ISSN=0040-781X |Online=http://content.time.com/time/subscriber/article/0,33009,825616,00.html |Abruf=2020-05-01}}</ref><ref name=":1">{{Internetquelle |url=https://time.com/69316/basic/ |titel=Fifty Years of BASIC, the Programming Language That Made Computers Personal |abruf=2020-05-01 |sprache=en}}</ref>
BASIC wurde 1964 von [[John G. Kemeny]], [[Thomas E. Kurtz]] und [[Mary Kenneth Keller]] am [[Dartmouth College]] entwickelt, um den Elektrotechnikstudenten den Einstieg in die Programmierung gegenüber [[Algol 60|Algol]] und [[Fortran]] zu erleichtern. Am 1.&nbsp;Mai 1964 um vier Uhr Ortszeit, New Hampshire, liefen die ersten beiden BASIC-Programme simultan auf einem [[GE-225]]-Computer von [[General Electric]] im Keller des Dartmouth College. BASIC wurde dann viele Jahre lang von immer neuen Informatikstudenten an diesem College weiterentwickelt, zudem propagierten es Kemeny und Kurtz ab den späten 1960er Jahren an mehreren Schulen der Gegend, die erstmals Computerkurse in ihr Unterrichtsprogramm aufnehmen wollten. BASIC war entsprechend dem Wunsch seiner „Väter“ für die Schulen kostenlos, im Gegensatz zu fast allen anderen damals üblichen Programmiersprachen, die meist mehrere tausend Dollar kosteten. Viele der damaligen großen Computerhersteller (wie etwa [[Digital Equipment Corporation|DEC]]) boten wegen der leichten Erlernbarkeit der Sprache und ihrer lizenzgebührfreien Verwendbarkeit bald BASIC-Interpreter für ihre neuen [[Minirechner|Minicomputer]] an; viele mittelständische Unternehmen, die damals erstmals in größerer Zahl Computer anschafften, kamen so mit BASIC in Berührung.<ref>{{Literatur |Titel=Education: High Math at Hanover |Sammelwerk=Time |Datum=1959-02-23 |ISSN=0040-781X |Online=http://content.time.com/time/subscriber/article/0,33009,825616,00.html |Abruf=2020-05-01}}</ref><ref name="FiftyYears">{{Internetquelle |url=https://time.com/69316/basic/ |titel=Fifty Years of BASIC, the Programming Language That Made Computers Personal |sprache=en |abruf=2020-05-01}}</ref>

Einige der so mit BASIC vertrauten Schüler, Studenten und im Mittelstand tätigen Programmierer waren etwas später in der kurzlebigen Bastelcomputer-Szene Mitte der 1970er Jahre aktiv, die den kommerziellen [[Mikrocomputer|Microcomputern]] vorausging, und machten BASIC dort bekannt; kaum eine andere damals verbreitete Hochsprache eignete sich so gut wie (ein abgespecktes) BASIC für den extrem beschränkten Speicherplatz dieser ersten Microcomputer. Seinen Höhepunkt erlebte BASIC Ende der 1970er und Anfang der 1980er Jahre mit den aus den Bastelcomputern hervorgegangenen ersten [[Heimcomputer]]n, die nahezu alle als [[Benutzerschnittstelle|Benutzeroberfläche]] und Programmierumgebung einen BASIC-[[Interpreter]] besaßen. Prominente Beispiele sind [[Sinclair Research|Sinclair-Computer]] der ZX-Reihe mit Sinclair-Basic ([[Sinclair ZX80|ZX80]], [[Sinclair ZX81|ZX81]] und [[Sinclair ZX Spectrum|ZX Spectrum]]), der [[Acorn BBC Micro]], der Tandy [[TRS-80]], der [[Texas Instruments TI-99/4A]], der [[Amstrad CPC|Schneider/Amstrad CPC]], der [[Apple II]], die [[Atari-Heimcomputer|Atari 8-Bit-Heimcomputer]] oder der meistverkaufte Heimcomputer aller Zeiten, der [[Commodore 64]]. Aber auch die Vorläufer der Personalcomputer, wie zum Beispiel von [[Philips]], konnten mit [[CP/M]]-BASIC interpretierend oder kompiliert arbeiten. Die weitaus meisten dieser BASICs stammten von [[Microsoft]]. BASIC war Microsofts erstes und in den frühen Jahren wichtigstes Produkt, mehrere Jahre bevor mit [[MS-DOS]] das erste Betriebssystem dieser Firma auf den Markt kam.<ref name=":1" />

Praktisch alle Besitzer von Heimcomputern hatten damals zumindest Grundkenntnisse in BASIC, da die meisten Rechner beim Einschalten den BASIC-Interpreter starteten, welcher das Laden weiterer Programme unter Verwendung von BASIC-Befehlen erlaubte. Auch als Mitte der 1980er Jahre [[grafische Benutzeroberfläche]]n mit dem [[Apple Macintosh|Macintosh]], [[Amiga]] und dem [[Atari ST]] Einzug hielten, wurden bei diesen weiter BASIC-Interpreter mitgeliefert. Zudem gab es zusätzliche käufliche Versionen von BASIC-Dialekten. Mittels [[Compiler]]n konnten einige BASIC-Dialekte direkt in deutlich schnellere [[Maschinensprache|Maschinenprogramme]] übersetzt bzw. unter Umgehung des Interpreters direkt in Aufruflisten der zugrundeliegenden Interpreter-Funktionen übersetzt werden. Das seit 1981 verbreitete [[MS-DOS]] enthielt ebenfalls einen BASIC-Interpreter –&nbsp;zunächst [[BASICA]] bzw. [[GW-BASIC]], später [[QBasic]]&nbsp;– der in Deutschland an vielen Schulen eine Rolle im Unterricht der [[Informatik]] spielte. Zu dieser Zeit setzte aber ein Wandel ein, weil andere Hochsprachen wie beispielsweise [[C (Programmiersprache)|C]] für die [[Heimcomputer]] verfügbar wurden oder die Ressourcen des jeweiligen Systems vom mitgelieferten BASIC-Interpreter nur unzulänglich unterstützt wurden, was den Programmierer dazu zwang, sich mit [[Assemblersprache|Assembler]] vertraut zu machen.<ref name=":1" />

Durch die Umsetzung als Interpreter-Sprache waren die frühen BASIC-Dialekte außerdem deutlich langsamer als die meisten anderen, in der Regel [[compiler]]basierten Hochsprachen. Dies machte es besonders für zeitkritische Anwendungen unattraktiv bzw. führte zur Verwendung von [[Unterprogramm]]en in [[Maschinensprache]], die oft mit [[POKE]]-Anweisungen von BASIC aus in den Hauptspeicher geschrieben wurden. Solche Programme waren natürlich nicht [[Plattformunabhängigkeit|portabel]]. Deshalb und wegen der Zersplitterung in unzählige Dialekte gilt BASIC als fast nicht portabel.

Einige BASIC-Dialekte, z.&nbsp;B. [[AmigaBASIC]], wurden um [[Label (Programmierung)|Labels]] erweitert, welche anstelle von Zeilennummern als Sprungadresse dienen. Andere BASIC-Dialekte beherrschten dann den Umgang mit Funktionen und Prozeduren. Die Sprunganweisung <code>GOTO</code> wurde damit verzichtbar und gilt heute gar als verpönt. Der viel kritisierte sogenannte [[Spaghetticode]] (unübersichtlicher, insbesondere wegen überraschender Sprünge schwer nachvollziehbarer Quellcode) konnte zugunsten einer strukturierten und funktionsorientierten Programmierung vermieden werden.

Mit der Zeit etablierten sich Standardanwendungen wie Textverarbeitungen, Tabellenkalkulationen und Datenbanken. Dadurch war es für viele Computerbenutzer nicht mehr nötig, solche Programme selbst zu entwickeln, weshalb die Verwendung von Programmiersprachen allgemein zurückging.

Für einige Bereiche setzte sich zeitweilig in der Lehre [[Pascal (Programmiersprache)|Pascal]] oder [[C (Programmiersprache)|C]] als erste gelehrte Programmiersprache durch.

Mit Einführung von [[Objektorientierte Programmierung|objektorientierten]] [[Sprachelement]]en wurde ein weiterer Versuch unternommen, Visual Basic mit anderen objektorientierten Programmiersprachen wie [[C++]] gleichziehen zu lassen.

== Die Nutzung von BASIC heute ==
[[Microsoft]] besann sich auf die eigene Tradition und führte 1991 das kommerzielle [[Visual Basic Classic|Visual Basic]] für die schnelle Entwicklung von Windows-basierten Anwendungen ein. Der Code wurde nicht mehr zur Laufzeit [[Interpreter|interpretiert]], sondern von einem [[Compiler]] während der Programmentwicklung in maschinennahen [[Bytecode]] beziehungsweise in späteren Versionen sogar in nativen [[Maschinencode]] übersetzt. Durch diese Maßnahme konnte die Geschwindigkeit und die Stabilität der Programmausführung deutlich gesteigert werden. Da auch die Geschwindigkeit der Computer immer mehr zunahm, wurde Visual Basic außerdem für professionelle Entwicklungen immer interessanter.

Aber erst mit Visual Basic ab Version 5 erzielte Microsoft deutliche Erfolge in Bezug auf die Verarbeitungsgeschwindigkeit, die aber den zuvor verlorenen Boden nicht wieder rückgewinnen konnten.


Einige der so mit BASIC vertrauten Schüler, Studenten und im Mittelstand tätigen Programmierer waren etwas später in der kurzlebigen Bastelcomputer-Szene Mitte der 1970er Jahre aktiv, die den kommerziellen [[Mikrocomputer|Microcomputern]] vorausging, und machten BASIC dort bekannt; kaum eine andere damals verbreitete Hochsprache eignete sich so gut wie (ein abgespecktes) BASIC für den extrem beschränkten Speicherplatz dieser ersten Microcomputer. Seinen Höhepunkt erlebte BASIC Ende der 1970er und Anfang der 1980er Jahre mit den aus den Bastelcomputern hervorgegangenen ersten [[Heimcomputer]]n, die nahezu alle als [[Benutzerschnittstelle|Benutzeroberfläche]] und Programmierumgebung einen BASIC-[[Interpreter]] besaßen. Bekannte Beispiele sind [[Sinclair Research|Sinclair-Computer]] der ZX-Reihe mit Sinclair-Basic ([[Sinclair ZX80|ZX80]], [[Sinclair ZX81|ZX81]] und [[Sinclair ZX Spectrum|ZX Spectrum]]), der [[Acorn BBC Micro]], der Tandy [[TRS-80]], der [[Texas Instruments TI-99/4A]], der [[Amstrad CPC|Schneider/Amstrad CPC]], der [[Commodore PET]], der [[Apple II]], die [[Atari-Heimcomputer|Atari 8-Bit-Heimcomputer]] oder der meistverkaufte Heimcomputer, der [[Commodore 64]]. Aber auch die Vorläufer der Personalcomputer, wie zum Beispiel von [[Philips]], konnten mit [[CP/M]]-BASIC interpretierend oder kompiliert arbeiten. Die weitaus meisten dieser BASICs stammten von [[Microsoft]] ([[Microsoft BASIC]]). BASIC war Microsofts erstes und in den frühen Jahren wichtigstes Produkt, mehrere Jahre bevor mit [[MS-DOS]] das erste Betriebssystem dieser Firma auf den Markt kam.<ref name="FiftyYears" />
Besonders in Europa hat sich Visual Basic in der Entwicklergemeinschaft nur in begrenztem Maße behaupten können. Es bot zwar eine bessere und viel einfachere Anbindung an Windows als jede andere Programmiersprache, war aber langsamer. Erst mit der Implementierung von Visual Basic innerhalb des [[.NET]]-Systems gelang es, einige strukturelle Schwächen von BASIC zu überwinden. Gleichzeitig aber bedeutete dieser Schritt das Ende von Visual Basic als eigenständige [[Programmiersprache]]. Innerhalb des .NET-Systems handelt es sich bei [[Visual Basic .NET]] nur noch um eine Sprach-Implementierung neben anderen. Mit Einführung der [[JIT-Compiler]] und .NET als Basis für alle Microsoft-Sprachen besteht zwischen der Verarbeitungsgeschwindigkeit von BASIC und anderen Programmiersprachen unter .NET kein großer Unterschied mehr.


Praktisch alle Besitzer von Heimcomputern hatten damals zumindest Grundkenntnisse in BASIC, da die meisten Rechner beim Einschalten den BASIC-Interpreter starteten, welcher das Laden weiterer Programme unter Verwendung von BASIC-Befehlen erlaubte. Auch als Mitte der 1980er Jahre [[grafische Benutzeroberfläche]]n mit dem [[Apple Macintosh|Macintosh]], [[Amiga]] und dem [[Atari ST]] Einzug hielten, wurden bei diesen weiter BASIC-Interpreter mitgeliefert. Zudem gab es zusätzliche käufliche Versionen von BASIC-Dialekten. Mittels [[Compiler]]n konnten einige BASIC-Dialekte direkt in deutlich schnellere [[Maschinensprache|Maschinenprogramme]] übersetzt bzw. unter Umgehung des Interpreters direkt in Aufruflisten der zugrundeliegenden Interpreter-Funktionen übersetzt werden. Das seit 1981 verbreitete [[MS-DOS]] enthielt ebenfalls einen BASIC-Interpreter –&nbsp;zunächst [[BASICA]] bzw. [[GW-BASIC]], später [[QBasic]]&nbsp;– der in Deutschland an vielen Schulen eine Rolle im Unterricht der [[Informatik]] spielte. Zu dieser Zeit setzte aber ein Wandel ein, weil andere Hochsprachen wie beispielsweise [[C (Programmiersprache)|C]] für die [[Heimcomputer]] verfügbar wurden oder die Ressourcen des jeweiligen Systems vom mitgelieferten BASIC-Interpreter nur unzulänglich unterstützt wurden, was den Programmierer dazu zwang, sich mit [[Assemblersprache|Assembler]] vertraut zu machen.<ref name="FiftyYears" />
BASIC wird in vielen [[Microsoft Office|Microsoft-Office]]-Produkten von Microsoft und auch in einigen weiteren Anwendungen als [[Visual Basic for Applications|VBA]] erfolgreich zur internen Makro-Programmierung eingesetzt. Viele Softwarehersteller bieten ebenfalls auf BASIC basierende Programmiersprachen zur internen Makro-Programmierung ihrer Produkte an.


[[Microsoft]] besann sich auf die eigene Tradition und führte 1991 das kommerzielle [[Visual Basic Classic|Visual Basic]] für die schnelle Entwicklung von Windows-basierten Anwendungen ein. Kommerziell erfolgreich wurde sie ab Version 2, die [[Open Database Connectivity|ODBC]]-Datenbankunterstützung bot.<ref name="Wenz 2011">{{Literatur |Autor=Christian Wenz |Titel=ASP.NET 4.0 mit Visual Basic 2010: leistungsfähige Webapplikationen programmieren |Verlag=Pearson Deutschland |Ort= |Datum=2011 |ISBN=978-3-8273-2930-1 |Seiten=62}}</ref> Dabei entwickelte es sich von einem [[Interpreter]] hin zu einer [[Compiler]]-Sprache mit objektorientierten Ansätzen, wobei weiterhin strukturell programmiert werden konnte. Mit Visual Basic ab Version 5 war es möglich, mit [[Klasse (Informatik)|Klassen]] zu arbeiten. Im Nachfolger Visual Basic 6 wurde [[Vererbung (Programmierung)|Vererbung]] eingeführt.<ref>{{Literatur |Autor=Jürgen Kotz |Titel=Visual Basic 2008: Einstieg für Anspruchsvolle |Verlag=Pearson Deutschland |Ort= |Datum=2008 |ISBN=978-3-8273-2595-2 |Seiten=91}}</ref> Das Visual Basic 6 kompatible [[Visual Basic for Applications|VBA]] löste in [[Microsoft Office]] die vorherige Makrosprache ab.<ref>{{Literatur |Autor=Wolfgang Schmidt, Shichang Wang |Titel=Berechnungen in der Chemie und Verfahrenstechnik mit Excel und VBA |Verlag=John Wiley & Sons |Ort= |Datum=2014 |ISBN=978-3-527-68024-5 |Seiten=VIII}}</ref> Mit der Implementierung von Visual Basic innerhalb des [[.Net-Framework|.NET]]-Systems wurde die Sprache von Grund auf neu konzipiert, wodurch [[Abwärtskompatibilität]] nicht mehr möglich war.<ref name="Wenz 2011" />
Das Ziel einer [[Plattformunabhängigkeit|plattformunabhängigen]] Programmiersprache hat sich nie erfüllt. Im Gegensatz zum gut standardisierten [[C (Programmiersprache)|C]] entstanden von BASIC hunderte Dialekte, die allesamt bis auf gewisse grundsätzliche Ähnlichkeiten inkompatibel zueinander sind. Die Gemeinsamkeiten beschränken sich auf die reine Datenverarbeitung, während jeder Hersteller im Zuge der gleichzeitig rasant verlaufenden [[Hardware]]-Entwicklung seine eigenen, auf die jeweilige Hardware abgestimmten Befehle für Ein- und Ausgabe implementierte. Gut strukturierte BASIC-Programme im Quelltext lassen sich häufig jedoch einfach und schnell auf die unterschiedlichsten Systemen übertragen.


== Programmiersprache ==
== Programmiersprache ==
Zu Beginn der BASIC-Programmierung bauten sich Befehle wie folgt auf:
Zu Beginn der BASIC-Programmierung waren Programmzeilen nach folgendem Schema aufgebaut:
<pre>
<pre>
1. Zeilennummer Befehl [Parameter1, Parameter2 ...]
1. Zeilennummer Befehl [Parameter1, Parameter2 ...]
Zeile 59: Zeile 28:
[[Parameter (Informatik)|Parameter]]: Ein oder mehrere Werte, die einem Befehl übergeben werden können.
[[Parameter (Informatik)|Parameter]]: Ein oder mehrere Werte, die einem Befehl übergeben werden können.


Die Zuweisung von Werten ist in Beispiel 2 unten gezeigt. Die Variable, der ein Wert zugewiesen werden soll, steht vor dem Gleichheitszeichen; der Ausdruck, dessen Wert der Variablen zugewiesen werden soll, steht dahinter. Variablen müssen nur definiert werden, wenn sie Arrays sind. Der Typ der Variable ergibt sich durch ein Sonderzeichen am Ende des Namens, z.&nbsp;B. $ für String (A$, B$, …), % für Integer (A%, B%), & für Long (A&, B&, …). Das % kann weggelassen werden.
Die Zuweisung von Werten ist im obigen Beispiel 2 gezeigt. Die Variable, der ein Wert zugewiesen werden soll, steht vor dem Gleichheitszeichen; der Ausdruck, dessen Wert der Variablen zugewiesen werden soll, steht dahinter. Variablen müssen nur definiert werden, wenn sie [[Array (Datentyp)|Arrays]] sind. Der Typ der Variable ergibt sich durch ein Sonderzeichen am Ende des Namens, z.&nbsp;B. $ für [[Zeichenkette|String]] (A$, B$, …), % für [[Integer (Datentyp)|Integer]] (A%, B%), & für Long (A&, B&, …). Das % kann weggelassen werden.


Beispiele für übliche Befehle:
Beispiele für übliche Befehle:
<syntaxhighlight lang="basic">
INPUT [Text], Variable1 [,Variable2,...] - Per Eingabe werden der/den Variablen Werte zugewiesen, auf dem Bildschirm steht: Text
INPUT [Text], Variable1 [,Variable2,...] - Per Eingabe werden der/den Variablen Werte zugewiesen, auf dem Bildschirm steht: Text
PRINT [Text] - auf dem Bildschirm wird ein Text ausgegeben
PRINT [Text] - auf dem Bildschirm wird ein Text ausgegeben
Zeile 68: Zeile 38:
CLS - Löscht den Anzeigebereich
CLS - Löscht den Anzeigebereich
LET [Variable] = [Ausdruck] - weist einer Variablen einen Wert zu
LET [Variable] = [Ausdruck] - weist einer Variablen einen Wert zu
</syntaxhighlight>


In derselben Programmzeile können auch mehrere Befehle und Anweisungen angegeben werden. Zur Trennung wird ein Doppelpunkt verwendet:
In derselben Programmzeile können auch mehrere Befehle und Anweisungen angegeben werden. Zur Trennung wird ein Doppelpunkt verwendet:


<syntaxhighlight lang="thinbasic">
<syntaxhighlight lang="basic">
10 LET A$="Hallo":LET B$="Welt!":PRINT A$;:PRINT " ";:PRINT B$
10 LET A$="Hallo":LET B$="Welt!":PRINT A$;:PRINT " ";:PRINT B$
</syntaxhighlight>
</syntaxhighlight>


Eine solche Schreibweise hat allerdings kaum Vorteile. Die Verarbeitungsgeschwindigkeit erhöht sich nicht und einzelne Befehle innerhalb einer solchen Zeile haben keine Sprungadresse. Auch die Lesbarkeit von solchem Code ist schlecht. Einzig bei einigen eingeschränkten Systemen mit nur kleinem Zeilennummernspeicher ermöglicht diese Methode größere Programme, die sonst mehr Zeilen benötigen, als das System zur Speicherung zur Verfügung stellt.
Eine solche Schreibweise hat allerdings Vorteile. Die Verarbeitungsgeschwindigkeit von Sprüngen erhöht sich erheblich (Ausführungszeit ~ Anzahl der Zeilennummern bis zur gewünschten Zeilennummer) und es wird Speicherplatz gespart (5 Byte für jede Zeile vs. 1 Byte für den Doppelpunkt). Die Lesbarkeit von solchem Code ist jedoch schlecht.


Normalerweise wird die erste Anweisung automatisch mit nur einem einzelnen Leerzeichen von der Zeilennummer getrennt eingerückt. Vor allem bei verschachtelten Programmschleifen verliert man jedoch schnell den Überblick. Der Doppelpunkt wird daher oft auch dazu verwendet, um Code eingerückt darzustellen:
Normalerweise wird die erste Anweisung automatisch mit nur einem einzelnen Leerzeichen von der Zeilennummer getrennt eingerückt. Vor allem bei verschachtelten Programmschleifen verliert man jedoch schnell den Überblick. Der Doppelpunkt wird daher oft auch dazu verwendet, um Code eingerückt darzustellen:


<syntaxhighlight lang="thinbasic">
<syntaxhighlight lang="basic">
10 FOR A=100 TO 200 STEP 10
10 FOR A=100 TO 200 STEP 10
20 :FOR B=1 TO 10
20 :FOR B=1 TO 10
Zeile 87: Zeile 58:
</syntaxhighlight>
</syntaxhighlight>


Einige spätere Dialekte, z.&nbsp;B. AmigaBASIC, können sogenannte Labels als Sprungziel verwenden. Labels werden mit einem Doppelpunkt beendet und somit als solche markiert. Mit Labels lassen sich Ziele unabhängig von einer Zeilennummer adressieren. Programme können gänzlich ohne Zeilennummern auskommen, auch wenn es diese Möglichkeit nach wie vor gibt. Ein Beispiel:
Einige spätere Dialekte, z.&nbsp;B. [[AmigaBASIC]], können sogenannte [[Label (Programmierung)|Labels]] als Sprungziel verwenden. Labels werden mit einem Doppelpunkt beendet und somit als solche markiert. Mit Labels lassen sich Ziele unabhängig von einer Zeilennummer adressieren. Programme können gänzlich ohne Zeilennummern auskommen, auch wenn es diese Möglichkeit nach wie vor gibt. Ein Beispiel:


<syntaxhighlight lang="thinbasic">
<syntaxhighlight lang="basic">
Hauptprogramm:
Hauptprogramm:
FOR A=1 TO 10
FOR A=1 TO 10
Zeile 101: Zeile 72:
</syntaxhighlight>
</syntaxhighlight>


== Programmierbeispiel ==
== Programmbeispiel ==
Das folgende Beispiel zeigt einen typischen BASIC-Code. Viele Befehle, die sich in neueren Sprachen und neueren BASIC-Dialekten etabliert haben, gibt es bei dem im Beispiel verwendeten BASIC noch nicht. Dadurch war der Programmierer gezwungen, [[Strukturierte Programmierung|unstrukturiert]] zu programmieren. Ein Vorteil auch alter BASIC-Dialekte war allerdings, dass man damit [[Zeichenkette]]n einfach verarbeiten konnte (siehe die Zeilen 70–90 im Beispielprogramm).
Das folgende Beispiel zeigt einen typischen BASIC-Code. Viele Befehle, die sich in neueren Sprachen und neueren BASIC-Dialekten etabliert haben, gibt es bei dem im Beispiel verwendeten BASIC noch nicht. Dadurch war der Programmierer gezwungen, [[Strukturierte Programmierung|unstrukturiert]] zu programmieren, beispielsweise durch die Nutzung von <code>GOTO</code>. Ein Vorteil auch alter BASIC-Dialekte war allerdings, dass man damit [[Zeichenkette]]n einfach verarbeiten konnte (siehe die Zeilen 70–90 im Beispielprogramm).


<syntaxhighlight lang="thinbasic">
<syntaxhighlight lang="basic">
10 INPUT "Geben Sie bitte Ihren Namen ein"; A$
10 INPUT "Geben Sie bitte Ihren Namen ein: ", A$
20 PRINT "Guten Tag, "; A$
20 PRINT "Guten Tag, "; A$
30 INPUT "Wie viele Sterne möchten Sie?"; S
30 INPUT "Wie viele Sterne möchten Sie"; S
35 S$ = ""
35 S$ = ""
40 FOR I = 1 TO S
40 FOR I = 1 TO S
Zeile 113: Zeile 84:
55 NEXT I
55 NEXT I
60 PRINT S$
60 PRINT S$
70 INPUT "Möchten Sie noch mehr Sterne?"; Q$
70 INPUT "Möchten Sie noch mehr Sterne"; Q$
80 IF LEN(Q$) = 0 THEN GOTO 70
80 IF LEN(Q$) = 0 THEN GOTO 70
90 L$ = LEFT$(Q$, 1)
90 L$ = LEFT$(Q$, 1)
100 IF (L$ = "J") OR (L$ = "j") THEN GOTO 30
100 IF (L$ = "J") OR (L$ = "j") THEN GOTO 30
110 PRINT "Auf Wiedersehen";
110 PRINT "Auf Wiedersehen";
120 FOR I = 1 TO 200
120 FOR I = 1 TO 10
130 PRINT A$; " ";
130 PRINT A$; " ";
140 NEXT I
140 NEXT I
Zeile 128: Zeile 99:
* ANSI Standard. ISO-Standard für Vollbasic (ISO/IEC 10279:1991 ''Information Technology – Programming Languages – Full Basic'')
* ANSI Standard. ISO-Standard für Vollbasic (ISO/IEC 10279:1991 ''Information Technology – Programming Languages – Full Basic'')
* ANSI Addendum Defining Modules (X3.113 Interpretations-1992 ''Basic Technical Information Bulletin #1 Interpretations of ANSI 03.113-1987'')
* ANSI Addendum Defining Modules (X3.113 Interpretations-1992 ''Basic Technical Information Bulletin #1 Interpretations of ANSI 03.113-1987'')
* ISO Addendum Defining Modules (ISO/IEC 10279:1991/ Amd 1:1994 ''Modules and Single Character Input Enhancement'')
* ISO Addendum Defining Modules (ISO/IEC 10279:1991/Amd 1:1994 ''Modules and Single Character Input Enhancement'')


Die meisten Interpreter und Compiler halten sich allerdings nur teilweise an diese Vorgaben.
Die meisten Interpreter und Compiler halten sich allerdings nur teilweise an diese Vorgaben.


== BASIC-Dialekte ==
== Dialekte ==
{{Hauptartikel|Liste von BASIC-Dialekten}}
Neben den Standardbefehlen gibt es bei fast allen Interpretern zusätzliche Funktionalitäten und Spracherweiterungen, um die entsprechende [[Plattform (Computer)|Plattform]] vollständig und effektiver zu nutzen. Ein so erweiterter Befehlssatz wird als ''BASIC-Dialekt'' bezeichnet, siehe [[Liste der BASIC-Dialekte]].
Neben den Standardbefehlen gibt es bei fast allen Interpretern zusätzliche Funktionalitäten und Spracherweiterungen, um die entsprechende [[Plattform (Computer)|Plattform]] vollständig und effektiver zu nutzen. Ein so erweiterter Befehlssatz wird als ''BASIC-Dialekt'' bezeichnet.


== Literatur ==
== Literatur ==
Zeile 142: Zeile 114:
|Ort=München
|Ort=München
|Datum=1985
|Datum=1985
|ISBN=3-581-66524-7
|ISBN=3-581-66524-7}}
|Seiten=}}
* Rüdeger Baumann: ''BASIC – Eine Einführung in das Programmieren.'' Klett Verlag, Stuttgart 1980, ISBN 3-12-717700-3
* Rüdeger Baumann: ''BASIC – Eine Einführung in das Programmieren.'' Klett Verlag, Stuttgart 1980, ISBN 3-12-717700-3
* Hans-Joachim Sacht: ''Programmiersprache BASIC – Schritt für Schritt.'' Humboldt-Taschenbuchverlag, München 1983, ISBN 3-581-66456-9
* Hans-Joachim Sacht: ''Programmiersprache BASIC – Schritt für Schritt.'' Humboldt-Taschenbuchverlag, München 1983, ISBN 3-581-66456-9

== Videos ==
* {{YouTube |id=WYPNjSoDrqw |titel=Birth of BASIC |upload=2014-08-05 |uploader=[[Dartmouth College|Dartmouth]] |sprache=en}}


== Weblinks ==
== Weblinks ==
{{Wiktionary}}
{{Wiktionary}}
{{Commonscat|BASIC (programming language)|BASIC}}
{{Commonscat|BASIC (programming language)|BASIC}}
* {{DNB-Portal|4004624-2}}
* ''[https://www.heise.de/news/60-Jahre-BASIC-Allzweck-Programmiersprache-fuer-Anfaenger-9706458.html 60&nbsp;Jahre BASIC: Allzweck-Programmiersprache für Anfänger]'' –&nbsp;[[Heise online]] vom 2.&nbsp;Mai 2024


== Einzelnachweise ==
== Einzelnachweise ==
Zeile 159: Zeile 135:
[[Kategorie:Imperative Programmiersprache]]
[[Kategorie:Imperative Programmiersprache]]
[[Kategorie:Programmiersprache mit einem ISO-Standard]]
[[Kategorie:Programmiersprache mit einem ISO-Standard]]
[[Kategorie:Erziehungsorientierte Programmiersprache]]
[[Kategorie:Bildungsorientierte Programmiersprache]]
[[Kategorie:Abkürzung]]
[[Kategorie:Abkürzung]]

Aktuelle Version vom 3. Mai 2024, 00:41 Uhr

Ausschnitt aus einem BASIC-Listing

BASIC ist eine imperative Programmiersprache. Sie wurde 1964 von John G. Kemeny, Thomas E. Kurtz und Mary Kenneth Keller am Dartmouth College zunächst als Bildungsorientierte Programmiersprache entwickelt und verfügte in ihrer damaligen Form noch nicht über die Merkmale der strukturierten Programmierung, sondern arbeitete mit Zeilennummern und Sprunganweisungen (GOTO). Ende der 1980er und Anfang der 1990er Jahre entstand eine Vielzahl verschiedener BASIC-Dialekte, von denen einige alle Elemente höherer Programmiersprachen aufweisen, so etwa Objektorientierung.[1]

Das Akronym „BASIC“ steht für „Beginners’ All-purpose Symbolic Instruction Code“, was so viel bedeutet wie „symbolische Allzweck-Programmiersprache für Anfänger“. Die Abkürzung als Wort gesehen bedeutet außerdem „grundlegend“. Dies zeigt das Design-Ziel klar: eine einfache, für Anfänger geeignete Programmiersprache zu erschaffen. Außer in manchen Produktnamen wird das Wort „BASIC“ grundsätzlich in Großbuchstaben geschrieben.[1]

Geschichte[Bearbeiten | Quelltext bearbeiten]

BASIC wurde 1964 von John G. Kemeny, Thomas E. Kurtz und Mary Kenneth Keller am Dartmouth College entwickelt, um den Elektrotechnikstudenten den Einstieg in die Programmierung gegenüber Algol und Fortran zu erleichtern. Am 1. Mai 1964 um vier Uhr Ortszeit, New Hampshire, liefen die ersten beiden BASIC-Programme simultan auf einem GE-225-Computer von General Electric im Keller des Dartmouth College. BASIC wurde dann viele Jahre lang von immer neuen Informatikstudenten an diesem College weiterentwickelt, zudem propagierten es Kemeny und Kurtz ab den späten 1960er Jahren an mehreren Schulen der Gegend, die erstmals Computerkurse in ihr Unterrichtsprogramm aufnehmen wollten. BASIC war entsprechend dem Wunsch seiner „Väter“ für die Schulen kostenlos, im Gegensatz zu fast allen anderen damals üblichen Programmiersprachen, die meist mehrere tausend Dollar kosteten. Viele der damaligen großen Computerhersteller (wie etwa DEC) boten wegen der leichten Erlernbarkeit der Sprache und ihrer lizenzgebührfreien Verwendbarkeit bald BASIC-Interpreter für ihre neuen Minicomputer an; viele mittelständische Unternehmen, die damals erstmals in größerer Zahl Computer anschafften, kamen so mit BASIC in Berührung.[2][3]

Einige der so mit BASIC vertrauten Schüler, Studenten und im Mittelstand tätigen Programmierer waren etwas später in der kurzlebigen Bastelcomputer-Szene Mitte der 1970er Jahre aktiv, die den kommerziellen Microcomputern vorausging, und machten BASIC dort bekannt; kaum eine andere damals verbreitete Hochsprache eignete sich so gut wie (ein abgespecktes) BASIC für den extrem beschränkten Speicherplatz dieser ersten Microcomputer. Seinen Höhepunkt erlebte BASIC Ende der 1970er und Anfang der 1980er Jahre mit den aus den Bastelcomputern hervorgegangenen ersten Heimcomputern, die nahezu alle als Benutzeroberfläche und Programmierumgebung einen BASIC-Interpreter besaßen. Bekannte Beispiele sind Sinclair-Computer der ZX-Reihe mit Sinclair-Basic (ZX80, ZX81 und ZX Spectrum), der Acorn BBC Micro, der Tandy TRS-80, der Texas Instruments TI-99/4A, der Schneider/Amstrad CPC, der Commodore PET, der Apple II, die Atari 8-Bit-Heimcomputer oder der meistverkaufte Heimcomputer, der Commodore 64. Aber auch die Vorläufer der Personalcomputer, wie zum Beispiel von Philips, konnten mit CP/M-BASIC interpretierend oder kompiliert arbeiten. Die weitaus meisten dieser BASICs stammten von Microsoft (Microsoft BASIC). BASIC war Microsofts erstes und in den frühen Jahren wichtigstes Produkt, mehrere Jahre bevor mit MS-DOS das erste Betriebssystem dieser Firma auf den Markt kam.[3]

Praktisch alle Besitzer von Heimcomputern hatten damals zumindest Grundkenntnisse in BASIC, da die meisten Rechner beim Einschalten den BASIC-Interpreter starteten, welcher das Laden weiterer Programme unter Verwendung von BASIC-Befehlen erlaubte. Auch als Mitte der 1980er Jahre grafische Benutzeroberflächen mit dem Macintosh, Amiga und dem Atari ST Einzug hielten, wurden bei diesen weiter BASIC-Interpreter mitgeliefert. Zudem gab es zusätzliche käufliche Versionen von BASIC-Dialekten. Mittels Compilern konnten einige BASIC-Dialekte direkt in deutlich schnellere Maschinenprogramme übersetzt bzw. unter Umgehung des Interpreters direkt in Aufruflisten der zugrundeliegenden Interpreter-Funktionen übersetzt werden. Das seit 1981 verbreitete MS-DOS enthielt ebenfalls einen BASIC-Interpreter – zunächst BASICA bzw. GW-BASIC, später QBasic – der in Deutschland an vielen Schulen eine Rolle im Unterricht der Informatik spielte. Zu dieser Zeit setzte aber ein Wandel ein, weil andere Hochsprachen wie beispielsweise C für die Heimcomputer verfügbar wurden oder die Ressourcen des jeweiligen Systems vom mitgelieferten BASIC-Interpreter nur unzulänglich unterstützt wurden, was den Programmierer dazu zwang, sich mit Assembler vertraut zu machen.[3]

Microsoft besann sich auf die eigene Tradition und führte 1991 das kommerzielle Visual Basic für die schnelle Entwicklung von Windows-basierten Anwendungen ein. Kommerziell erfolgreich wurde sie ab Version 2, die ODBC-Datenbankunterstützung bot.[4] Dabei entwickelte es sich von einem Interpreter hin zu einer Compiler-Sprache mit objektorientierten Ansätzen, wobei weiterhin strukturell programmiert werden konnte. Mit Visual Basic ab Version 5 war es möglich, mit Klassen zu arbeiten. Im Nachfolger Visual Basic 6 wurde Vererbung eingeführt.[5] Das Visual Basic 6 kompatible VBA löste in Microsoft Office die vorherige Makrosprache ab.[6] Mit der Implementierung von Visual Basic innerhalb des .NET-Systems wurde die Sprache von Grund auf neu konzipiert, wodurch Abwärtskompatibilität nicht mehr möglich war.[4]

Programmiersprache[Bearbeiten | Quelltext bearbeiten]

Zu Beginn der BASIC-Programmierung waren Programmzeilen nach folgendem Schema aufgebaut:

1. Zeilennummer Befehl [Parameter1, Parameter2 ...]
2. Zeilennummer Variable1=Variable2

Zeilennummer: Ein fortlaufender Wert, der i. d. R. in 10er-Schritten ansteigt, damit später nachträglich Zeilen (mit Befehlen) hinzugefügt werden können, die dann dazwischen liegende Nummern erhalten. Mit dem Befehl RENUMBER kann ein Programm unter Berücksichtigung aller Sprungbefehle neu durchnummeriert werden. Um einzelne Befehle direkt im Interpreter auszuführen, darf keine Zeilennummer angegeben werden, da sonst die Zeile unter der angegebenen Zeilennummer im Programmspeicher abgelegt wird.

Befehl: Ein beliebiger Befehl wie INPUT.

Parameter: Ein oder mehrere Werte, die einem Befehl übergeben werden können.

Die Zuweisung von Werten ist im obigen Beispiel 2 gezeigt. Die Variable, der ein Wert zugewiesen werden soll, steht vor dem Gleichheitszeichen; der Ausdruck, dessen Wert der Variablen zugewiesen werden soll, steht dahinter. Variablen müssen nur definiert werden, wenn sie Arrays sind. Der Typ der Variable ergibt sich durch ein Sonderzeichen am Ende des Namens, z. B. $ für String (A$, B$, …), % für Integer (A%, B%), & für Long (A&, B&, …). Das % kann weggelassen werden.

Beispiele für übliche Befehle:

 INPUT [Text], Variable1 [,Variable2,...] - Per Eingabe werden der/den Variablen Werte zugewiesen, auf dem Bildschirm steht: Text
 PRINT [Text] - auf dem Bildschirm wird ein Text ausgegeben
 LOCATE X,Y - Legt die aktuelle Schreibposition des Cursors fest.
 PSET X,Y - Zeichnet einen Punkt auf dem Bildschirm
 CLS - Löscht den Anzeigebereich
 LET [Variable] = [Ausdruck] - weist einer Variablen einen Wert zu

In derselben Programmzeile können auch mehrere Befehle und Anweisungen angegeben werden. Zur Trennung wird ein Doppelpunkt verwendet:

10 LET A$="Hallo":LET B$="Welt!":PRINT A$;:PRINT " ";:PRINT B$

Eine solche Schreibweise hat allerdings Vorteile. Die Verarbeitungsgeschwindigkeit von Sprüngen erhöht sich erheblich (Ausführungszeit ~ Anzahl der Zeilennummern bis zur gewünschten Zeilennummer) und es wird Speicherplatz gespart (5 Byte für jede Zeile vs. 1 Byte für den Doppelpunkt). Die Lesbarkeit von solchem Code ist jedoch schlecht.

Normalerweise wird die erste Anweisung automatisch mit nur einem einzelnen Leerzeichen von der Zeilennummer getrennt eingerückt. Vor allem bei verschachtelten Programmschleifen verliert man jedoch schnell den Überblick. Der Doppelpunkt wird daher oft auch dazu verwendet, um Code eingerückt darzustellen:

10 FOR A=100 TO 200 STEP 10
20 :FOR B=1 TO 10
30 ::PRINT A + B
40 :NEXT B
50 NEXT A

Einige spätere Dialekte, z. B. AmigaBASIC, können sogenannte Labels als Sprungziel verwenden. Labels werden mit einem Doppelpunkt beendet und somit als solche markiert. Mit Labels lassen sich Ziele unabhängig von einer Zeilennummer adressieren. Programme können gänzlich ohne Zeilennummern auskommen, auch wenn es diese Möglichkeit nach wie vor gibt. Ein Beispiel:

Hauptprogramm:
FOR A=1 TO 10
  GOSUB Farbwechsel
  PRINT "Hallo Welt!"
NEXT A
END
Farbwechsel:
COLOR A,0
RETURN

Programmbeispiel[Bearbeiten | Quelltext bearbeiten]

Das folgende Beispiel zeigt einen typischen BASIC-Code. Viele Befehle, die sich in neueren Sprachen und neueren BASIC-Dialekten etabliert haben, gibt es bei dem im Beispiel verwendeten BASIC noch nicht. Dadurch war der Programmierer gezwungen, unstrukturiert zu programmieren, beispielsweise durch die Nutzung von GOTO. Ein Vorteil auch alter BASIC-Dialekte war allerdings, dass man damit Zeichenketten einfach verarbeiten konnte (siehe die Zeilen 70–90 im Beispielprogramm).

10 INPUT "Geben Sie bitte Ihren Namen ein: ", A$
20 PRINT "Guten Tag, "; A$
30 INPUT "Wie viele Sterne möchten Sie"; S
35 S$ = ""
40 FOR I = 1 TO S
50 S$ = S$ + "*"
55 NEXT I
60 PRINT S$
70 INPUT "Möchten Sie noch mehr Sterne"; Q$
80 IF LEN(Q$) = 0 THEN GOTO 70
90 L$ = LEFT$(Q$, 1)
100 IF (L$ = "J") OR (L$ = "j") THEN GOTO 30
110 PRINT "Auf Wiedersehen";
120 FOR I = 1 TO 10
130 PRINT A$; " ";
140 NEXT I
150 PRINT

Normen und Standards[Bearbeiten | Quelltext bearbeiten]

  • ANSI. ISO-Standard for Minimal BASIC (ISO/IEC 6373:1984 Data Processing—Programming Languages—Minimal Basic)
  • ANSI Standard. ISO-Standard für Vollbasic (ISO/IEC 10279:1991 Information Technology – Programming Languages – Full Basic)
  • ANSI Addendum Defining Modules (X3.113 Interpretations-1992 Basic Technical Information Bulletin #1 Interpretations of ANSI 03.113-1987)
  • ISO Addendum Defining Modules (ISO/IEC 10279:1991/Amd 1:1994 Modules and Single Character Input Enhancement)

Die meisten Interpreter und Compiler halten sich allerdings nur teilweise an diese Vorgaben.

Dialekte[Bearbeiten | Quelltext bearbeiten]

Neben den Standardbefehlen gibt es bei fast allen Interpretern zusätzliche Funktionalitäten und Spracherweiterungen, um die entsprechende Plattform vollständig und effektiver zu nutzen. Ein so erweiterter Befehlssatz wird als BASIC-Dialekt bezeichnet.

Literatur[Bearbeiten | Quelltext bearbeiten]

  • Hans-Joachim Sacht: BASIC-Dialekte. Humboldt-Taschenbuchverlag, München 1985, ISBN 3-581-66524-7.
  • Rüdeger Baumann: BASIC – Eine Einführung in das Programmieren. Klett Verlag, Stuttgart 1980, ISBN 3-12-717700-3
  • Hans-Joachim Sacht: Programmiersprache BASIC – Schritt für Schritt. Humboldt-Taschenbuchverlag, München 1983, ISBN 3-581-66456-9

Videos[Bearbeiten | Quelltext bearbeiten]

Weblinks[Bearbeiten | Quelltext bearbeiten]

Wiktionary: BASIC – Bedeutungserklärungen, Wortherkunft, Synonyme, Übersetzungen
Commons: BASIC – Sammlung von Bildern, Videos und Audiodateien

Einzelnachweise[Bearbeiten | Quelltext bearbeiten]

  1. a b A Manual for Basic (1964). (PDF) 1. Oktober 1964, abgerufen am 1. Mai 2020 (englisch).
  2. Education: High Math at Hanover. In: Time. 23. Februar 1959, ISSN 0040-781X (time.com [abgerufen am 1. Mai 2020]).
  3. a b c Fifty Years of BASIC, the Programming Language That Made Computers Personal. Abgerufen am 1. Mai 2020 (englisch).
  4. a b Christian Wenz: ASP.NET 4.0 mit Visual Basic 2010: leistungsfähige Webapplikationen programmieren. Pearson Deutschland, 2011, ISBN 978-3-8273-2930-1, S. 62.
  5. Jürgen Kotz: Visual Basic 2008: Einstieg für Anspruchsvolle. Pearson Deutschland, 2008, ISBN 978-3-8273-2595-2, S. 91.
  6. Wolfgang Schmidt, Shichang Wang: Berechnungen in der Chemie und Verfahrenstechnik mit Excel und VBA. John Wiley & Sons, 2014, ISBN 978-3-527-68024-5, S. VIII.