BASIC Programmierung mit Unix

ArticleCategory:

Software Development

AuthorImage:

[Photo de l'Auteur]

TranslationInfo:

Original in fr John Perr

fr to en Georges Tarbouriech

en to de J�rgen Pohl

AboutTheAuthor:

Linuxuser seit 1994, er ist einer der franz�sischen Editoren von LinuxFocus.

Abstract:

Entwickeln in BASIC mit Linux oder einem anderen Unix-System? Warum nicht? Verschiedene kostenlose L�sungen erlauben die Anwendung der BASIC-Sprache zur Entwicklung von interpretierten oder kompilierten Anwendungen.

ArticleIllustration:

[Illustration]

ArticleBody:

Einf�hrung

Obwohl BASIC sp�ter als andere Sprachen in der Computerlandschaft erschien, verbreitete es sich schnell in vielen Nicht-Unix-Systemen - als Ersatz f�r die unixeigenen Scriptsprachen. Hier liegt wahrscheinlich der Hauptgrund, warum diese Sprache selten von den Unixbenutzern angewendet wird. Unix hatte vom ersten Tag an eine m�chtigere Scriptsprache. Wie andere Scriptsprachen ist BASIC gr�sstenteils eine interpretierte Sprache mit einer recht einfachen Syntax, ohne Datentypen - ausser der Unterscheidung zwischen Strings und Zahlen. Der Name entsprang der Einfachheit der Sprache und ihrer leichten Lehrbarkeit f�r angehende Programmierer.

Ungl�cklicherweise f�hrte der Mangel an Standardisierung zu vielen verschiedenen Versionen, die meistens nicht miteinander kompatibel sind. Man kann sogar sagen, dass es so viele Versionen wie Interpreter gibt - dass macht BASIC nicht gerade portabel.
Trotz dieser und anderer Nachteile, an die uns die "echten" Programmierer erinnern werden, bleibt BASIC eine M�glichkeit, um schnell kleine Programme zu entwickeln. Das hat sich viele Jahre bewahrheitet, besonders dank des Integrated Development Environment in Windows, das ein grafisches Benutzeroberfl�che-Design mit ein paar Mausklicks erm�glicht. Ausserdem sind diese Versionen ("Visual" genannt) als Makro-Sprachen f�r Produktivit�ts-Anwendungen verwendet worden. Das f�hrte zur Verbreitung unter Benutzern, die sich sonst nie ans Programmieren gewagt h�tten.
Hier werden wir die verschiedenen f�r Linux verf�gbaren Versionen vorstellen oder zumindest die bekanntesten und versuchen, sie miteinander zu vergleichen.

Etwas Geschichte

Aus Andrea M. Marconi's Historie in der KBasic Dokumentation.

Die Geburt von BASIC

Die Basic-Sprache (Beginners All-Purpose Symbolic Instruction Code) wurde 1964 im Dartmouth-College in New Hampshire (USA) geboren, wo sie von John G. Kemeney (1926-93) und Thomas E. Kurtz (1928-) entwickelt wurde. Kemeney arbeitete zuerst am Manhattan-Projekt (1945) und sp�ter (1948-49) als Albert Einsteins Assistent. Hier traf er 1956 Kurtz in Dartmouth.

Beide begannen an einer neuen Prgrammiersprache zu arbeiten. Und nach den sogenannten Darsimco und DOPE Versionen wandten sie sich einer Sprache mit der folgenden Spezifikation zu:

  1. Allgemeine Anwendbarkeit
  2. Leicht zu benutzen
  3. Erweiterbar
  4. Interaktiv
  5. Debugger eingeschlossen
  6. Leistungsf�hig
  7. Unabh�ngig von der Hardware
  8. Unabh�ngig vom Betriebssystem

Um das zu erreichen, begannen sie mit FORTRAN und ALGOL. Die endg�ltige Version wurde Dartmouth BASIC genannt und enthielt 14 Instruktionen. Das Dartmouth Basic war eine kompilierte, f�r die damalige Zeit recht schnelle Sprache.

Die Anstrengungen von Kemeney und Kurtz fanden ihre Belohnung am 1. Mai 1964 um 4 Uhr morgens, als zwei BASIC-Programme gleichzeitig auf dem General Electric 225 UC des Dartmouth-College liefen.

BASICs Wachstum

Kemeney und Kurtz sch�zten ihre Erfindung nicht mit einem Patent, sonders liessen sie in der Public Domain. Das erm�glichte deren Wachstum und f�hrte zu mehreren Versionen. Unter den ersten Benutzern finden wir General Electric, die den GE-255 nach Dartmouth verkauft hatten.

Gordon Eubanks (CEO von Symantec) geh�rt zu den Sch�pfern von mehren BASIC-Ausf�hrungen, darunter E-BASIC aus dem Jahr 1970. Es benutzte einen Pseuodocode, wie das heutige Java. Danach entstand CBASIC und viele andere Versionen, was 1974 das ANSI veranlasste, Standards zu definieren. Diese wurden seit ihrem Erscheinen 1978 nie befolgt, BASIC war zu dieser Zeit schon recht verbreitet.

In der Zwischenzeit (1975) schufen Bob Albrecht und Dennis Allison TinyBASIC. Es lief auf 2kb RAM. Es erschien auch die erste interpretierte BASIC-Sprache, sie wurde von William S. Gates III (1955 -, auch als Bill bekannt) und Paul Allen (1953) entwickelt. Die Computerhersteller begannen eine Kopie von BASIC in der ROM ihrer Maschinen zu installieren. Am Ende der 70iger erhalten die ersten Personal Computer ihre Version des BASIC:

Die Evolution von BASIC

Seit dem Beginn der 80iger ist die Geschichte von BASIC eng mit denen der Computern verkn�pft. Zwei Produkte dominieren den Markt. IBM liefert BASIC A mit PC-DOS ( interpretiert und in ROM, jedoch erweiterbar). MS-DOS erscheint mit Gee-Wiz BASIC (oder GW).
In 1984 taucht der Microsoft BASIC Compiler auf, gefolgt von zahlreichen Versionen der QuickBASIC-Serie, die 1985 begann und 1990 mit dem Microsoft BASIC Professional Development System 7.1 beendet wurde.

Wiederum f�hren die Betriebssysteme zu �nderungen der Sprache durch die Einf�hrung der grafischen Oberfl�che. Visual BASIC erscheint, entworfen, um grafische Benutzeroberfl�chen (GUI) zu entwickeln. Visual BASIC behauptet, eine Objektsprache zu sein, was von vielen Programmierern bestritten wird. Eine k�rzliche Umfrage sch�tzt jedoch, dass f�r die Entwicklung von 90% der Programme f�r Windows 9x Visual BASIC eingesetzt wurde.

Die heutigen BASICs

Wenn wir uns bem�hen, eine Bestandsaufnahme der BASIC-Versionen f�r Linux aufzustellen, finden wir etwa ein halbes Dutzend mehr oder weniger fortgeschrittene Projekte. In der "Basic-Foundry" in Sourceforge finden wir eine Kategorie mit der Anzahl der Downloads:

TOP DOWNLOADS vom Sourceforge.net

  1. XBasic
  2. SmallBASIC
  3. wxBasic
  4. GNU/Liberty Basic
  5. YaBASIC
  6. X11-Basic

Wir erfahren auch, dass Gnome und KDE beide ein Projekt haben, um Visual Basic zu ersetzen. Au�erdem spricht Richard Stallman �ber die Notwendigkeit einer freien Alternative zu VB im Letter to "the register",vom 10. February 2002.
Anthony Liguori (ajl13-at-bellatantic.net), Autor von GLBCC (GNU/Liberty Basic Compiler Collection), dem einzigen BASIC-Project mit einer GNU Marke, fordert das ebenfalls auf der GLBCC Website (lbpp.sourceforge.net) die bei Sourceforge zu finden ist.

Werfen wir einen Blick auf die verschiedenen Basics, um einen Eindruck von deren Benutzeroberfl�chen und den M�glichkeiten dieser Sprachen zu erhalten:

XBasic

XBasic ist wahrscheinlich die Entwicklungsumgebung mit einer der fortgeschrittendsten Benutzeroberfl�che. Es ist ein IDE, d.h. es enth�lt ein Tool zum Erstellen von grafischen Benutzeroberfl�chen, einen Debugger und einen Compiler. Ein "dot-commands"-System (Punkt-Befehle-System) erlaubt die Benutzung der Tastatur anstelle der Maus, um die Oberfl�che zu verwalten, durch Schreiben von Befehlen gefolgt von einem Punkt (dot) im Texteingabefenster links oben im Hauptfenster:

XBasic
XBasic, Darstellung 1a: Das Hauptfenster

XBasic math
XBasic, Darstellung 1b: Die Mathematik Anwendung

Was die Features angeht, so enh�lt XBasic alle notwendigen Bibliotheken, um grafische Benutzeroberfl�chen und viele Erweiterungen zu programmieren. Erw�hnt sei die A F�higkeit, Funktionen, die in C geschrieben sind, aufzurufen. Viele Features von C sind verf�gbar wie z.B. Typdeklaration, Beziehungen von Variablen und Aufbau von Bibliotheken.
Abschliessend, XBasic ist unter der GPL f�r Windows oder Linux erh�ltlich bei: http://www.xbasic.org/


SmallBASIC

SmallBASIC ist ein Textmodus-Interpreter f�r Win32, Linux und PalmOS. Der Entwicklerteil ist sehr gut dokumentiert, um die Portierung zu anderen Betriebssystemen zu erleichtern. Der Interpreter kann f�r andere Oberfl�chen kompiliert werden:

Es kann im Text- oder Grafikmodus benutzt werden. Das folgende Beispiel f�hrt das System_infos.bas-Programm aus:

Konsolemodus

$ sbasic  System_info.bas 
SmallBASIC version 0.8.2, use -h for help
http://smallbasic.sourceforge.net

VMT Initialization...
File: System_info.bas
Section: Main
PASS1: Line 24; finished
SB-MemMgr: Maximum use of memory: 30KB

PASS2: Node 3/3
Creating byte-code...
Variables  20
Labels     0
Proc/Func  0
Code size  707

System Information

OS:     Unix/Linux version 2.4.18-6mdk (quintela @ bi.mandrakesoft.com)
       (gcc version 2.96 20000731 (Mandrake Linux 8.2 2.96-0.76mdk))
       #1 Fri Mar 15 02:59:08 CET 2002 204018
SB:     802
Display 99x58
Colors  16
Font:   1x1

Total free memory: 127728 KB
Stack size: 127728 KB
Largest free memory block: 127728 KB

 * DONE * 

SB-MemMgr: Maximum use of memory: 30KB
$ 

Grafikmodus

   $ sbasic -g  System_info.bas 
   SmallBASIC version 0.8.2, use -h for help
   http://smallbasic.sourceforge.net


   VMT Initialization...
   File: System_info.bas
   Section: Main
   PASS1: Line 24; finished
   SB-MemMgr: Maximum use of memory: 30KB

   PASS2: Node 3/3
   Creating byte-code...
   Variables  20
   Labels     0
   Proc/Func  0
   Code size  707

   SB-MemMgr: Maximum use of memory: 30KB
   $

SmallBASIC
Abbildung 2: SmallBASIC. SDL Grafikmode.

Die SmallBASIC-Sprache ist recht einfach und h�lt sich eng an die BASIC-Standardfunktionen. Die grafischen Funktionen enthalten nichts Neues und wir finden die klassischen RECTANGLE und CIRCLE ausf�hrbar auf jedem der oben genannten Betriebssysteme. Es gibt keinen Variablentyp.
SmallBASIC ist jedoch kompatibel mit dem alten TINYBasic und QuickBasic und es ist auch bestens in das PalmOS integriert.
Es ist erh�ltlich bei http://smallbasic.sourceforge.net/

wxBasic

wxBasic sollte QuickBasic - und einige Unix-Eigenschaften haben, wie die Assoziative Arrays, die man in awk findet. Es ist ein kleiner Interpreter: es passt auf eine Floppy. Die Dokumentation ist vollst�ndig und ist als 138-seitiges pdf-Handbuch erh�ltlich. Die Sprache enth�lt eine Grafikbibliothek und erm�glicht Programme f�r X Window oder Windows zu schreiben. Sie �hnelt objektorientierten Sprachen wie C++, zumindestens beim GUI-Design - diese m�ssen jedoch von Hand entwickelt werden. Eine integrierte Benutzeroberfl�che scheint f�r dieses BASIC nicht erh�ltlich zu sein.

 // My first wxBasic demo...
 option explicit

 // create the window
 dim frame=new wxFrame(0,-1,"wxBasic App",wxPoint(10,10),wxSize(300,200))
 frame.Centre()

 // place a panel in the window
 dim panel = new wxPanel(frame, -1)

 // add a status bar
 dim sBar = frame.CreateStatusBar( 1 )
 sBar.SetStatusText("wxBasic Frame Demo")

 // attach a menubar to the window
 dim mBar = new wxMenuBar()
 frame.SetMenuBar(mBar)

 // build the "File" dropdown menu
 dim mFile = new wxMenu()
 mBar.Append(mFile,"&File")

 // populate it
 mFile.Append(wxID_NEW, "&New", "Creates a new file")
 mFile.Append(wxID_OPEN, "&Open", "Loads an existing file from disk")
 mFile.Append(wxID_SAVE, "&Save", "Saves current file")
 mFile.Append(wxID_SAVEAS, "Save &As", "Saves current file with new name")
 mFile.AppendSeparator()
 mFile.Append(wxID_EXIT, "&Exit", "Exit Application")

 // build the "Edit" dropdown menu
 etc.....

wxBasic

wxBasic
Abbildung 3: wxBasic: Eines der Demo-Programme

Webseite : http://wxbasic.sourceforge.net/

GNU/Liberty Basic

Auch GLBCC (GNU Liberty Basic Compiler Collection) genannt. Es ist ein Compiler oder besser gesagt ein "C GNU gcc"-Compiler-Interface, das BASIC in C konvertiert - etwa wie einige C++ -Compiler, die C++ in C umwandeln, bevor sie kompilieren. Wie der Name schon andeutet, ist dieser Compiler nur f�r Sprachen geeignet, die 100% LibertyBasic-kompatibel sind. LibertyBASIC ist eine von den Sprachen, die in den 90igern auf der Windowsplattform erschien und sich dank ihrer freien Erh�ltlichkeit (daher der Name) weit verbreitete. Wer mehr dar�ber wissen will, findet es auf dieser Webseite Dort wird sie f�r ihre grossartige Qualit�t gepriesen. Die Sprache ist nicht frei, aber eine Windowsversion von LibertyBASIC kann gratis von der Webseite heruntergeladen werden.

Der GLBBC-Compiler ist f�r Windows und Linux erh�ltlich, er ist f�hig, ausf�hrbare, selbstst�ndige Programme zu erzeugen, deren Geschwindigkeiten sich mit denen jeder anderen Sprache messen k�nnen. Die Autoren verk�nden lauthalsig, dass LibertyBasic-Code, kompiliert mit GLBCC, VisualBasic - was Geschwindigkeit anbetrifft - in den Schatten stellt.

GLBCC ist recht einfach in Linux zu installieren, es ben�tigt nur das klassische "tar" zum Dekomprimieren und ein "make install" .
In Standardmodus wird das Programm mittels Befehlszeile benutzt und die Eingabe von 'glbcc hello.bas' f�hrt zu der folgenden ausf�hrbaren Datei:

$ glbcc
/usr/local/bin/lbpp -I/usr/local/lib/glbcc-lib/0.0.7/include -o out.c hello.bas
gcc -g -I/usr/local/lib/glbcc-lib/0.0.7/include `gnome-config --cflags gnomeui`
    -o hello out.c /usr/local/lib/glbcc-lib/0.0.7/lib/lbcrt0.o
    -L/usr/local/lib/glbcc-lib/0.0.7/lib -lLB
    -lm `gnome-config --libs gnomeui`
$ ls -l hello*
-rwxr-xr-x  1 john  john  339671 oct 13 21:55 hello
-rw-r--r--  1 john  john      22 avr 14 17:41 hello.bas
$ cat hello.bas
print "Hello, world!"
$ ./hello
Hello, world!

Ohne Eingabe von Parametern �ffnet GLBCC ein Dialogfeld und fragt den Benutzer nach dem Namen einer BASIC-Datei und den Namen der ausf�hrbaren Datei, die erzeugt werden soll. Als Default wird der Eingabename der Datei mit einer .exe-Erweiterung f�r Windows und ohne Erweiterung f�r Linux ausgegeben.

GNU/Liberty Basic
Abbildung 4: GNU/Liberty Basic

Dieses BASIC ist als Sprache vollst�ndig, die Benutzeroberfl�che ist auf der GTK-Bibliothek aufgebaut. Der Spass an der Sache ist, dass GLBCC selbst in BASIC geschrieben ist.

YaBASIC

Yet another Basic for Unix and Windows (Noch ein weiteres Basic f�r Unix und Windows)

Obwohl YaBasic sich wie ein Interpreter benimmt, ist es doch keiner. Es ist eher ein Compiler: geben wir Quellcode zum Verarbeiten ein, kompiliert es diesen in Maschinencode und f�hrt diesen unverz�glich aus. YaBasic wird �ber die Befehlszeile benutzt. Mit dem Dateinamen als Argument f�hrt es die Datei wie beschrieben aus. Ohne Argument geht es - wie im nachfolgenden Beispiel - in den Interpretermodus :

$ yabasic
Enter your program, type RETURN twice when done.
for i=1 to 10
   print i,"hello, world"
next i

1hello, world
2hello, world
3hello, world
4hello, world
5hello, world
6hello, world
7hello, world
8hello, world
9hello, world
10hello, world
$

Diese Arbeitsweise erlaubt es, Unixscript oder sogar CGI-Scripts mit YaBasic zu schreiben, solange wir "#!/bin/yabasic" als die erste Zeile der Datei einf�gen, wie klassisch in Unix-Shells und sie ausf�hrbar machen.

Als eine Sprache ist YaBasic ein Standard-BASIC (d.h. sie ist nahe an Quick BASIC) ohne Variablentypen. Es reicht aus, die Unterschiede zwischen Strings und Zahlen durch Anwendung des $ -Zeichen am Ende der Variablenamen zu markieren. Hier gibt es kein objektorientiertes Programmieren, es besteht jedoch die F�higkeit, eigene Bibliotheken aufzubauen. Gem�ss des OS besteht die M�glichkeit des Zugangs auf den Grafikmodus von X11 und Windows. Wir finden weitere n�tzliche Funktionen wie split() - in Perl oder PHP zu finden - die FOR-, WHILE- oder REPEAT UNTIL - Schleifen, sowie die IF-, ELSE- und ENDIF- Anweisungen, letztere sind seit den 80igern, als sich strukturierte Programmierung verbreitete, Teil der BASIC-Sprache.

X11-BASIC

X11-BASIC ist ein strukturierter BASIC-Interpreter mit Grafikeigenschaften von X11. Es nutzt die M�glichkeiten des GFA BASIC vom Atari ST und ist der Port den BASIC im Atari ST GEM/TOS - System (am Ende der 80iger) zu Unix benutzte. X11-BASIC kann als Interpreter, zum Schreiben von Scripts oder CGIs verwendet werden. Ein Pseudo-Compiler ist verf�gbar und gestattet eigenst�ndige ausf�hrbare Programme (Statikmodus) zusammenzustellen oder zu der X11-BASIC-Bibliothek (etwa 200kb, dynamischer Modus) zu linken. Es ist ein Pseudo-Compiler, da die entstehende Datei keinen Maschinencode, der direkt von der CPU verarbeitet werden kann, enth�lt, sondern eine komprimierte Art von BASIC mit seinem Interpreter. Dieser Pseudo-Compiler selbst ist in X11-BASIC geschrieben.
Dieses BASIC hat eine sehr reiche, strukturierte Sprache mit Variablentypen (integer, floating, text, array, boolean). Es enth�lt Befehle zum Speicherzugang, z.B. C malloc() oder um Matrix' f�r Arrays zu vervielf�ltigen.
Die Grafikanweisungen sind die vom Atari ST GFA BASIC, aber ergeben jetzt das gleiche Resultat in X. Die MENU-Befehle z.B. erstellen ein Men� in einem Grafikwindow. Dieser Interpreter enth�lt eine Dokumentation mit vielen Beispielen, einige davon noch nur in Deutsch. Ein Nachteil: das Portieren ist noch nicht komplett und Bugs k�nnen selbst bei den beigef�gten Beispielen auftreten. Sagen wir mal, dieser Interpreter benimmt sich wie eine Betaversion, die ohne grosse M�he von der Kategorie von BASIC-Benutzern benutzt werden kann, auf die sie abzielt.

$ xbasic
***************************************************************
*               xbasic                 V. 1.07                *
*                    by Markus Hoffmann 1997-2002 (c)         *
*                                                             *
* version date:           Wed Sep 25 10:26:29 CEST 2002       *
* library V. 1.07 date:   Wed Sep 25 10:26:29 CEST 2002       *
***************************************************************
X11 Basic: des Interpreters Heimat

Webseite : http://www-cip.physik.uni-bonn.de/~hoffmann/X11-Basic/

HBasic

Hier haben wir ein Basic, das sofort einen guten ersten Eindruck macht, entweder durch seine M�glichkeiten oder durch die Qualit�t der Dokumentation, welche 7,7 MB umfasst. Zur Installation ben�tigt man Qt-3.*, erh�ltlich von der Trolltech-Webseite (http://www.troll.no/), falls wir keine nagelneue Linuxdistribution haben. Das ist eine vollst�ndige Entwicklungsumgebung mit allen Features von denen ein Programmierer nur tr�umen kann (trotz seiner "Jugend": Version 0.8) :

Die HBasic-Autoren warnen uns: "Die gegenw�rtige Version von HBasic ist nicht stabil genug, um von BASIC-Entwicklern benutzt werden zu k�nnen. Sie werden auf die Herausgabe der ersten stabilen Version1.0 warten m�ssen." .

hbasic
Abb. 5:Hbasic

GNOME Basic

Das GNOME Basic-Projekt setzt sich die 100%ige Kompatibilit�t mit VisualBASIC, VBA, VBscript und anderen verwandten Sprachen zum Ziel. Am Anfang war vorgesehen, sie zum Erzeugen von gnumeric-ausf�hrbaren VBA-Makros einzusetzen. Wegen unerwarteter �nderungen kann sie jedoch nur einige Formen ausf�hren, pr�ft den gr�ssten Teil des VB-Code und f�hrt einzelne ASPs aus. Volle Kompatibilit�t mit einer MS-kompatiblen Umgebung kann durch eine bessere Integration in Bonobo erwartet werden.
Gegenw�rtig ist GNOME Basic der Ansatz, dem Gnome-Projekt VB-kompatibile Eigenschaften zu geben, besonders f�r VBA-Anwendungen.
Das Projekt ist noch in der Vor-Alpha-Phase und wird f�r die Programmierer des Gnome-Projekts reserviert.

Webseite : http://www.gnome.org/gb/

KBasic

KBasic ist ein weiter Versuch, ein Visual Basic-kompatibiles BASIC zu entwickeln. Die Entwickler hoffen, die erste stabile Version 1.0 im Sommer 2003 herauszugeben. Gegenw�rtig besteht nur eine unstabile Version, die sich auf die Entwicklung beschr�nkt. KBasic wird wohl die Kdevelop-Entwicklungsumgebung benutzen.

So sieht z.Z. die Download-Version aus :
$ kbasic1 --help
Usage: kbasic1 [OPTION]... FILE
      --help                  display this help and exit
  -V, --version               print version information and exit
  -c, --copyright             print copyright information and exit
$ kbasic1 -V

KBasic version 0.8

Copyright (C) 2000, 2001, 2002 The KBasic Team
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE,
to the extent permitted by law.

Visit us on http://www.kbasic.org/

$kbasic1 hello.bas 
-- scan --

LINE 00001 PRINT STRING "Hello, world!" EOL 
LINE 00002 END 

-- parse --

STRING in line 1
EOL in line 1
parsed PRINT

parsed END


-- interpret --

0000:  KBASIC   KBASIC
0006:  VER      1.000000
0011:  OPTION R OFF
0013:  JMP      36
0036:  DIM_STAT "Hello, world!", 1
0055:  JMP      18
0018:  PUSHS    1 , " Hello, world! "
0023:  PRINT   
Hello, world!
0034:  END      execution ended

Wie man sehen kann, funktioniert KBasic - es ist jedoch keineswegs einsatzbereit. Die Debuggingmeldungen und der erzeugte Assemblercode sind zur Zeit unvermeidbar.

Webseite: http://www.kbasic.org/

Fazit

Diese �bersicht von BASIC- Interpretern und - Compilern liefert uns einige Informationen. Erstens ist die diskreditierte BASIC-Sprache �berraschender Weise noch am Leben, selbst auf Unixsystemen, wo ihr Gebrauch eher im Verborgenen stattfindet - Dank der vielen Konkurrenten (perl, python, Tcl/TK,php ...), die auch im Interpretermodus laufen. Die T�tigkeiten mit dieser Sprache unter den Entwicklern von freier Software sind bemerkenswert. Es bestehen sehr viele aktive Projekte. Eine grosse Nachfrage scheint zu bestehen, was der freien Softwareentwicklung zu gute kommt - freie Unixsysteme ziehen BASIC-Programmierer an.
Auf Windowssystemen ist VisualBasic sehr verbreitet wegen der Integration im Microsoft OS, der ASPs und der Produktivit�ts-Suites. La�t uns jedoch bemerken, dass die meisten BASICs, die wir getestet haben, auf beiden Plattformen funktionieren und manchmal auch noch auf einigen anderen.
Weiterhin hat BASIC noch einige Nachteile. Der Mangel an Standardisierung f�hrte zu vielen Versionen, die nicht miteinander vertr�glich sind. Der Wunsch einiger neuer Projekte, wie Gnome Basic oder KBasic, den de facto -Standard von Visual Basic anzunehmen, w�re eine gute Idee, wenn VB frei w�re - was jedoch nicht der Fall ist. Das Monopol w�re in dem Fall recht angenehm...
F�r die BASIC-Developer bestehen jedoch echte Wahlm�glichkeiten und mehrere Werkzeuge werden bald zur Verf�gung stehen. Als IDE scheint HBasic das vielversprechendste zu sein. W�hrend wir noch auf die stabile Version warten, ist XBasic am fortgeschrittendsten. F�r Unix-Neuentdecker gestatten SmallBASIC und YaBASIC Scripte oder CGIs zu schreiben, ohne sich in den vielen L�sungsm�glichkeiten des Systems zu verlieren. GLBCC gestatttet das auch und hat zudem den Vorteil, mit dem vorz�glichen GCC kompilierte Programme zu erzeugen. Da jedoch kein IDE und damit kein einfach benutzbarer Debugger vorhanden ist, wird es schwierig, gr�ssere Programme mit diesem Werkzeug zu entwickeln und zu erhalten. Zuletzt bleibt wx-Basic, welches in keine Kategorie f�llt, jedoch einige Vorteile aufweist, wie die F�higkeit grafische Oberfl�chen zu erzeugen.
Eine weitere Eigenschaft dieser BASICS ist die einfache �berf�hrung von Programmen von einem OS zu einem anderen ohne erneut Kompilieren zu m�ssen. Die meisten sind f�r Win32- und die Unix- Plattform erh�ltlich.
Der BASIC- Entwickler steht vor der schweren Aufgabe: das richtige Tool f�r die gew�nschte Anwendung auszuw�hlen.