Trotz ihrer langen Geschichte war und bleibt die Programmiersprache Basic umstritten. Immerhin hat Microsoft mit Visual Basic einen Dialekt etabliert, der sich unter Windows-Nutzern großer Beliebtheit erfreut. Unter Linux gab es bislang nur einige Nischenprojekte wie XBasic [1]. Mit einer an Visual Basic angelehnten Oberfläche möchte Gambas [2] (Abbildung 1) die Einstiegshürde zum Erlernen niedrig setzen und erhebt dabei den Anspruch, einen effizienteren Basic-Dialekt als VB zu verwenden.
Neben Gambas existieren für Linux die beiden freien Basic-Varianten HBasic [3], eine komplette Entwicklungsumgebung, und der Interpreter wxBasic [4]. Daneben haben die Entwickler des kommerziellen KBasic [5] seit längerem eine IDE mit vollständiger Sprachkompatibilität zu Visual Basic versprochen, bislang gibt es jedoch noch keine Vorabversion. Mit PowerBasic [6] und RealBasic [7] existieren daneben zwei weitere kommerzielle plattformübergreifende Dialekte, die für Linux jedoch noch keine Entwicklungsumgebung bieten.
Doppelte Arbeit
Da sich die Oberflächen von Gambas und Visual Basic ähneln, finden sich Umsteiger schnell zurecht. Jedoch weicht die Gambas-Syntax von Visual Basic ab, so dass sich VB-Programme nicht ohne Weiteres übernehmen lassen. Einfache Projekte ohne ActiveX-Steuerelemente lassen sich jedoch mit überschaubarem Aufwand anpassen.
Die Gambas-IDE enthält einen Debugger zur Fehlersuche, einen grafischen Formulareditor und einen Menüeditor. Durch sein modulares Konzept bindet es Entwickler nicht an ein bestimmtes Toolkit, Gambas-Programme lassen sich auf Knopfdruck mit Qt- oder Gtk-Oberflächen versehen. Das Gtk-Modul enthält jedoch ausschließlich die noch in der Entwicklung befindliche Testversion.
Auf die Platte
Auf der Heft-CD finden Sie den Gambas-Quelltext sowie RPM-Pakete der Entwicklungsumgebung für Suse und Mandrake in Version 1.0.3. Gambas ist Teil von Debian testing, Pakete der Entwicklerversion 1.9.3 finden Sie ebenfalls auf der Heft-CD. Sie enthält die erwähnte GTK-Unterstützung, eignet sich jedoch noch nicht für den produktiven Einsatz.
Die Installation der RPMs unter Mandrake Linux 10.1 und Suse 9.1 erfolgt im Unterverzeichnis suse bzw. mandrake mit rpm -Uvh *. Zum Kompilieren benötigen Sie die Qt-Entwicklungspakete ab Version 3.2, sie heißen qt3-devel oder libqt3-dev. Wollen Sie mit Gambas KDE-spezifische Anwendungen programmieren, brauchen Sie zudem die Entwicklungspakete der KDE-Bibliotheken, kdelibs3-devel oder kde-devel.
Nach deren Installation entpacken Sie den Gambas-Quelltext mit tar -xjf gambas-1.0.3.tar.bz2, wechseln ins neu entstandene Verzeichnis und erzeugen mit ./configure die Makefiles. Der Befehl make stößt den Übersetzungsvorgang an; make install installiert, mit Root-Rechten ausgestattet, das Programm. Danach starten Sie die Entwicklungsumgebung mit dem Kommando gambas.
Wählen Sie im Startbildschirm Neues Projekt, so führt ein Assistent Sie durch die einleitenden Schritte. Zunächst entscheiden Sie, ob Sie ein grafisches oder ein textbasiertes Projekt anlegen oder Code aus einem bestehenden Projekt kopieren möchten. Danach geben Sie den Namen des Projektverzeichnisses, in dem alle Quelltextdateien landen, ein. Beim Einstieg in die Gambas-Programmierung helfen mitgelieferte Beispiele, die Sie im Startdialog erreichen.
Neben dem in Arbeit befindlichen Formular zeigt Gambas ein Projektfenster, die Werkzeugleiste, das Eigenschaftsfenster und den Quelltexteditor. Im Projektfenster (Abbildung 2) bietet eine Baumansicht einen Überblick über die zum Projekt gehörenden Dateien. Die Werkzeugleiste zeigt die zur Verfügung stehenden Oberflächenelemente, im Eigenschaftsfenster legen Sie Aussehen und Verhalten der Programmoberfläche fest. Im Quelltexteditor schließlich bearbeiten Sie direkt den Basic-Code.
Da sich beim Öffnen eines Formulars stets zwei neue Fenster öffnen, wird es auf dem Bildschirm schnell unübersichtlich. Die KDE-Entwicklungsumgebung KDevelop [8] löst dieses Problem dadurch, dass sie alle Elemente innerhalb eines umgebenden Fensters öffnet. Ein solches Konzept käme auch der Übersichtlichkeit von Gambas zugute.



