Zum Inhalt springen

Gambas (Programmiersprache)

aus Wikipedia, der freien Enzyklopädie
Dies ist eine alte Version dieser Seite, zuletzt bearbeitet am 30. September 2020 um 01:13 Uhr durch Titov (Diskussion | Beiträge) (Gambas Skripting). Sie kann sich erheblich von der aktuellen Version unterscheiden.
Gambas


Gambas-IDE
Basisdaten

Entwickler Benoit Minisini
Erscheinungsjahr 1999
Aktuelle Version 3.20.0[1]
(10. Januar 2025)
Betriebssystem Linux/Unix/Haiku
Programmier­sprache C[2], C++[2]
Kategorie Programmiersprache
Lizenz GPL
deutschsprachig ja
gambas.sourceforge.net

Gambas, ein rekursives Akronym für Gambas almost means basic, ist eine freie Programmiersprache zur Softwareentwicklung. Es handelt sich um eine objektorientierte BASIC-Variante mit einer kompletten IDE. Gambas sollte ursprünglich die Vorteile von Visual Basic auch auf dem Linux Desktop wie z.B. unter KDE oder Gnome verfügbar machen, hat sich aber inzwischen zu einem eigenständigen BASIC unter Linux und Unix entwickelt. Gambas ist von Visual Basic inspiriert, aber trotz vieler Gemeinsamkeiten sind beide Sprachen nicht äquivalent: In Gambas gibt es keine ActiveX-Steuerelemente, sie sind durch eigene Objekte ersetzt worden. Dadurch sind Visual-Basic-Formulare nicht in Gambas zu importieren, sie müssen neu erstellt werden. Allerdings kann bereits vorhandener VB- oder VBA Code in großen Teilen wiederverwendet werden, dadurch eignet sich Gambas für die Portierung von vorhandenen VB- oder VBA-Anwendungen nach Linux. Gambas ist weiter an C angelehnt als Visual Basic, das zeigt sich zum Beispiel im Umgang mit Dateien, die wie in C als Dateideskriptor geöffnet werden.

Gambas-Programme werden normalerweise – kompiliert, als Bytecode gepackt und in ausführbare Dateien gespeichert – von einem Interpreter ausgeführt. Ab der Version 3.2 kann zusätzlich eine Just-in-time-Kompilierung aktiviert werden. Dabei wird das Basic Programm nach C übersetzt. Ab Version 3.3 ist Gambas zu Multitasking bzw. Multiprocessing fähig, Klassen können dafür vorbereitet werden, indem sie von der Klasse Task erben. Dadurch ist es möglich alle vorhandenen CPU Kerne zum Rechnen zu benutzen[3]. Außerdem können Gambas Programme in ausführbaren Textdateien als Skripte ausgeführt werden[4].

Gambas ist quelloffen und steht unter der GPL. Es wird seit 1999 von Benoît Minisini entwickelt und ist in vielen Sprachen, unter anderem in Französisch, Englisch, Spanisch, Türkisch, Chinesisch und Deutsch verfügbar.

Gambas3 ist eine der wenigen Open Source Rapid Application Development-Umgebungen unter Linux. Mit Gambas kann man schnell Programme mit grafischer Bedienoberfläche (GUI) entwickeln, dabei werden Qt und GTK+ zur Erzeugung der GUI unterstützt. Der Zugriff auf Datenbanken wie MySQL, SQLite oder PostgreSQL wird von Haus aus unterstützt. Über die eingebaute SDL-Bindung lassen sich Multimedia-Applikationen und Spiele schreiben. In der aktuellen Version 3 wird D-Bus unterstützt, sodass sich Gambas-Programme in aktuelle Desktop-Oberflächen integrieren lassen (frühere Versionen unterstützten stattdessen DCOP, das nur mit KDE3 läuft).

Die Oberfläche der IDE selbst ist in Gambas-BASIC geschrieben. Ab der Version 0.99 lassen sich aus der Programmierumgebung RPM/DEB-Pakete für Debian und Ableger (Ubuntu), sowie alle gängigen RPM-Distributionen (nur RPM in Version 4.x) erstellen.

Erstellte Applikationen können anderen Gambas Benutzern über die Gambas Software Farm zu Verfügung gestellt werden. Am Gambas Playground ist es möglich kleine Programme Online zu editieren und zu starten.

Datei:Gambas software farm.png
Gambas Software Farm

Sämtliche Quelltexte, Projektdefinitionen und Formularbeschreibungen sind in Textdateien, sodass Gambas-Quellcode auch unabhängig von der IDE mit beliebigen Texteditoren bearbeitet und mit beliebigen Versionsverwaltungen verwaltet werden kann. Die Gambas-IDE selbst unterstützt die Versionierung mit Git. Seit Version 3.15 unterstützt der Interpreter eigene Testklassen, die im Zusammenspiel mit der IDE, aber auch automatisiert, Unittesting ermöglichen und so zur Stabilität des mit der Sprache erstellten Codes beitragen.

Wikibooks: Gambas – Lern- und Lehrmaterialien
Commons: Gambas – Sammlung von Bildern, Videos und Audiodateien

Einzelnachweise

  1. lists.gambas-basic.org.
  2. a b openhub.net.
  3. Die Klasse Task in der Gambas Referenz
  4. Gambas Skripting