BASIC
BASIC ist eine imperative Programmiersprache, die 1964 vom John George Kemeny und Thomas Eugene Kurtz am Dartmouth College entwickelt wurde.
Der Name BASIC steht für Beginner's All-purpose Symbolic Instruction Code.
Diese acht Entwurfsprinzipien waren einzuhalten:
- Für Anfänger einfach zu lernen
- Als Allzweck-Computersprache einsetzbar
- Erweiterbarkeit der Sprache für Experten
- Interaktivität
- Klare Fehlermeldungen
- Rasche Antwortzeiten
- Hardwareunabhängigkeit
- Betriebssystemunabhängigkeit
BASIC ist weltweit die populärste Programmiersprache, obwohl sie oft von Informatikern geringgeschätzt wurde. Viele Versionen wurden entwickelt und die neuesten weisen alle professionellen Elemente für höhere Programmiersprachen auf. Ein Nachteil der vielen Versionen ist, dass Programme meist nicht ohne weiteres zwischen diesen Versionen ausgetauscht werden können.
In den 80er-Jahren wurden praktisch alle Heimcomputer und PCs mit einem BASIC-Interpreter ausgeliefert, der Bestandteil des Betriebssystems war.
Mit der Einführung von VisualBasic durch Microsoft entwickelte sich BASIC zu einer professionellen Programmiersprache für die schnelle Entwicklungen von Windows-basierten Anwendungen. Der Code wurde nicht mehr zur Laufzeit interpretiert, sondern von einem Compiler während der Programmentwicklung in maschinennahen Pseudo-Code bzw. in späteren Versionen sogar in Maschinen-Code (native code) übersetzt. Durch diese Maßnahme konnte die Geschwindigkeit und die Stabilität der Programmausführung deutlich gesteigert werden.
Mit Einführung von objektorientierten Sprachelementen wurde der Versuch unternommen, VisualBasic mit anderen objektorientierten Programmiersprachen wie C++ gleichziehen zu lassen. Besonders in Europa hat sich aber VisualBasic in der Entwicklergemeinschaft nur in begrenztem Maße behaupten können. Erst mit der Implementierung von VisualBasic innerhalb des .NET-Frameworks ist es gelungen, die strukturellen Schwächen von BASIC zu überwinden. Gleichzeitig aber bedeutete dieser Schritt das Ende von VisualBasic als eigenständiger Programmiersprache. Innerhalb des .NET-Framework handelt es sich bei VB.Net nur noch um eine Sprach-Implementierung neben anderen, die auf einem Java-ähnlichen Kern aufsetzt.
Beispiele
Das Beispiel 1 zeigt ein Programm, das in einer frühen unstrukturierten Fassung geschrieben wurde, während das Beispiel 2 das gleiche Programm in einem moderneren Dialekt zeigt.
Beispiel 1: Unstrukturierter BASIC-Code
10 INPUT "Geben Sie bitte Ihren Namen ein"; A$ 20 PRINT "Guten Tag "; A$ 30 INPUT "Wieviele Sterne möchten Sie?"; 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 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 200 130 PRINT A$; " "; 140 NEXT I 150 PRINT
Beispiel 2: Strukturierter BASIC-Code
INPUT "Geben Sie bitte Ihren Namen ein"; UserName$ PRINT "Guten Tag "; UserName$ DO INPUT "Wie viele Sterne möchten Sie? "; NumStars Stars$ = "" Stars$ = REPEAT$("*", NumStars) '<-ANSI BASIC 'Stars$ = STRING(NumStars, "*") '<-MS BASIC PRINT Stars$ DO INPUT "Möchten Sie noch mehr Sterne?"; Answer$ LOOP UNTIL Answer$ <> "" LOOP WHILE UCASE$(LEFT$(Answer$, 1)) = "J" PRINT "Auf Wiedersehen "; FOR A = 1 TO 200 PRINT UserName$; " "; NEXT A PRINT
(Einige) BASIC Implementationen
Basic ist heute auf nahezu allen Computer-Plattformen in verschiedenen Basicdialekten erhältlich.
- Visual Basic: Eine Visuelle Programmierumgebung für BASIC von Microsoft.
- Gambas: Eine Visuelle Programmierumgebung für BASIC unter Linux KDE von Benoit Minisini.
- XBasic ist eine Open Source Version
- QBasic wurde in den MS-DOS Versionen 5.0 - 6.22 ausgeliefert.
- GFA Basic ursprünglich für den ATARI ST konzipiert, später für Windows umgesetzt.
- Turbo Basic ein Publich Domain Basic (um Klassen schneller als das fest eingebaute ATARI Basic) für den ATARI XL/XE, Autor war der Spätere Entwickler von GFA Basic
- GWBasic
- Purebasic
- BlitzBasic
- BwBASIC
- VB.Net: Implementierung innerhalb des .NET-Frameworks von Microsoft.
- SmallBasic Ein GPL-ed BASIC das auf PALM, Linux etc. läuft
Dokumente, die BASIC definieren
ANSI Standard for Minimal BASIC (ANSI X3.60-1978 "FOR MINIMAL BASIC")
ISO Standard for Minimal BASIC (ISO/IEC 6373:1984 "DATA PROCESSING - PROGRAMMING LANGUAGES - MINIMAL BASIC")
ANSI Standard for Full BASIC (ANSI X3.113-1987 "PROGRAMMING LANGUAGES FULL BASIC")
ISO Standard for Full BASIC (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")