Movatterモバイル変換


[0]ホーム

URL:


Zum Inhalt springen
WikipediaDie freie Enzyklopädie
Suche

BASIC

aus Wikipedia, der freien Enzyklopädie
Dieser Artikel behandelt die Programmiersprache. Zur Gruppe von vier großen Schwellenländern sieheBASIC-Staaten und für weitere Bedeutungen sieheBasic.
Ausschnitt aus einem BASIC-Listing

BASIC ist eineimperative Programmiersprache. Sie wurde 1964 vonJohn G. Kemeny,Thomas E. Kurtz und möglicherweiseMary Kenneth Keller amDartmouth College zunächst alsBildungsorientierte Programmiersprache entwickelt und verfügte in ihrer damaligen Form noch nicht über die Merkmale derstrukturierten Programmierung, sondern arbeitete mit Zeilennummern undSprunganweisungen (GOTO). Ende der 1980er und Anfang der 1990er Jahre entstand eine Vielzahl verschiedenerBASIC-Dialekte, von denen einige alle Elemente höherer Programmiersprachen aufweisen, so etwaObjektorientierung.[1]

DasAkronym „BASIC“ steht für „Beginners’All-purposeSymbolicInstructionCode“, 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 vonJohn G. Kemeny,Thomas E. Kurtz undMary Kenneth Keller amDartmouth College entwickelt, um den Elektrotechnikstudenten den Einstieg in die Programmierung gegenüberAlgol undFortran zu erleichtern. Am 1. Mai 1964 um vier Uhr Ortszeit, New Hampshire, liefen die ersten beiden BASIC-Programme simultan auf einemGE-225-Computer vonGeneral 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 etwaDEC) boten wegen der leichten Erlernbarkeit der Sprache und ihrer lizenzgebührfreien Verwendbarkeit bald BASIC-Interpreter für ihre neuenMinicomputer 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 kommerziellenMicrocomputern 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 erstenHeimcomputern, die nahezu alle alsBenutzeroberfläche und Programmierumgebung einen BASIC-Interpreter besaßen. Bekannte Beispiele sindSinclair-Computer der ZX-Reihe mit Sinclair-Basic (ZX80,ZX81 undZX Spectrum), derAcorn BBC Micro, der TandyTRS-80, derTexas Instruments TI-99/4A, derSchneider/Amstrad CPC, derCommodore PET, derApple II, dieAtari 8-Bit-Heimcomputer oder der meistverkaufte Heimcomputer, derCommodore 64. Aber auch die Vorläufer der Personalcomputer, wie zum Beispiel vonPhilips, konnten mitCP/M-BASIC interpretierend oderkompiliert arbeiten. Die weitaus meisten dieser BASICs stammten vonMicrosoft (Microsoft BASIC). BASIC war Microsofts erstes und in den frühen Jahren wichtigstes Produkt, mehrere Jahre bevor mitMS-DOS das ersteBetriebssystem dieser Firma auf den Markt kam.[3]

Während jedoch die Enthusiasten desHomebrew Computer Clubs eine freie Kultur des Austausches pflegten, war BASIC von Microsoft ein kommerzielles Produkt. Die Hobbyisten tauschten ihre Programme untereinander aus, aber auch BASIC selbst, das von Microsoft für 150US-Dollar (USD; nach heutigerKaufkraft ca. 870 USD) verkauft wurde. Dies führte zumOpen Letter to Hobbyists vonBill Gates, in dem er dazu aufrief, seineproprietäre Software (wie Microsoft BASIC) nicht zu kopieren, sondern zu kaufen. Daraus entstand wiederum eine Gegenkultur: als direkte Reaktion darauf schrieb Dennis Allison für diePeople’s Computer Company inMenlo Park,Kalifornien, eine komplett freie BASIC-Variante namensTiny BASIC, die ebenfalls auf demAltair 8800 lief und anschließend auf weitere Heimcomputer undPCsportiert wurde. Im Gegensatz zu Microsofts BASIC war Tiny BASICgemeinfrei (englischPublic Domain). Indes wurde auf Heimcomputern durchwegs Microsofts BASIC lizenziert, z. B. alsCommodore BASIC auf demPET 2001 oder demC64.[4]

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 Jahregrafische Benutzeroberflächen mit demMacintosh,Amiga und demAtari ST Einzug hielten, wurden bei diesen weiter BASIC-Interpreter mitgeliefert. Zudem gab es zusätzliche käufliche Versionen von BASIC-Dialekten. MittelsCompilern konnten einige BASIC-Dialekte direkt in deutlich schnellereMaschinenprogramme übersetzt bzw. unter Umgehung des Interpreters direkt in Aufruflisten der zugrundeliegenden Interpreter-Funktionen übersetzt werden. Das seit 1981 verbreiteteMS-DOS enthielt ebenfalls einen BASIC-Interpreter – zunächstBASICA bzw.GW-BASIC, späterQBasic – der in Deutschland an vielen Schulen eine Rolle im Unterricht derInformatik spielte. Zu dieser Zeit setzte aber ein Wandel ein, weil andere Hochsprachen wie beispielsweiseC für dieHeimcomputer 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 mitAssembler vertraut zu machen.[3]

Microsoft besann sich auf die eigene Tradition und führte 1991 das kommerzielleVisual Basic für die schnelle Entwicklung von Windows-basierten Anwendungen ein. Kommerziell erfolgreich wurde sie ab Version 2, dieODBC-Datenbankunterstützung bot.[5] Dabei entwickelte es sich von einemInterpreter hin zu einerCompiler-Sprache mit objektorientierten Ansätzen, wobei weiterhin strukturell programmiert werden konnte. Mit Visual Basic ab Version 5 war es möglich, mitKlassen zu arbeiten. Im Nachfolger Visual Basic 6 wurdeVererbung eingeführt.[6] Das mit Visual Basic 6 kompatibleVBA löste inMicrosoft Office die vorherige Makrosprache ab.[7] Mit der Implementierung von Visual Basic innerhalb des.NET-Systems wurde die Sprache von Grund auf neu konzipiert, wodurchAbwärtskompatibilität nicht mehr möglich war.[5]

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 BefehlRENUMBER 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 wieINPUT.

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 sieArrays sind. Der Typ der Variable ergibt sich durch ein Sonderzeichen am Ende des Namens, z. B. $ fürString (A$, B$, …), % fürInteger (A%, B%), & für Long (A&, B&, …). Das % kann weggelassen werden.

Beispiele für übliche Befehle:

INPUT[Text],Variable1[,Variable2,...]-PerEingabewerdender/denVariablenWertezugewiesen,aufdemBildschirmsteht:TextPRINT[Text]-aufdemBildschirmwirdeinTextausgegebenLOCATEX,Y-LegtdieaktuelleSchreibpositiondesCursorsfest.PSETX,Y-ZeichneteinenPunktaufdemBildschirmCLS-LöschtdenAnzeigebereichLET[Variable]=[Ausdruck]-weisteinerVariableneinenWertzu

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

10LETA$="Hallo":LETB$="Welt!":PRINTA$;:PRINT" ";:PRINTB$

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:

10FORA=100TO200STEP1020:FORB=1TO1030::PRINTA+B40:NEXTB50NEXTA

Einige Dialekte , z. B.AmigaBASIC, können sogenannteLabels 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:FORA=1TO10GOSUBFarbwechselPRINT"Hallo Welt!"NEXTAENDFarbwechsel:COLORA,0RETURN

oder dasSharp PC-1401-BASIC aus dem Jahr 1983:

10:"HAUPTPROGRAMM"20:FORA=1TO1030:GOSUB"QUADRAT"40:NEXTA50:END60:"QUADRAT"70:PRINT"A=",A,"A^2=",A*A80: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 vonGOTO. Ein Vorteil auch alter BASIC-Dialekte war allerdings, dass man damitZeichenketten einfach verarbeiten konnte (siehe die Zeilen 70–90 im Beispielprogramm).

10INPUT"Geben Sie bitte Ihren Namen ein: ";A$20PRINT"Guten Tag, ";A$30INPUT"Wie viele Sterne möchten Sie";S35S$=""40FORI=1TOS50S$=S$+"*"55NEXTI60PRINTS$70INPUT"Möchten Sie noch mehr Sterne";Q$80IFLEN(Q$)=0THENGOTO7090L$=LEFT$(Q$,1)100IF(L$="J")OR(L$="j")THENGOTO30110PRINT"Auf Wiedersehen";120FORI=1TO10130PRINTA$;" ";140NEXTI150PRINT

Normen und Standards

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

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

Dialekte

[Bearbeiten |Quelltext bearbeiten]
Hauptartikel:Liste von BASIC-Dialekten

Neben den Standardbefehlen gibt es bei fast allen Interpretern zusätzliche Funktionalitäten und Spracherweiterungen, um die entsprechendePlattform vollständig und effektiver zu nutzen. Ein so erweiterterBefehlssatz wird alsBASIC-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. abA 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. abcFifty Years of BASIC, the Programming Language That Made Computers Personal. Abgerufen am 1. Mai 2020 (englisch). 
  4. Christian Preidel:Digitalisierung als Transformation? – Perspektiven aus Ethik, Philosophie und Theologie. Hrsg.: Tobias Holischka, Klaus Viertbauer, Christian Preidel (= Digitalitätsforschung / Digitality Research).Springer Nature, 2022,ISBN 978-3-662-65349-4,ISSN 2730-6909, 3 Pionier*innen; 3.2 BASIC, die Sprache kreativer Emanzipation (Sister Mary Kenneth Keller),S. 226: „Was in dieser Geschichte allerdings miterzählt werden muss ist erstens, dass BASIC auf den Heimcomputern ein kommerzielles Produkt war. Microsoft entwickelte eine Version für den C64 und lizenzierte sie an Commodore. Bill Gates war es auch, der sich in einer berühmt gewordenen offenen Letter to Hobbyists, über das Raubkopieren echauffierte. Es entsteht deshalb auch eine Gegenkultur: In 1975, volunteer programmers and the nonprofit People’s Computer Company (PCC) developed an alternative BASIC for the Altair 8800. Bob Albrecht […] had founded ‘probably the world’s first completely free, walk-in, public computer center – People’s Computer Center – in a storefront in Menlo Park, California’. (Montfort et al. 2013, S. 173)“ 
  5. abChristian Wenz:ASP.NET 4.0 mit Visual Basic 2010: leistungsfähige Webapplikationen programmieren. Pearson Deutschland, 2011,ISBN 978-3-8273-2930-1,S. 62. 
  6. Jürgen Kotz:Visual Basic 2008: Einstieg für Anspruchsvolle. Pearson Deutschland, 2008,ISBN 978-3-8273-2595-2,S. 91. 
  7. 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. 
Normdaten (Sachbegriff):GND:4004624-2 (GND Explorer,lobid,OGND,AKS)
Abgerufen von „https://de.wikipedia.org/w/index.php?title=BASIC&oldid=263776276
Kategorien:

[8]ページ先頭

©2009-2026 Movatter.jp