www.wikidata.de-de.nina.az
Dieser Artikel behandelt die Programmiersprache Zur Gruppe von vier grossen Schwellenlandern siehe BASIC Staaten und fur weitere Bedeutungen siehe Basic BASIC ist eine imperative Programmiersprache Sie wurde 1964 von John G Kemeny Thomas E Kurtz und Mary Kenneth Keller am Dartmouth College zunachst als Bildungsorientierte Programmiersprache entwickelt und verfugte in ihrer damaligen Form noch nicht uber 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 hoherer Programmiersprachen aufweisen so etwa Objektorientierung 1 Ausschnitt aus einem BASIC ListingDas Akronym BASIC steht fur Beginner s All purpose Symbolic Instruction Code was so viel bedeutet wie symbolische Allzweck Programmiersprache fur Anfanger Die Abkurzung als Wort gesehen bedeutet ausserdem grundlegend Dies zeigt das Design Ziel klar eine einfache fur Anfanger geeignete Programmiersprache zu erschaffen Ausser in manchen Produktnamen wird das Wort BASIC grundsatzlich in Grossbuchstaben geschrieben 1 Inhaltsverzeichnis 1 Geschichte 2 Programmiersprache 3 Programmierbeispiel 4 Normen und Standards 5 Dialekte 6 Literatur 7 Videos 8 Weblinks 9 EinzelnachweiseGeschichte BearbeitenBASIC 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 gegenuber 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 spaten 1960er Jahren an mehreren Schulen der Gegend die erstmals Computerkurse in ihr Unterrichtsprogramm aufnehmen wollten BASIC war entsprechend dem Wunsch seiner Vater fur die Schulen kostenlos im Gegensatz zu fast allen anderen damals ublichen Programmiersprachen die meist mehrere tausend Dollar kosteten Viele der damaligen grossen Computerhersteller wie etwa DEC boten wegen der leichten Erlernbarkeit der Sprache und ihrer lizenzgebuhrfreien Verwendbarkeit bald BASIC Interpreter fur ihre neuen Minicomputer an viele mittelstandische Unternehmen die damals erstmals in grosserer Zahl Computer anschafften kamen so mit BASIC in Beruhrung 2 3 Einige der so mit BASIC vertrauten Schuler Studenten und im Mittelstand tatigen Programmierer waren etwas spater 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 fur den extrem beschrankten Speicherplatz dieser ersten Microcomputer Seinen Hohepunkt erlebte BASIC Ende der 1970er und Anfang der 1980er Jahre mit den aus den Bastelcomputern hervorgegangenen ersten Heimcomputern die nahezu alle als Benutzeroberflache und Programmierumgebung einen BASIC Interpreter besassen Prominente 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 Apple II die Atari 8 Bit Heimcomputer oder der meistverkaufte Heimcomputer der Commodore 64 Aber auch die Vorlaufer 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 fruhen 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 Benutzeroberflachen mit dem Macintosh Amiga und dem Atari ST Einzug hielten wurden bei diesen weiter BASIC Interpreter mitgeliefert Zudem gab es zusatzliche kaufliche Versionen von BASIC Dialekten Mittels Compilern konnten einige BASIC Dialekte direkt in deutlich schnellere Maschinenprogramme ubersetzt bzw unter Umgehung des Interpreters direkt in Aufruflisten der zugrundeliegenden Interpreter Funktionen ubersetzt werden Das seit 1981 verbreitete MS DOS enthielt ebenfalls einen BASIC Interpreter zunachst BASICA bzw GW BASIC spater 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 fur die Heimcomputer verfugbar wurden oder die Ressourcen des jeweiligen Systems vom mitgelieferten BASIC Interpreter nur unzulanglich unterstutzt wurden was den Programmierer dazu zwang sich mit Assembler vertraut zu machen 3 Microsoft besann sich auf die eigene Tradition und fuhrte 1991 das kommerzielle Visual Basic fur die schnelle Entwicklung von Windows basierten Anwendungen ein Kommerziell erfolgreich wurde sie ab Version 2 die ODBC Datenbankunterstutzung bot 4 Dabei entwickelte es sich von einem Interpreter hin zu einer Compiler Sprache mit objektorientierten Ansatzen wobei weiterhin strukturell programmiert werden konnte Mit Visual Basic ab Version 5 war es moglich mit Klassen zu arbeiten Im Nachfolger Visual Basic 6 wurde Vererbung eingefuhrt 5 Das Visual Basic 6 kompatible VBA loste 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 Abwartskompatibilitat nicht mehr moglich war 4 Programmiersprache BearbeitenZu Beginn der BASIC Programmierung bauten sich Befehle wie folgt auf 1 Zeilennummer Befehl Parameter1 Parameter2 2 Zeilennummer Variable1 Variable2 Zeilennummer Ein fortlaufender Wert der i d R in 10er Schritten ansteigt damit spater nachtraglich Zeilen mit Befehlen hinzugefugt werden konnen die dann dazwischen liegende Nummern erhalten Mit dem Befehl RENUMBER kann ein Programm unter Berucksichtigung aller Sprungbefehle neu durchnummeriert werden Um einzelne Befehle direkt im Interpreter auszufuhren 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 ubergeben werden konnen 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 mussen nur definiert werden wenn sie Arrays sind Der Typ der Variable ergibt sich durch ein Sonderzeichen am Ende des Namens z B fur String A B fur Integer A B amp fur Long A amp B amp Das kann weggelassen werden Beispiele fur ubliche 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 Loscht den Anzeigebereich LET Variable Ausdruck weist einer Variablen einen Wert zu In derselben Programmzeile konnen 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 Sprungen erhoht sich erheblich Ausfuhrungszeit Anzahl der Zeilennummern bis zur gewunschten Zeilennummer und es wird Speicherplatz gespart 5 Byte fur jede Zeile vs 1 Byte fur 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 eingeruckt Vor allem bei verschachtelten Programmschleifen verliert man jedoch schnell den Uberblick Der Doppelpunkt wird daher oft auch dazu verwendet um Code eingeruckt 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 spatere Dialekte z B AmigaBASIC konnen sogenannte Labels als Sprungziel verwenden Labels werden mit einem Doppelpunkt beendet und somit als solche markiert Mit Labels lassen sich Ziele unabhangig von einer Zeilennummer adressieren Programme konnen ganzlich ohne Zeilennummern auskommen auch wenn es diese Moglichkeit nach wie vor gibt Ein Beispiel Hauptprogramm FOR A 1 TO 10 GOSUB Farbwechsel PRINT Hallo Welt NEXT A END Farbwechsel COLOR A 0 RETURNProgrammierbeispiel BearbeitenDas 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 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 mochten Sie S 35 S 40 FOR I 1 TO S 50 S S 55 NEXT I 60 PRINT S 70 INPUT Mochten 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 PRINTNormen und Standards BearbeitenANSI ISO Standard for Minimal BASIC ISO IEC 6373 1984 Data Processing Programming Languages Minimal Basic ANSI Standard ISO Standard fur 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 Hauptartikel Liste der BASIC Dialekte Neben den Standardbefehlen gibt es bei fast allen Interpretern zusatzliche Funktionalitaten und Spracherweiterungen um die entsprechende Plattform vollstandig und effektiver zu nutzen Ein so erweiterter Befehlssatz wird als BASIC Dialekt bezeichnet Literatur BearbeitenHans Joachim Sacht BASIC Dialekte Humboldt Taschenbuchverlag Munchen 1985 ISBN 3 581 66524 7 Rudeger Baumann BASIC Eine Einfuhrung in das Programmieren Klett Verlag Stuttgart 1980 ISBN 3 12 717700 3 Hans Joachim Sacht Programmiersprache BASIC Schritt fur Schritt Humboldt Taschenbuchverlag Munchen 1983 ISBN 3 581 66456 9Videos BearbeitenDartmouth Birth of BASIC auf YouTube 5 August 2014 englisch Weblinks Bearbeiten nbsp Wiktionary BASIC Bedeutungserklarungen Wortherkunft Synonyme Ubersetzungen nbsp Commons BASIC Sammlung von Bildern Videos und AudiodateienEinzelnachweise Bearbeiten a b A Manual for Basic 1964 PDF 1 Oktober 1964 abgerufen am 1 Mai 2020 englisch Education High Math at Hanover In Time 23 Februar 1959 ISSN 0040 781X time com abgerufen am 1 Mai 2020 a b c Fifty Years of BASIC the Programming Language That Made Computers Personal Abgerufen am 1 Mai 2020 englisch a b Christian Wenz ASP NET 4 0 mit Visual Basic 2010 leistungsfahige Webapplikationen programmieren Pearson Deutschland 2011 ISBN 978 3 8273 2930 1 S 62 Jurgen Kotz Visual Basic 2008 Einstieg fur Anspruchsvolle Pearson Deutschland 2008 ISBN 978 3 8273 2595 2 S 91 Wolfgang Schmidt Shichang Wang Berechnungen in der Chemie und Verfahrenstechnik mit Excel und VBA John Wiley amp Sons 2014 ISBN 978 3 527 68024 5 S VIII Normdaten Sachbegriff GND 4004624 2 lobid OGND AKS Abgerufen von https de wikipedia org w index php title BASIC amp oldid 236504363