Zum Inhalt springen

„Gambas (Programmiersprache)“ – Versionsunterschied

aus Wikipedia, der freien Enzyklopädie
[gesichtete Version][gesichtete Version]
Inhalt gelöscht Inhalt hinzugefügt
K Rechtschreibung
 
(36 dazwischenliegende Versionen von 9 Benutzern werden nicht angezeigt)
Zeile 4: Zeile 4:
|Screenshot = [[Datei:Gambas3.8.png|250px]]
|Screenshot = [[Datei:Gambas3.8.png|250px]]
|Beschreibung = Gambas-IDE
|Beschreibung = Gambas-IDE
|Maintainer =
|Hersteller = <!-- Wikidata -->
|Hersteller = Benoit Minisini
|Erscheinungsjahr = <!-- Wikidata -->
|Erscheinungsjahr = <!-- Wikidata -->
|AktuelleVersion = <!-- Wikidata -->
|AktuelleVersion = <!-- Wikidata -->
|AktuelleVersionFreigabeDatum = <!-- Wikidata -->
|AktuelleVorabVersion =
|AktuelleVorabVersionFreigabeDatum =
|Betriebssystem = [[Linux]]/[[Unix]]/[[Haiku (Betriebssystem)|Haiku]]
|Betriebssystem = [[Linux]]/[[Unix]]/[[Haiku (Betriebssystem)|Haiku]]
|Programmiersprache =
|Programmiersprache =
|Kategorie = [[Programmiersprache]]
|Kategorie = [[Programmiersprache]]
|Lizenz = [[GNU General Public License|GPL]]
|Lizenz = [[GNU General Public License|GPL]] ([[Quelloffenheit|quelloffen]])
|Deutsch = Ja
|Deutsch = Ja
|Website = [http://gambas.sourceforge.net/ gambas.sourceforge.net]
|Website = [https://gambas.sourceforge.net/ gambas.sourceforge.net]
|Dateien =
|Dateien =
}}
}}


'''Gambas''', ein [[rekursives Akronym]] für '''''G'''ambas '''a'''lmost '''m'''eans '''bas'''ic'', ist eine [[Freie Software|freie]] [[Programmiersprache]] zur [[Softwareentwicklung]]. Es handelt sich um eine [[objektorientiert]]e [[BASIC]]-Variante mit einer kompletten [[Integrierte Entwicklungsumgebung|IDE]]. Sie soll die Vorteile von [[Visual Basic Classic|Visual Basic]] auch auf dem [[Linux#Desktop-Systeme|Linux Desktop]] wie z.&nbsp;B. unter [[K Desktop Environment|KDE]] oder [[Gnome]] verfügbar machen. Jedoch ist Gambas nicht äquivalent zu Visual Basic, auch wenn beide Sprachen viele Gemeinsamkeiten aufweisen. Unter Linux gibt es keine [[ActiveX]]-Steuerelemente, die bei Gambas durch eigene Objekte ersetzt wurden. So sind bereits vorhandene Visual-Basic-Projekte nicht ohne weiteres in Gambas zu importieren. Allerdings kann bereits vorhandener VB- oder [[Visual Basic for Applications|VBA]] Code in großen Teilen wiederverwendet werden. 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''' (ein [[rekursives Akronym]] für '''''G'''ambas '''a'''lmost '''m'''eans '''bas'''ic'') ist eine [[Freie Software|freie]] [[Programmiersprache]] zur [[Softwareentwicklung]]. Es handelt sich um eine [[objektorientiert]]e [[BASIC]]-Variante mit einer kompletten [[Integrierte Entwicklungsumgebung|IDE]]. Gambas ist von Visual Basic inspiriert und sollte ursprünglich die Vorteile von [[Visual Basic Classic|Visual Basic]] (VB) auf [[Linux#Desktop-Systeme|Linux-Desktops]] wie [[K Desktop Environment|KDE]] oder [[Gnome]] verfügbar machen, wurde aber zu einem eigenständigen BASIC für [[Linux]] und [[Unix]] weiterentwickelt. Trotz vieler Gemeinsamkeiten sind VB und Gambas nicht äquivalent: Gambas ist grundsätzlich[[Starke Typisierung| stark typisiert]] (entspricht VB mit 'Option Explicit On'), enthält jedoch auch den Variant-Typ, der jegliche Typen enthalten darf. In Gambas gibt es keine [[ActiveX]]-Steuerelemente, sie sind durch eigene Objekte ersetzt worden. Dadurch können VB-Formulare nicht in Gambas importiert werden, sondern müssen neu erstellt werden. Allerdings kann bereits vorhandener VB- oder [[Visual Basic for Applications|VBA]]-Code in großen Teilen wiederverwendet werden, wodurch Gambas sich für die [[Portierung (Software)|Portierung]] vorhandener VB- oder VBA-Anwendungen nach Linux eignet. Umgekehrt lässt sich Gambas auch im [[Windows-Subsystem für Linux]] betreiben.<ref>''[https://forum.gambas.one/viewtopic.php?f=9&t=812 Gambas on Windows]'' (englisch) Veröffentlichung im ''Gambas-Forum'', am 17. Januar 2020</ref>


== Weitere Einzelheiten ==
Gambas-Programme werden normalerweise kompiliert, als [[Bytecode]] gespeichert und 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.<ref>[http://gambaswiki.org/wiki/comp/gb/task Die Klasse Task in der Gambas Referenz]</ref>


Gambas-Programme werden normalerweise – [[Compiler|kompiliert]], als [[Bytecode]] gepackt und in [[Ausführbare Datei|ausführbare Dateien]] gespeichert – von einem [[Interpreter]] ausgeführt. Ab Version 3.2 kann zusätzlich eine [[Just-in-time-Kompilierung]] aktiviert werden. Dabei wird das BASIC-Programm beim Programmstart nach [[C (Programmiersprache)|C]] übersetzt, was die Geschwindigkeit zur [[Laufzeit (Informatik)|Laufzeit]] erheblich verbessert.<ref>[http://gambaswiki.org/wiki/doc/benchmark Gambas Benchmarks]</ref> Ab Version 3.3 ist Gambas zu [[Multitasking]] bzw. [[Multiprocessing]] fähig. [[Klasse (Objektorientierung)|Klassen]] können dafür vorbereitet werden, indem sie von der Klasse Task erben. Dadurch können alle Kerne des [[Prozessor]]s zum Rechnen benutzt werden<ref>[http://gambaswiki.org/wiki/comp/gb/task Die Klasse Task in der Gambas Referenz]</ref>, außerdem können Gambas-Programme in ausführbaren Textdateien als [[Skriptsprache|Skripte]] ausgeführt werden.<ref>[http://gambaswiki.org/wiki/doc/scripting Gambas Skripting]</ref>
Gambas für [[Personal Digital Assistant|PDAs]] beruht vor allem auf [[Portable Operating System Interface|POSIX]] und [[Qt (Bibliothek)|Qt]].


Gambas wird seit 1999 hauptsächlich von dem Franzosen Benoît Minisini entwickelt und ist durch die Hilfe vieler Übersetzer auch in vielen weiteren Sprachen (u.&nbsp;a. Deutsch, Englisch, Spanisch, Türkisch und Chinesisch) verfügbar.<ref>''[http://gambaswiki.org/wiki/doc/halloffame Hall Of Fame]'' (englisch) – dort mit den Entwicklern (englisch ''Developers'') und Übersetzern (''Translators'')</ref> Es wurde zudem unter der [[GNU General Public License|GPL]] veröffentlicht und ist daher [[Quelloffenheit|quelloffen]].
Gambas ist [[Open Source|quelloffen]] und steht unter der [[GNU General Public License|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.


Mit Gambas kann man Programme mit [[Grafische Benutzeroberfläche|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 [[Simple DirectMedia Layer|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 [[Desktop Communication Protocol|DCOP]], das nur mit KDE3 läuft).
Gambas ist eine der wenigen quelloffen [[Rapid Application Development|Rapid-Application-Development]]-Umgebungen unter [[Linux]]. Mit Gambas kann man schnell Programme mit [[Grafische Benutzeroberfläche|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 [[Simple DirectMedia Layer|SDL]]-Bindung lassen sich Multimedia-Anwendungen (englisch ''multimedia applications'') und Spiele schreiben. In der aktuellen Version 3 wird [[D-Bus]] unterstützt, sodass sich Gambas-Programme in aktuelle Desktop-Oberflächen integrieren lassen.<ref>{{Internetquelle |url=https://www.linux-community.de/ausgaben/linuxuser/2005/04/basic-programme-entwickeln-mit-gambas/ |autor=Frank Wieduwilt |titel=Basic-Programme entwickeln mit Gambas |werk=[[LinuxUser]] 04/2005 |sprache=de-DE |abruf=2023-01-23}}</ref>


Die Oberfläche der [[Integrierte Entwicklungsumgebung|IDE]] selbst ist in Gambas-BASIC geschrieben. Ab der Version 0.99 lassen sich aus der Programmierumgebung [[RPM Package Manager|RPM]]/[[Debian-Paket|DEB]]-Pakete für [[Debian]] und Ableger ([[Ubuntu]]), sowie alle gängigen RPM-Distributionen (nur RPM in Version 4.x) erstellen.
Die Oberfläche der [[Integrierte Entwicklungsumgebung|IDE]] selbst ist in Gambas-BASIC geschrieben. Ab der Version 0.99 lassen sich aus der Programmierumgebung [[RPM Package Manager|RPM]]/[[Debian-Paket|DEB]]-Pakete für [[Debian]] und Ableger ([[Ubuntu (Betriebssystem)|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.
Erstellte Anwendungen können anderen Gambas-Benutzern über die Gambas-Software-Farm zur Verfügung gestellt werden. Im Gambas-Playground ist es möglich, kleine Programme online zu bearbeiten und zu starten.<ref>[http://gambaswiki.org/wiki/playground Gambas Playground]</ref>
[[Datei:Gambas software farm.png|mini|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 [[Versionsverwaltung]]en verwaltet werden kann. Die Gambas-IDE selbst unterstützt die Versionierung mit [[Git]].
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 [[Versionsverwaltung]]en 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 [[Testgetriebene Entwicklung]], aber auch automatisiertes [[Modultest|Unittesting]] ermöglichen und so zur Stabilität des mit der Sprache erstellten Codes beitragen. Mit der Version 3.17 haben neben weiteren Neuerungen [[Namensraum|Namespaces]] in die Sprache Einzug gehalten.


== Weblinks ==
== Weblinks ==
{{Wikibooks|Gambas}}
{{Wikibooks|Gambas}}
{{Commonscat|Gambas}}
{{Commonscat|Gambas}}
* [http://gambas.sourceforge.net/ Offizielle Webpräsenz] (englisch)
* [https://gambaswiki.org/website/en/main.html Offizielle Webpräsenz] (englisch)
* [http://gambaswiki.org/wiki Gambas Dokumentation] (englisch)
* [http://gambaswiki.org/wiki Gambas Dokumentation] (englisch)
* [https://www.gambas-buch.de/doku.php Das Gambas Buch]
* [https://www.gambas-buch.de/doku.php Das Gambas Buch]
* [https://www.gambas-club.de/ Das deutsche Forum zur Programmiersprache Gambas]
* [https://www.gambas-club.de/ Das deutsche Forum zur Programmiersprache Gambas]
* [https://lists.gambas-basic.org/listinfo/user Die internationale Gambas Mailingliste] (englisch)
* [https://lists.gambas-basic.org/ Die internationalen Gambas Mailinglisten] (englisch)
* [http://www.linux-community.de/ausgaben/linuxuser/2005/04/basic-programme-entwickeln-mit-gambas/ Ältere Einführung bei Linux-User]
* [https://twit.tv/shows/floss-weekly/episodes/353 Interview mit Benoit Minisini] (englisch) in der [http://wiki.twit.tv/wiki/FLOSS_Weekly FLOSS Weekly Show]
* [https://twit.tv/shows/floss-weekly/episodes/353 Interview mit Benoit Minisini] (englisch) in der [http://wiki.twit.tv/wiki/FLOSS_Weekly FLOSS Weekly Show]



Aktuelle Version vom 2. April 2025, 01:09 Uhr

Gambas


Gambas-IDE
Basisdaten

Entwickler Benoît 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 (quelloffen)
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 ist von Visual Basic inspiriert und sollte ursprünglich die Vorteile von Visual Basic (VB) auf Linux-Desktops wie KDE oder Gnome verfügbar machen, wurde aber zu einem eigenständigen BASIC für Linux und Unix weiterentwickelt. Trotz vieler Gemeinsamkeiten sind VB und Gambas nicht äquivalent: Gambas ist grundsätzlich stark typisiert (entspricht VB mit 'Option Explicit On'), enthält jedoch auch den Variant-Typ, der jegliche Typen enthalten darf. In Gambas gibt es keine ActiveX-Steuerelemente, sie sind durch eigene Objekte ersetzt worden. Dadurch können VB-Formulare nicht in Gambas importiert werden, sondern müssen neu erstellt werden. Allerdings kann bereits vorhandener VB- oder VBA-Code in großen Teilen wiederverwendet werden, wodurch Gambas sich für die Portierung vorhandener VB- oder VBA-Anwendungen nach Linux eignet. Umgekehrt lässt sich Gambas auch im Windows-Subsystem für Linux betreiben.[3]

Weitere Einzelheiten

[Bearbeiten | Quelltext bearbeiten]

Gambas-Programme werden normalerweise – kompiliert, als Bytecode gepackt und in ausführbare Dateien gespeichert – von einem Interpreter ausgeführt. Ab Version 3.2 kann zusätzlich eine Just-in-time-Kompilierung aktiviert werden. Dabei wird das BASIC-Programm beim Programmstart nach C übersetzt, was die Geschwindigkeit zur Laufzeit erheblich verbessert.[4] 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 können alle Kerne des Prozessors zum Rechnen benutzt werden[5], außerdem können Gambas-Programme in ausführbaren Textdateien als Skripte ausgeführt werden.[6]

Gambas wird seit 1999 hauptsächlich von dem Franzosen Benoît Minisini entwickelt und ist durch die Hilfe vieler Übersetzer auch in vielen weiteren Sprachen (u. a. Deutsch, Englisch, Spanisch, Türkisch und Chinesisch) verfügbar.[7] Es wurde zudem unter der GPL veröffentlicht und ist daher quelloffen.

Gambas ist eine der wenigen quelloffen 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-Anwendungen (englisch multimedia applications) und Spiele schreiben. In der aktuellen Version 3 wird D-Bus unterstützt, sodass sich Gambas-Programme in aktuelle Desktop-Oberflächen integrieren lassen.[8]

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 Anwendungen können anderen Gambas-Benutzern über die Gambas-Software-Farm zur Verfügung gestellt werden. Im Gambas-Playground ist es möglich, kleine Programme online zu bearbeiten und zu starten.[9]

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 Testgetriebene Entwicklung, aber auch automatisiertes Unittesting ermöglichen und so zur Stabilität des mit der Sprache erstellten Codes beitragen. Mit der Version 3.17 haben neben weiteren Neuerungen Namespaces in die Sprache Einzug gehalten.

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

Einzelnachweise

[Bearbeiten | Quelltext bearbeiten]
  1. lists.gambas-basic.org.
  2. a b openhub.net.
  3. Gambas on Windows (englisch) – Veröffentlichung im Gambas-Forum, am 17. Januar 2020
  4. Gambas Benchmarks
  5. Die Klasse Task in der Gambas Referenz
  6. Gambas Skripting
  7. Hall Of Fame (englisch) – dort mit den Entwicklern (englisch Developers) und Übersetzern (Translators)
  8. Frank Wieduwilt: Basic-Programme entwickeln mit Gambas. In: LinuxUser 04/2005. Abgerufen am 23. Januar 2023 (deutsch).
  9. Gambas Playground