close

BASIC

Zur Navigation gehen Zur Suche gehen
BASIC
AtariBasic.png
Thomas Eugene Kurtz , John George Kemeny und Mary Kenneth Keller
Allgemeine Information
Gemeinsame Erweiterungen Bas
Paradigma Imperativ
Erschien in 1964
Entworfen von John George Kemeny ; Thomas Eugen Kurtz ; Maria Kenneth Keller
Typ System dynamisch
Implementierungen mehrere
Dialekte mehrere
beeinflusst von FORTRAN II , Algol 60
Betriebssystem mehrere

BASIC , Akronym für Beginners ' All - Purpose Symbolic Instruction Code [ 1 ] , ist eine Familie von höheren Programmiersprachen . _ Das ursprüngliche BASIC, Dartmouth BASIC , wurde 1964 von John George Kemeny , Thomas Eugene Kurtz und Mary Kenneth Keller am Dartmouth College in New Hampshire entworfen.USA , als Mittel zur Erleichterung der Computerprogrammierung für nicht naturwissenschaftliche Schüler (und Lehrer). Zu dieser Zeit erforderte fast jede Verwendung von Computern eine kundenspezifische Softwarecodierung, die auf als Wissenschaftler und Mathematiker ausgebildete Personen beschränkt war . BASIC wurde ursprünglich als Lehrmittel entwickelt. Die Sprache und ihre Varianten wurden in den späten 1970er und 1980er Jahren auf Mikrocomputern weit verbreitet . BASIC ist bis heute in einer Handvoll stark modifizierter Dialekte und in neuen BASIC-beeinflussten Sprachen wie Microsoft Visual Basic oder Gambas unter GNU/Linux beliebt . Im Jahr 2006 verwendeten 59 % der Entwickler für die .NET -Plattform Visual Basic .NET als einzige Sprache. [ 2 ]

Geschichte

Hintergrund

Image
Screenshot zeigt Atari Basic , eine frühe grundlegende Sprache für kleine Computer

In den frühen 1960er Jahren waren Computer extrem teuer und wurden nur für spezielle Zwecke verwendet, wobei jeweils „eine Aufgabe“ ausgeführt wurde. Im Laufe dieses Jahrzehnts fielen die Preise jedoch so weit, dass sich sogar einige kleine Unternehmen sie leisten konnten. Die Verarbeitungsgeschwindigkeit der Maschinen wurde so weit erhöht, dass sie oft zu lange stillstanden, weil es nicht genug Aufgaben für sie gab. All dies war auf die schnelle Entwicklung der Hardware zurückzuführen . Die damaligen Programmiersprachen wurden für bestimmte Zwecke entwickelt, ebenso wie die Maschinen, auf denen sie ausgeführt wurden; B. zur Entwicklung von Rechenanwendungen oder Formelverarbeitung wurde die Sprache FORTRAN konzipiert , während COBOL speziell für die Programmierung in der Verwaltung oder Informationsverwaltung entwickelt wurde .

Um die Leistung zu erhöhen und die Kosten besser zu amortisieren (durch Reduzierung der Leerlaufzeit des Prozessors ), und da die Geschwindigkeit der Maschinen dies zuzulassen begann, wurde die Idee vorgeschlagen, mehr als eine Aufgabe "gleichzeitig" auszuführen. So entstand das Konzept des Timesharing -Systems , das an Popularität gewann. In solchen Systemen wurde die Verarbeitungszeit des zentralen Prozessors partitioniert, wobei jedem Benutzer sequentiell und zyklisch ein kleiner Teil oder eine "Quote" der Verarbeitungszeit gegeben wurde. Die Maschinen waren schnell genug, um den Benutzern die Illusion zu geben, die Funktionalität der Maschine ständig für sie zu haben ("Pseudo-Gleichzeitigkeit" von Prozessen). Diese Verteilung der Rechenzeit unter den Benutzern reduzierte die Rechenkosten erheblich, da eine einzelne Maschine von zahlreichen Benutzern gemeinsam genutzt werden konnte.

Geburt und frühe Jahre

Die BASIC-Sprache wurde 1964 von John George Kemeny (1926–1992) und Thomas Eugene Kurtz (1928–) am Dartmouth College mit Hilfe anderer wie der Programmiererin Mary Kenneth Keller erfunden . In den folgenden Jahren, als andere BASIC-Dialekte auftauchten, wurde das ursprüngliche BASIC von Kemeny und Kurtz als Dartmouth BASIC bekannt .

BASIC wurde entwickelt, um Schülern das Schreiben von Programmen mit Time-Sharing- Computerterminals zu ermöglichen . Es sollte die Komplexität der anderen Sprachen der Zeit drastisch reduzieren, mit einer, die speziell für die Art von Benutzern entwickelt wurde, die Timesharing-Systeme zuließen: einen einfacheren Benutzer außerhalb der Informatik, dem es egal war an Geschwindigkeit interessiert sind, einfach nur in der Lage sein, die Maschine ohne allzu großen Aufwand zu programmieren und zu bedienen. Die Entwickler der Sprache wollten auch, dass sie gemeinfrei bleibt, was zu ihrer schnellen Verbreitung beitrug.

Die acht Prinzipien, die die Gestaltung von Basic regierten, waren:

  1. Seien Sie für Anfänger einfach zu bedienen.
  2. Seien Sie eine allgemeine (nicht zielgerichtete) Sprache.
  3. Ermöglichen Sie Experten, erweiterte Funktionen hinzuzufügen und die Sprache für Anfänger einfach zu halten.
  4. Seien Sie in jedem Fall interaktiv.
  5. Stellen Sie klare und freundliche Fehlermeldungen bereit.
  6. Reagieren Sie im Allgemeinen schnell auf kleine Programme .
  7. Erfordert keine Kenntnisse über Computerhardware.
  8. Schützen Sie den Benutzer des Betriebssystems .

Die Sprache basierte teilweise auf FORTRAN II und teilweise auf Algol 60 , mit Zusätzen, um sie für Timesharing -Systeme geeignet zu machen, und mit Merkmalen , um die Matrixarithmetik zu erleichtern . Basic wurde erstmals für den GE-265 Mainframe implementiert , eine Maschine, die mehrere Terminals unterstützte.

1968 veröffentlichte Edsger Dijkstra einen Brief mit einem berühmten Kritiker [ 3 ] , in dem er der Ansicht war, dass Programmiersprachen, die GOTO-Anweisungen verwenden, um ein Programm zu strukturieren, der Produktivität des Programmierers und der Qualität des resultierenden Codes abträglich seien. In diesem Artikel wird keine bestimmte Programmiersprache erwähnt; es weist nur darauf hin, dass die übermäßige Verwendung von GOTO in Hochsprachen nicht empfohlen wird, und gibt die technischen Gründe an, warum dies so ist. Aber es wurde von Anfang an eine deutliche Tendenz der Programmierer beobachtet, GOTO in BASIC übermäßig zu verwenden, insbesondere bei Anfängern; Diese Tatsache verringerte sich mit der Aufnahme anderer Ressourcen in die Sprache, wie beispielsweise parametrisierte Unterroutinen, und später mit dem Erscheinen strukturierter Programmiertechniken.

Entgegen der landläufigen Meinung war BASIC ursprünglich keine interpretierte Sprache, sondern eine kompilierte . Fast unmittelbar nach seiner Veröffentlichung begannen Computerfachleute zu behaupten, dass BASIC zu langsam und zu einfach sei. Ein solches Argument war bis vor kurzem ein wiederkehrendes Thema in der Computerindustrie.

Dennoch verbreitete sich BASIC auf vielen Maschinen und Plattformen und wurde auf Minicomputern wie der DEC PDP -Serie und dem Data General Nova mäßig beliebt . In diesen Fällen wurde die Sprache als Dolmetscher anstelle eines Compilers oder alternativ auf beide Arten implementiert.

Explosives Wachstum

Image
Aufnahme des Commodore PET-32- Mikrocomputers , der ein Programm in der Programmiersprache BASIC unter dem VICE - Emulator in einer GNU/Linux-Distribution zeigt . Die erste Zeile gibt dem Programm den Titel (rem), um seine Speicherung zu ermöglichen, die zweite fordert eine Datenkette (Eingabe) an, die es nach Erhalt in einer Anweisung speichert, die die Sprache integriert hat, die als alphanumerische Variable ($ ). Die dritte Zeile legt eine Bedingung fest, (if) bestimmt, dass, wenn die gespeicherte Textzeichenfolge nicht gleich (<>) dem angegebenen Wert ist, mit der Ausführung der vorherigen Zeile fortgefahren wird (dann), wodurch zur Anforderung neuer Daten zurückgekehrt wird, aber im Fall von if es ist dasselbe, (=) fahren Sie mit der Ausführung der nächsten Zeile des Programms fort. Die vierte Zeile gibt die zitierte Nachricht auf dem Bildschirm aus (print), um mit der fünften Zeile abzuschließen, die ihr Ende festlegt. (Ende)

Mit der Einführung des Mikrocomputers Altair 8800 im Jahr 1975 wurde BASIC jedoch allgemein verfügbar. Die meisten Programmiersprachen waren zu groß, um von den kleinen Speichern aufgenommen zu werden, die den meisten Maschinen zu dieser Zeit zur Verfügung standen; und mit der langsamen Speicherung durch Papierband und später Audiokassetten (Magnetplatten gab es noch nicht) und dem Mangel an geeigneten Texteditoren war eine kleine Sprache wie BASIC eine gute Option. Eines der ersten, das erschien, war Tiny BASIC , eine einfache Implementierung von BASIC, die ursprünglich von Dr. Li-Chen Wang geschrieben und später von Dennis Allison auf Wunsch von Bob Albrecht (dem späteren Gründer von Dr. Dobb's Journal ) auf die Altair-Maschine portiert wurde (Ddj)). Das Design und der vollständige Quellcode von Tiny BASIC wurden 1976 in DDJ veröffentlicht .

1975 veröffentlichte Microsoft (damals bestehend aus zwei Personen: Bill Gates und Paul Allen ) Altair BASIC . Dann tauchten lizenzierte Versionen für andere Plattformen auf, und bald waren Millionen von Kopien und Varianten im Einsatz. VISUAL BASIC wurde zu einer der Standardsprachen auf dem Apple II . 1979 verhandelte Microsoft mit verschiedenen Mikrocomputeranbietern, darunter IBM, über die Lizenzierung eines BASIC-Interpreters für ihre Computer. In den ROMs von IBM - PCs war eine Version für plattenlose Computer enthalten . Auf Rechnern, die über ein Diskettenlaufwerk verfügten, wurde BASIC automatisch gestartet, solange keine Bootdiskette als Betriebssystem eingelegt war.

Neue Unternehmen versuchten, in die Fußstapfen von Altairs Erfolg zu treten: IMSAI, North Star und Apple, die die Revolution der Heimcomputer ins Leben riefen. BASIC wurde zu einer Standardfunktion für fast alle Heimcomputer; Die meisten kamen mit einem grundlegenden Betriebssystem und einem BASIC-Interpreter, die alle in einem ROM untergebracht waren (erstmals auf dem Commodore PET im Jahr 1977 ). Bald würde es viele Millionen Computer auf der ganzen Welt geben, auf denen BASIC ausgeführt wird, eine Zahl, die weitaus größer ist als alle Benutzer anderer Sprachen zusammen. Viele Programme, insbesondere die auf Apple II und IBM PC, waren auf das Vorhandensein des BASIC-Interpreters von Microsoft angewiesen und konnten ohne ihn nicht ausgeführt werden. Daher nutzte Microsoft die Urheberrechtslizenz in den BASIC-Interpretern, um Verhandlungen mit Computeranbietern zu beeinflussen.

BASIC war auch die vorinstallierte Sprache auf europäischen Heimcomputern der 1980er Jahre wie dem ZX Spectrum ( Sinclair BASIC ), Amstrad CPC ( Locomotive BASIC ), MSX ( MSX BASIC ), dem Commodore 64 und 128 ( Basic 2.0 , Basic 7.0 , Simons' Basic ), dem Commodore Amiga ( AmigaBASIC ) oder der Atari 8-Bit-Familie ( Atari BASIC ) und in den japanischen Heimcomputern NEC PC-8801 und NEC PC-9801 ( N88-BASIC ), die häufig die Funktion des Interpreters und der primitiven Bedienung übernehmen System, da beide im ROM implementiert wurden. Texas Instruments baute seine eigene Version in seine Mikrocomputer ein, wie den TI99/4A, und auch eine erweiterte Version auf externem ROM oder Cartridges ( TI-Basic und TI Extended

Reife

In dieser Zeit wurden neue und leistungsstärkere Versionen von Basic erstellt. Microsoft verkaufte mehrere Versionen von Basic für MS-DOS / PC-DOS , darunter BasicA , GW-Basic (eine BasicA-kompatible Version, die das IBM ROM nicht benötigte) und schnell Basic . Der Hersteller von Turbo Pascal , Borland , veröffentlichte 1985 Turbo Basic 1.0 (Nachfolgeversionen werden immer noch unter dem Powerbasic -Namen von einem anderen Unternehmen verkauft). In der Regel traten mehrere grundlegende Erweiterungen für Heimcomputer auf, typischerweise mit den Befehlsfunktionen von Grafiken, Sound und DOS sowie strukturierten Programmiermöglichkeiten . Es gab Sprachen, die die grundlegende Syntax als Grundlage für andere völlig unterschiedliche Systeme verwendeten, zum Beispiel Gras .

In den späten 1980er Jahren waren neuere Computer jedoch viel komplexer und enthielten Funktionen (wie die grafische Benutzeroberfläche), die BASIC für ihre Programmierung weniger geeignet machten. Gleichzeitig entwickelten sich Computer von Interesse für Bastler zu Werkzeugen, die hauptsächlich zum Ausführen von Anwendungen verwendet wurden, die von anderen geschrieben wurden, und das Programmieren selbst verlor für eine wachsende Mehrheit der Benutzer an Bedeutung. BASIC begann zu verblassen, obwohl noch zahlreiche Versionen verfügbar waren.

Eines der leistungsstärksten war Locomotive BASIC 2 , das für die grafische Umgebung GEM entwickelt wurde . Diese neue Version der Sprache ermöglichte die Erstellung von Anwendungen mit grafischen Schnittstellen, die mit Fenstern, Menüs und verschiedenen Arten von statistischen Diagrammen ausgestattet waren.

Das Schicksal von BASIC nahm mit der Einführung von Microsofts Visual Basic eine weitere Wendung . Obwohl diese Sprache praktisch alle Schlüsselwörter (Sätze, Kontrollstrukturen und intrinsische Funktionen) und Form der Handhabung und Art der Daten verwendet, die frühere grundlegende Versionen (DOS); VB ist ungleich leistungsfähiger und weiter entwickelt; und ist zu einer der am weitesten verbreiteten Sprachen auf der Windows -Plattform geworden ; Es wird geschätzt , dass zwischen 70 und 80 % aller kommerziellen Anwendungen in VB programmiert sind . Ab 2002 und mit der Einführung der .NET-Framework -Plattform von Microsoft beginnt Visual Basic das "objektorientierte" Paradigma, wodurch die Kraft der Sprache erhöht und es plattformübergreifend macht. Visual Basic for Applications (VBA) wurde 1993 zu Microsoft Excel 5.0 und 1997 zum Rest der Microsoft Office-Produktlinie hinzugefügt . Windows 98 enthielt einen VBScript- Interpreter . Die neueste Version von Visual Basic heißt VB.NET . Andererseits gibt es auch die weniger leistungsfähige OpenOffice.org Basic - Variante , aber ähnlich wie Microsofts VBA.

Die Sprache

Syntax

Die minimale BASIC-Syntax erfordert nur die Befehle LET, INPUT, PRINT, IF und GOTO. Ein Interpreter, der Programme mit dieser minimalen Syntax ausführt, benötigt keinen Stack . Einige der frühen Implementierungen waren so einfach. Wenn Sie einen Stack hinzufügen, können Sie auch verschachtelte FOR-Schleifen und den GOSUB-Befehl hinzufügen. Ein BASIC-Interpreter mit diesen Funktionen erfordert, dass der Code Zeilennummern hat.

Zeilennummern waren ein sehr charakteristischer Aspekt des klassischen BASIC. Die Verwendung von Zeilennummern hat jedoch den Nachteil, dass der Programmierer abschätzen muss, wie viele Zeilen der von ihm geschriebene Teil des Programms einnehmen wird. Diese Anforderung wird normalerweise erfüllt, indem die Zeilennummern in regelmäßigen Abständen erhöht werden, z. B. 10. Dies führt jedoch zu Problemen, wenn der später hinzugefügte Code den verfügbaren Platz zwischen den ursprünglichen Zeilen überschreitet. Um dieses Problem für frühe BASIC-Interpreter zu lindern, schrieben erfahrene Benutzer bald ihre eigenen Dienstprogramme, um ihre Programme nach der ersten Eingabe neu zu nummerieren. Später erschienen BASIC-Interpreter, die einen spezifischen RENUMBER-Befehl enthielten, der es ermöglichte, den gesamten Code schnell (und so oft wie gewünscht) neu zu nummerieren, mit einem beliebigen angegebenen Intervall zwischen den Zeilen und beginnend mit einer bestimmten Ganzzahl; wodurch das Hauptproblem der obligatorischen Zeilennummerierung beseitigt wird.

Moderne MIUN BASIC-Dialekte müssen keine Zeilennummern mehr enthalten (obwohl sie erlaubt sind), und die meisten (oder alle) haben Konstruktoren für strukturierte Flusskontrolle und Datendeklaration hinzugefügt, ähnlich denen in anderen Sprachen, wie C und Pascal :

  • tun
  • Schleife
  • während
  • bis um
  • Ausfahrt
  • auf ... gehen
  • gosub
  • ... Fall auswählen

Fast alle BASIC-Dialekte enthalten den Befehl REM (Bemerkung), der später durch das Symbol ´ ( Apostroph oder einfaches Anführungszeichen) ersetzt wurde. Es ist ein nicht ausführbarer Befehl, der verwendet wird, um erklärende Zeilen und Anmerkungen in den Quellcode aufzunehmen, um das Programm besser zu verstehen (und zu dokumentieren).

Neuere Varianten wie Visual Basic haben einige objektorientierte Funktionen und sogar Vererbung in der neuesten Version eingeführt. Die Speicherverwaltung ist aufgrund der Verwendung eines Müllsammlers (und auf Kosten der Ausführungsgeschwindigkeit) einfacher als bei vielen anderen prozeduralen Programmiersprachen .

Prozeduren und Flusskontrolle

BASIC hat keine standardmäßige externe Bibliothek wie andere Sprachen wie C. Stattdessen enthält der Interpreter (oder Compiler) eine eingebaute Bibliothek mit intrinsischen Prozeduren. Diese Prozeduren umfassen die meisten Werkzeuge, die ein Programmierer zum Programmieren und Schreiben einfacher Anwendungen lernen muss, sowie Funktionen zum Durchführen mathematischer Berechnungen, zum Umgang mit Zeichenfolgen, Konsoleneingaben, Grafiken und zur Dateibearbeitung.

Alte BASIC-Dialekte erlaubten Programmierern nicht, ihre eigenen Prozeduren zu schreiben. Stattdessen mussten Programmierer ihre Programme mit einer großen Anzahl von GOTO-Anweisungen schreiben, um die Fluss- und Rückkehrzweige des Programms zu erstellen. Dies konnte (die meiste Zeit) sehr verwirrenden Quellcode erzeugen, der allgemein als Spaghetti-Code bekannt ist ; die extrem schwierig zu warten war, geschweige denn von Programmierern, die nichts mit Softwareentwicklung zu tun hatten.

Mit der anschließenden Einbeziehung von GOSUB (Go-Subroutine)-Anweisungen wurde das Programm in Subroutinenarten verzweigt, ohne Parameter oder lokale Variablen. Sie bieten eine Möglichkeit, eine Art von Prozeduren zu implementieren (das sind sie wirklich nicht, es ist nur ein "Jump and Return") und das Programm stärker zu strukturieren, wodurch die Verwendung der schädlichen GOTO-Anweisung weitgehend vermieden wird.

Die meisten neueren Versionen von BASIC, wie Microsoft QuickBASIC (1985-1988) und BASIC PDS (Professional Development System - 1990) fügten volle Unterstützung für Subroutinen, Funktionen und strukturierte Programmierung hinzu . Dies ist ein weiterer Bereich, in dem sich BASIC von vielen Programmiersprachen unterscheidet. Das Grundelement GOSUB wurde jedoch aus Kompatibilitätsgründen auf den aktuellen Versionen beibehalten.

BASIC unterscheidet wie Pascal zwischen einer Prozedur, die keinen Wert zurückgibt (als Subroutine bezeichnet) und einer Prozedur, die dies tut (als Funktion bezeichnet). Viele andere Sprachen (wie C) machen diese Unterscheidung nicht und behandeln alles als Funktion (einige geben einen „ void “ -Wert zurück).

Während Funktionen, die einen Wert zurückgeben, eine relativ neue Ergänzung zu BASIC-Dialekten sind, unterstützten viele frühe Systeme die Definition mathematischer Funktionen inline mit DEF FN (" DEFine FunctioN "). Das ursprüngliche Dartmouth BASIC unterstützte von Anfang an auch Funktionen und Subroutinen im Algol-Stil.

Datentypen

BASIC ist dafür bekannt, sehr gute Funktionen zur Manipulation von Zeichenketten zu haben. Frühe Dialekte hatten bereits eine Reihe grundlegender Funktionen (LEFT$, MID$, RIGHT$), um Teilstrings einfach zu extrahieren und/oder zu ersetzen. Da Zeichenfolgen in alltäglichen Anwendungen verwendet werden, war dies zum Zeitpunkt ihrer Einführung ein erheblicher Vorteil gegenüber anderen Sprachen.

Das ursprüngliche Dartmouth BASIC unterstützte nur numerische und Zeichenfolgendatentypen. Es gab keinen ganzen Kerl. Alle numerischen Variablen waren Fließkommazahlen. Zeichenfolgen wurden dynamisch dimensioniert. Es unterstützte Arrays aus Zahlen und Strings in einer oder zwei Dimensionen.

Jeder moderne Dialekt von BASIC hat mindestens die Datentypen Numeric und String. Diese Datentypen können durch ein Postfix unterschieden werden: Zeichenkettenbezeichner enden mit $ (Dollarzeichen, zB die Variable NAME$), während numerische Bezeichner einfach kein Postfix haben; es sei denn, es muss ausdrücklich angegeben und erzwungen werden, um welche Art von Zahl es sich handelt, zum Beispiel ist A% eine ganze Zahl, A! ist echte einfache Genauigkeit und A# ist echte doppelte Genauigkeit.

In BASIC müssen Variablen nicht unbedingt deklariert werden, bevor sie verwendet werden, außer bei Arrays mit mehr als 10 Elementen; obwohl relativ moderne BASIC-Versionen die Option haben (als gute Programmierpraxis angesehen), den Programmierer zu zwingen, alle Variablen vor der Verwendung zu deklarieren (eine Direktive wie OPTION EXPLICIT). Die Variablendeklaration in BASIC erfolgt mit dem Schlüsselwort DIM.

Viele Dialekte unterstützen zusätzlich zu ihren Fließkommazahlen auch zusätzliche numerische Typen, wie z. B. 16-Bit- und 32-Bit-Ganzzahlen (einfach bzw. lang). Darüber hinaus erlauben einige die Verwendung benutzerdefinierter Datentypen, ähnlich wie Pascals "Records" oder Cs "Structs".

Moderne BASIC-Versionen (z. B. VBA) unterstützen zusätzlich zu den benutzerdefinierten eine Vielzahl primitiver (oder intrinsischer) Datentypen.

Die meisten BASIC-Dialekte unterstützen Arrays für alle ihre Datentypen; Unterstützung für mehrdimensionale Arrays ist ebenfalls üblich

Beispiele:

   DIM ArrayOfIntegers ( 100 , 100 ) AS INTEGER DIM VectorOfIntegers% ( 30 ) DIM ListOfNames ( 50 ) AS STRING DIM ListOfCities$ ( 50 )   
    
      
    

Abhängig vom BASIC-Dialekt und der Verwendung der OPTION BASE-Anweisung ist der erste Index der deklarierten Arrays 1, standardmäßig null.

Wenn in den vorherigen Beispielen "OPTION BASE 1" nicht zuvor deklariert wurde, ist das erste ein zweidimensionales Array aus 16-Bit-Ganzzahlen mit Indizes im Bereich von 0 bis 100 (Array aus 101 x 101 Elementen); während das zweite ein Array von ganzen Zahlen in einer Dimension ist, von 0 bis 30 (Vektor von 31 Elementen). Beachten Sie, dass die beiden Formen der Deklaration von Ganzzahlen äquivalent sind, explizit oder mit der Verwendung des Postfix %. Ebenso für Strings oder Zeichenketten, die in diesem Fall ebenfalls variable Länge haben (standardmäßig dynamisch).

Verfügbarkeit und Sprachvarianten

BASIC ist für fast alle existierenden Plattformen und Betriebssysteme verfügbar. Eine kostenlose, standardkonforme, plattformübergreifende Implementierung ist Bywater BASIC (bwBASIC). Der Interpreter ist in C geschrieben und steht unter der GNU - Lizenz . Es ist für eine Text- oder Konsolenschnittstelle (nichtgrafisch) konzipiert, es enthält keine Unterstützung für die Erstellung grafischer Benutzerschnittstellen (GUIs, Graphical User Interface). Es gibt ein freies BASIC, das GUI -Unterstützung enthält , Visual Basic ähnlich ist und unter Windows und GNU/Linux läuft , es ist Phoenix Object BASIC .

Die bekanntesten Interpreter/Compiler-Versionen sind die Quick BASIC -Produktlinie und QBASIC , wobei letzteres nur ein Interpreter ist, beide von Microsoft. Heute ist es das moderne Visual BASIC, das Microsoft versucht hat, selbst mit den frühesten Versionen seiner BASICs zumindest minimal kompatibel zu halten (tatsächlich ist es kaum kompatibel), obwohl es FreeBASIC gibt, einen kostenlosen Compiler, der syntaxkompatibel mit QBASIC/QuickBASIC ist .

Andere kommerzielle Versionen sind PowerBASIC von PowerBASIC, PureBasic von Fantaisie Software sowie TrueBASIC von TrueBASIC, das den neuesten offiziellen BASIC-Standards entspricht. (True BASIC Inc. wurde von den ursprünglichen Schöpfern von Dartmouth BASIC gegründet.)

REALbasic ist eine Variante, die für Mac OS Classic, Mac OS X, Microsoft Windows und GNU/Linux verfügbar ist und von den derzeitigen Besitzern von Rapid-Q , einer anderen ursprünglich aufgegebenen BASIC-Implementierung, veröffentlicht wurde. Eine einfache Dialektversion von BASIC für die Parrot Virtual Machine zeigt, wie ein BASIC-Interpreter in einer Assembler-ähnlichen Sprache implementiert wird. SmallBASIC ist ein Dialekt, der auf vielen Plattformen (Win32, DOS, GNU/Linux und PalmOS) läuft und unter der GNU-Lizenz ( GPL ) steht.

Es gibt viele Freeware- oder GNU -Implementierungen von BASIC , wie unter anderem BCX , YaBasic , HBasic , XBasic , Gambas oder Just BASIC .

Quellcodebeispiele

Beispiel 1: Hallo Welt!

   DRUCKEN "Hallo Welt!" 

Beispiel 2: Ursprüngliches unstrukturiertes BASIC ( Applesoft BASIC )

 10 INPUT "Wie ist Ihr Name:" ; NN$ 20 PRINT "Willkommen beim 'Sternchen'" ; NN$ 25 PRINT 30 INPUT "mit wie vielen Sternchen beginnt [Nullausgabe]:" ; N 40 IF N <= 0 THEN GOTO 200 50 AS $ = "" 60 FOR I = 1 TO N 70 AS $ = AS $ + "*" 80 WEITER I 90 PRINT "HIER SIND SIE:" ; AS $ 100 INPUT "Möchten Sie mehr Sternchen:" ; SN$ 110 IF SN$ = "" THEN GOTO 100 120 IF SN$ <> "S" OR SN$ <> "s" THEN GOTO 200 130 INPUT "WIE OFT MÖCHTEN SIE WIEDERHOLEN [Null-Ausgänge]:" ; TIMES 140 IF TIMES <= 0 THEN GOTO 200 150 FOR I = 1 TO TIMES 160 PRINT AS $ ; 170 WEITER I 180 DRUCKEN 185 REM Wiederholen des gesamten Zyklus (Kommentar) 190 GOTO 25 200 ENDE   
   
  
    
      
  
     
    
   
    
  
     
       
   
     
    
    
  
 
 
  
 

Beispiel 3: Äquivalent in strukturiertem BASIC (Quick BASIC)

   DEFINT I - N 'Deklariere Integer eine beliebige Variable, die mit den Buchstaben I bis N beginnt iTrue = -1 'Flag to True INPUT "Wie ist dein Name" ; Benutzername$ PRINT "Willkommen beim 'Sternchen'," ; Benutzername$ DO PRINT "" INPUT "Mit wie vielen Sternchen beginnt [Null aus]:" ; NroasterisKs if nroasterisks <= 0 , beenden do sterekuliert $ = "" für i = 1 bis nroasterisks sterekuliert $ = sternchen $ + "*" Als nächstes drucke ich " Hier drucke sie :" ; Sternchen$ DO INPUT "Möchten Sie mehr Sternchen:" ; SN$ LOOP UNTIL SN$ <> "" IF SN$ <> "S" OR SN$ <> "s" THEN EXIT DO 'Output INPUT "WIE OFT MÖCHTEN SIE WIEDERHOLEN [Null aus]:" ; iTimes IF iTimes <= 0 THEN EXIT DO 'Ausgabe FOR I = 1 TO iTimes PRINT Asterisks$ ; NÄCHSTES PRINT LOOP WHILE iTrue END _         
             
     
     
   
       
        
          
        
         
           
       
        
      
          
        
                  
       
              
           
          
       
      
     
   

Siehe auch

BASIC-Implementierungen

Microsoft-BASICs:

Mac-BASIS:

GNU/Linux -GRUNDLAGEN :

Andere

Referenzen

  1. Das Akronym ist an den Namen eines unveröffentlichten Artikels von Thomas Kurtz gebunden und kein Backronym, wie es manchmal in älteren Versionen von The Jargon File suggeriert wird
  2. Mono bringt Visual Basic-Programme auf Linux , von Steven J. Vaughan-Nichols, 19. Februar 2007, Linux-Watch.
  3. "Kommunikation des ACM" falsch mit Selbstreferenz ( Hilfe ) . Englische Wikipedia. |url= 

Bibliographie

  • Gottfries, Byron S. (1984). GRUNDLEGENDE Programmiertheorie und -probleme . Übersetzung, Guillermo Caro Murillo, Jesús Villamizar Herrera (2. Aufl.). Buenos Aires; Bogotá: McGraw-Hill. pp. 278 Seiten ISBN  968-451-396-8 . 
  • Kemeny, John G.; Thomas E. Kurtz (1984). BASIC-Programmierung . Mexiko: Cecsa. pp. 432 Seiten ISBN  968-26-0402-8 . 
  • Finkel, Leroy; Jerald R. Brown (1986). Programmierdatendateien in BASIC . Mexiko; Argentinien: Lima. pp. 361 Seiten ISBN  968-18-1889-X . "(Limusa Programmed Instruction Series)" . 
  • Petroutsos, Evangelos (1999). Visual Basic 6 (1. Auflage). Anaya Multimedia. pp. 864 Seiten ISBN  978-84-415-0829-3 . 
  • Dobson, Rick (2002). Programmieren von Microsoft Sql Server 2000 mit Microsoft Visual Basic .net (1. Auflage). McGraw-Hill. pp. 664 Seiten ISBN  978-84-481-3721-2 . 
  • Halvorson, Michael (2008). Visual Basic 2008 (1. Auflage). Anaya Multimedia. pp. 656 Seiten ISBN  978-84-415-2448-4 . 

Externe Links