WikiDer > BASIC

BASIC
Den gleichnamigen Film finden Sie unter Einfach (Film).
BASIC
ParadigmaImperativ, strukturiert
erschien1. Mai 1964[1]
Entworfen vonJohn Kemeny und Thomas Kurtz
Typensystemstark
ImplementierungenApple BASIC, BBC BASIC, Microsoft BASIC, TI-BASIC und viele andere
DialekteFreiheit BASIC, Turbo BASIC, QuickBASIC, PowerBASIC und viele andere
Beeinflusst vonAlgol-60, FORTRAN II, JOSS
Einfluss aufCOMAL, Visual Basic, Visual Basic .NET, REALbasic, REXX, perl, GRAS
BetriebssystemMultiplattform
Portal  Portalsymbol  Informatik
BASIC-Beispiel.

BASIC ist ein ImperativProgrammiersprache die ursprünglich dazu gedacht war, den Leuten zu helfen, schnell Programmieren zu lernen. Der Name ist a Akronym vor dem Allzwecksymbolischer Instruktionscode für Anfänger. BASIC hat Ähnlichkeit mit FORTRAN.

Es gibt viele verschiedene Implementierungen von BASIC im Umlauf. Die meisten älteren Versionen funktionierten interpretierend: das Programm und sogar einzelne Befehle (wie die einen Ausdruck auswerten) kann sofort ausgeführt werden. Während der Ausführung kann das Programm oft an einem Fehler hängen bleiben, dem Merkmal Laufzeit Fehler (z.B. Syntax-Fehler). Ein auffallendes Merkmal des Quellcodes der meisten älteren BASIC-Programme sind die Nummern am Anfang jeder Zeile.

Später kam noch mehr Compiler für BASIC aus. In späteren Implementierungen werden weitere Techniken aus dem strukturierte Programmierung angenommen, damit die 'Anfängersprache' mehr auf andere kommt höhere Programmiersprachen kam zu scheinen.

Geschichte

Ursprung

Alle modernen Implementierungen von BASIC basieren auf der BASIC-Implementierung von Mather und Waite von 1971. Diese Implementierung wiederum geht auf eine Urversion von BASIC zurück, die in 1963/1964 wurde am entwickelt Dartmouth College von den Mathematikern John Kemeny und Thomas Kurtz (auch bekannt für ihre Arbeit an Compiler für Sprachen wie fortran und Algol-60 – was erklärt, warum BASIC Fortran sehr ähnlich ist). Sie führten ihr erstes Programm in BASIC am 1. Mai 1964 durch.[1] Sie entwickelten ihre Sprache (mit 14 Aussagen) als Einführungssprache für nicht-technische Hochschulstudenten mit den Hauptzielen:

  • für Nicht-Techniker verständlich
  • die Sprache musste "freundlich" aussehen
  • in der Sprache mussten schnell Ergebnisse geliefert werden für Hausaufgaben huiswerk
  • Der Zugang zum Sprachsystem musste frei und einfach sein und die Trennung zwischen den Benutzern regeln
  • Die Zeit, die der Benutzer benötigt, sollte minimal sein, und nicht die Prozessorzeit sollte minimal sein

Obwohl das erstere System ein Batch-System war, war die letztere Anforderung eine Revolution im Denken. Dies führte bald zur Neuimplementierung des Systems als interaktives System, das Timesharing an der Maschine ermöglicht. Der Benutzer bediente die Maschine direkt, anstatt ein von einem Bediener eingegebenes Programm vorzulegen, und der Benutzer erhielt nur das Ergebnis.

Beispiel

Die Eigenschaften von BASIC können mit dem folgenden Programm demonstriert werden, das die Primzahlen zwischen zwei gegebenen Zahlen ausgibt oder anzeigt:

100BREMSEPRIMZAHLEN110EINGANG"START=",A1120EINGANG"END=",A2130ZUMich=A1ZUA2140GOSUB170150NÄCHSTERich160ENDE170BREMSEPRÜFUNGPRIME180ZUMJ=2ZUSQR(ich)190WENNich/J=INT(ich/J)DANN220200NÄCHSTERJ210DRUCKENich;220RÜCKKEHR

Das Programm wird mit einem sogenannten Zeileneditor eingegeben, in dem die Zeilen nummeriert werden. Die Zeilennummern werden um 10 erhöht, um das Einfügen zusätzlicher Zeilen zu ermöglichen. Auf Wunsch können alle Zeilen neu nummeriert werden. BASIC macht sich diese Nummerierung zunutze, indem GOTO- und GOSUB-Befehle auf diese Nummern verweisen. Es werden also keine separaten Etiketten benötigt. Die Variablen sind nicht definiert; Als Variablennamen stehen nur A bis Z und A0 bis Z9 zur Verfügung. Arrays werden mit dem DIM-Befehl definiert, wenn sie mehr als 10 Elemente haben. Bei vielen Implementierungen ist die Anzahl der unterschiedlichen Variablen sogar noch kleiner. In der ersten Version konnten Daten nur in das Programm (mit der DATA-Anweisung) oder direkt (wie hier mit INPUT) eingegeben werden. Dateieingabe war auch in späteren Versionen möglich. Neben dem GOTO-Befehl steht nur die FOR-NEXT-Schleife zur Steuerung der Programmschleife zur Verfügung. In dem hier gezeigten Programm wird es in der Regel durch "Herausspringen" vorzeitig beendet. Eine weitere Besonderheit der BASIC-Interpreter besteht darin, dass sie die direkte Ausführung von Befehlen ermöglichen: PRINT 2^15 ohne Zeilennummer liefert sofort das Ergebnis 32768. Die Nützlichkeit wird sofort klar, wenn man bedenkt, dass es um 1970 keine Tabellenkalkulationen oder Taschenrechner existierten.

Verwendung und Einwände

Obwohl die Macher von BASIC die Sprache in erster Linie als Unterrichtssprache beabsichtigten, nahm ihre Verwendung vor allem unter (Betriebs-)Ökonomen schnell zu. Außerdem müssen wir bedenken, dass viele Anwendungen, die damals in BASIC programmiert wurden, heute mit Tabellenkalkulationen gelöst werden, wie zum Beispiel die Berechnung des tatsächlichen Zinssatzes von Krediten mit gegebenen Raten. Informatiker, wie z Edsger Dijkstraße ("BASIC-Programmierer sind geistig verstümmelt, ohne Hoffnung auf Regeneration")[2] kritisierten stark die Verwendung von BASIC, sowohl wegen des Fehlens von Deklarationen und der herausragenden Rolle der GOTO-Anweisung als auch wegen der Leichtigkeit, mit der Programme schnell für die unvermeidlichen Fehler und für Verbesserungen implementiert werden konnten. An den meisten Universitäten mussten Studenten, die einen Programmierkurs besuchten, einen Tag warten, bis sie ihr Programm mit allen Fehlermeldungen zurückbekamen, was als Vorteil angesehen wurde, da sie so lernen würden, Fehler selbst zu beheben und nicht dem Computer zu überlassen. .

Explosives Wachstum

BASIC wurde anschließend von einer Reihe großer Unternehmen akzeptiert. Kemeny und Kurtz begannen auf a GE 225 mit mehreren Klemmen für Timesharing, DEZ portierte die Sprache auf seine PDP-11Maschinen als Timesharing-Sprache. Einer der regelmäßigen Testbenutzer dieses Systems war Bill Gates. Nach viel Umherschweifen und Veränderungen, die erste Vereinheitlichung der Sprache durch die ANSIA im 1978: der minimale BASIC-Standard.

Microsoft schrieb in 1975 sein erster BASIC-Interpreter, Altair BASIC genannt, für die MITS Altair 8800-Computer. Es wurde dann für Systeme mit MITS Altair-Bezug verfügbar Prozessoren, wie Z80 und der Intel 8080, worauf Betriebssysteme wenn CP/M, TEKDOS und ISIS-II ging.

fast alles Heimcomputer hatte eine Variante von BASIC eingebaut.

Kommodore eingeführt 1977 Kommodore BASIC und stellte seine 8-Bit-Heimcomputer zur Verfügung, einschließlich der Kommodore 64, von diesem.

Das Original IBM-PC von 1981 kam auch mit einem BASIC-Interpreter in der Rom, geschrieben von Microsoft für IBM, so dass der Computer sofort nach dem Einschalten programmiert werden kann. Wenn das Booten nicht erfolgreich war, lief der PC in diesem Basic-Modus. (Für eine umfangreichere Basis haben die Leute angefangen BASIC von Diskette.)

Auf Computern für den Heimgebrauch, um 1980 eine Variante von BASIC geliefert von Microsoft wurde verlängert: MSX BASIC (das MSX steht für hier Microsoft verlängert). Es gab auch eine beliebte Bibliothek, die für viele verschiedene Computer mit einem BASIC-Interpreter funktionierte und deutlich erweiterte Fähigkeiten hinzufügte, die sogenannten Grundcode. Zu der Zeit, als dies populär war, wurden Basicode-Programme über die Radio, um sie auf Band aufzunehmen und dann auf dem Computer auszugeben.

Microsoft später gebracht, für die IBM-Klone, veröffentlichte eine Version von BASICA unter seinem eigenen Namen, genannt GW-BASIC (1985) (Grafik Windows BASIC; hat nichts mit dem Microsoft Windows-Betriebssystem zu tun). Diese Variante von BASICA wurde von Microsoft zur Verfügung gestellt um OEMs unter eigenem Copyright/Namen zu lizenzieren und freizugeben.

IBM hat das von Microsoft entwickelte BASCOM-Compiler auf dem Markt, das unter gleichem Namen auch von Microsoft selbst vertrieben wurde. Microsoft hat auch eine CP/M-Version dieses Compilers verkauft.

Microsofts Versionen fehlten einige Funktionen der IBM-Version, obwohl beide außen genau gleich waren, die in späteren Versionen zurückkamen.

BASCOM wurde umbenannt in QuickBasic, aber selbst der Compiler der letzten freigegebenen QuickBasic-Version listete noch den Namen BASCOM auf. Es wird vermutet, dass Microsoft diese Namensänderung vorgenommen hat, um sich weiter von zu distanzieren IBM.

John Kemeny und Thomas Kurtz gestartet in 1983TrueBASIC, Inc. und konkurrierte mit Microsoft und seinem BASCOM-Compiler.

Borland eingebracht 1987Turbo BASIC von Bob Zale auf dem Markt. Er hat vorher programmiert BASIC/Z, der erste interaktive BASIC-Compiler für CP/M und MS-DOS.

Microsoft, das aufgrund der benutzerfreundlicheren Oberfläche von Turbo BASIC viel von seinem BASIC-Markt verlor, betrat Neuland und bündelte die QuickBasic IDE (QuickBasic 3) mit seinem BASCOM-Compiler.

Reife

Die letzte QuickBasic-Version auf dem Markt war Version 4.5, nach der Microsoft IDE und den Compiler umgedreht, um sie mit seinem kommenden kompatibel zu machen OS/2Betriebssystem, entwickelt in Zusammenarbeit mit IBM. Die nächste Version war das Microsoft BASIC Professional Development System, danach konzentrierte sich Microsoft mehr auf mausgesteuerte Schnittstellen, was zu Visual Basic für DOS.

Bob Zale begann 1990 PowerBASIC und Turbo Basic unter dem Namen Powerbasic neu aufgelegt, um wieder mit Microsoft zu konkurrieren. Powerbasic ist bis heute einer der erfolgreichsten BASIC-Compiler/Interpreter für den PC, neben Microsofts Visual Basic und es seit 1991 mit MS-DOS/IBM DOS 5.0 gebündelt QBasic.

Carl Gundel schrieb 1992 Freiheit BASIC als Reaktion auf das Fehlen einer Windows-Version von QBASIC.

Der Wechsel von Microsoft QuickBasic 4.5 zu "PDS" 6 (1990?) wirften Fragen unter einigen auf: Was ist mit Version 5 passiert Das mit DOS 5.0 gebündelte QBASIC 1.0 als Ersatz für GWBASIC hatte eine QuickBasic-ähnliche Oberfläche und unterstützte fast alle Befehle, die QuickBasic auch unterstützte. Allerdings wurde die QBASIC-Schnittstelle NICHT mit einem Compiler versehen und teilweise deshalb fehlten auch einige Funktionen.

Scheint, QBASIC 1.0 aus dem Quellcode von QuickBasic 5 sowie der neueren Version QBASIC 1.1 generiert worden zu sein, die seit DOS 6.0 mit den Betriebssystemen von Microsoft gebündelt wird. Eine Reihe von erweiterten Funktionen wurden entfernt, um Entwickler zu ermutigen, zu den professionellen Compilern (PDS) von Microsoft zu wechseln, sobald sie mit dem QBASIC-Interpreter und der Benutzerumgebung einsatzbereit sind.

Kurz nach PDS brachte Microsoft eine neue Entwicklungsoberfläche heraus, um den Benutzer auf eine grafische Oberfläche vorzubereiten (Visual Basic 1.0 für MS-DOS und Fenster, 1991). Später fügte Microsoft seine Compiler zusammen und im Paket gebündelt Visual Studio 5 (1996).

Vor Visual Basic 3.0 sogar Dekompilierer, mit der die binäre Code, das eigentlich von einer Bibliothek interpretiert wurde, konnte lesbar in den Quellcode zurückübersetzt werden.

Über die Version Visual Basic .NET (auch VB7 genannt, 2002) Microsoft selbst sagt, dass sich die Sprache so stark verändert hat, dass alle alten Benutzer sie von Grund auf neu lernen müssen.

Für die Playstation 2 ist das Programm Yabasic wofür auch eine Tastatur verwendet werden kann.

Es ist hauptsächlich die Annahme durch Microsoft was BASIC zu einer Sprache mit viel Einfluss und Unterstützung macht. Die Einwände gegen BASIC sind mittlerweile weitgehend obsolet. Der GOTO-Befehl ist durch die Befehle IF-THEN-ELSE, WHILE-WEND und DO-LOOP praktisch obsolet geworden, Variablennamen können lang genug sein, Variablendeklaration ist möglich und kann obligatorisch gemacht werden und die Zeilennummern sind weg. Umgekehrt ist das direkte Eingeben und Testen von Programmen kein Privileg des Basic-Benutzers mehr. BASIC war daher Ende des 20. Jahrhunderts sehr beliebt Programmierer die erste Sprache, mit der sie in Kontakt kamen.

Als Beispiel für modernes BASIC ist hier ein Programm zum Berechnen von Primzahlen in VBA, der BASIC-Version, die mit EXCEL geliefert wird. Das Programm kann aus der Tabellenkalkulation aufgerufen werden und Ein- und Ausgabe erfolgen in und aus der Tabellenkalkulation

'PrimzahlenMöglichkeitexplizitSubAhle()trübeStartAscheGanze Zahl,EndeAscheGanze Zahl,ichAscheGanze Zahl,tAscheGanze ZahlStart=Reichweite("A1")'EINGABE "START=";STARTEnde=Reichweite("A2")'EINGABE "END=";ENDt=2zumich=StartzuEndewennnicht(IsAwl(ich))dannt=t1:Zellen(t,1)=ich'Ich drucken; "";NächsterichEndeSub'---------------------FunktionIsAwl(NachValichAscheGanze Zahl)AscheBooleschestrübejaAscheGanze Zahl,TeilbarAscheBooleschesTeilbar=Falschja=2währendnicht(Teilbar)Undja<=Quadratmeter(ich)wennich/ja=int(ich/ja)dannTeilbar=wahrSonstja=ja1WendeIsAwl=nichtTeilbarEndeFunktion

Einige BASIC-Dialekte

BASIC-Dialekte auf mehreren Plattformen

BASIC-Dialekte auf einer Plattform

  • Altair BASIC(MITS Altair 8800) — Das erste Produkt von Microsoft.
  • AMOS BASIC — Eine Version von BASIC für die Amiga. Der Nachfolger von STOS BASIC auf dem Atari ST.
  • Applesoft BASIC(Apfel II)
  • autoIt(Windows) — Eine BASIC-basierte Programmiersprache hauptsächlich für die Automatisierung innerhalb von Windows.
  • Basic Interpreter für Windows 10 und Windows 8.1
  • BASIC-2(WANG 2200) — Eine von WANG LABS entwickelte Version für die WANG 2200 Mini-Computersysteme. Später auch als Compiler für die IBM-kompatiblen PC-Systeme freigegeben.
  • BASIC(DOS) — "BASIC Fortgeschrittene"
  • Business-BASIC(MAI/Basis Vier) — Eine primitive, interpretierte BASIC-Variante, die in den 1970er Jahren von verwendet wurde MAI gelieferten Basic Four 8-Bit-Minicomputer. Primitive, weil: mit Zeilennummern, aber ohne Vorkehrungen für Unterprogramme oder Funktionen, 26 numerische Variablen (a bis z) und 26 String-Variablen (a$ bis z$).
  • Kommodore BASIC(Kommodore 6502Plattformen) — Versionen 1.0 bis 7.0.
  • Gambas(Linux) — Versuchen Sie, die Benutzerfreundlichkeit und Benutzeroberfläche von Visual Basic zu kopieren.
  • Gnome Basic(Linux) — Beabsichtigt, VBA-Funktionalität in . bereitzustellen GNOME und zu freier Software im Allgemeinen. Viele Entwickler dieses Projekts arbeiten jetzt daran Mono.
  • GW-BASIC(DOS) — Kompatibel mit BASICA. Unabhängig von den IBM ROM-Routinen. War in Versionen von enthalten MSDOS für 5.0.
  • HBasic(Linux) - Beyogen auf Qt.
  • Ganzzahl BASIC(Apfel II)
  • Stufe I BASIC(Tandy TRS-80) - Ein Emulator ist verfügbar[3]
  • Freiheit Basic(Windows)
  • MSX BASIC(MSX)
  • PBASIC — Die Programmiersprache für den internen Interpreter des BASIC-StempelMikrocontroller von Parallaxe.
  • Philips Kassette Basic — Eine Variante für den Philips P2000, auch die Standardbetriebsumgebung.
  • QBasic(DOS) — War in Versionen von MS-DOS von 5.0 bis 6.22 enthalten.
  • QuickBASIC(DOS) — Verbesserte QBasic-Variante (genauer gesagt ist QBasic ein reduziertes QuickBasic). Waschen Sie die kommerzielle Pro-Version von QBasic mit dem Compiler.
  • Sinclair BASIC — Eine Version, die auf dem ZX-80, ZX-81 und ZX-Spektrum wurde benutzt.
  • STOS BASIC — Eine Version von BASIC für den Atari ST, die entwickelt wurde, um buchstabieren programmieren. Der Vorgänger von AMOS BASIC auf dem Amiga.
  • TI-BASIC(Texas-Instrumente) — Grunddialekt für verschiedene Computer von Texas Instruments.
  • Turbo BASIC(DOS) — Ein kommerzieller BASIC-Compiler für DOS von Borland (Nachfolger von BASIC/Z).
  • Visual Basic(Windows) — Die objektorientierte BASIC-Variante von Microsoft. Ein Dialekt mit Schnelle Anwendungsentwicklung für BASIS.
  • Visual Basic .NET(Windows) — Bereitstellung innerhalb Microsoft .NET von Microsoft.

Integrierte BASICs / Skriptsprachen basierend auf BASIC

Andere / unbekannte / unsortierte BASIC-Dialekte

Siehe auch

Wikibooks hat mehr zu diesem Thema: Programmierkurs BASIC.