# Gambas (langage)

Gambas est un langage de programmation interprété orienté objet utilisant la syntaxe du BASIC, disponible pour GNU/Linux et autres systèmes Unix ou assimilés. Il est accompagné d'un interpréteur et d'un IDE, lui-même écrit en Gambas.
Gambas se donne pour objectif de reproduire la facilité d'utilisation de Visual Basic en améliorant ses fonctionnalités. Bien que son interpréteur ne soit pas compatible avec les programmes dont le code source est écrit en Visual Basic, Gambas est lui aussi dérivé du BASIC et orienté objet. Il n'est pas un clone de Visual Basic, son auteur insiste sur ce point, mais constitue une solution pertinente pour les utilisateurs du Visual Basic souhaitant créer des applications pour Linux/Unix sans passer à un environnement totalement différent.
Gambas est un logiciel libre diffusé sous la licence GNU GPL, développé principalement à Paris depuis 1999 par Benoît Minisini.
Gambas est l'acronyme récursif de Gambas almost means Basic (en français, « Gambas veut presque dire Basic »). C'est aussi le nom espagnol d'une crevette de mer, l'Aristeidae, dont provient le logo du projet.
Gambas est amélioré continuellement et peut être conseillé à tous les utilisateurs de Linux/Unix qui souhaitent mettre à profit leurs connaissances BASIC sous licence GNU.
Gambas est disponible sous forme de paquets RPM ou Deb pour de nombreuses distributions Linux, notamment Debian, Ubuntu, SuSE ou encore Mandriva.

## Fonctionnalités

Avec Gambas, il est notamment possible de :
* développer une application en ligne de commande,
* développer une interface graphique utilisant indifféremment Qt ou GTK+,
* utiliser des bases de données MySQL, PostgreSQL, SQLite, Firebird ou toute base de données utilisant ODBC,
* piloter des applications KDE avec DCOP,
* internationaliser les applications,
* adapter (il ne suffit pas de les copier, même si un module aide la transposition) des programmes Visual Basic sous Linux,
* créer des applications réseaux, et utiliser directement les protocoles HTTP, FTP, DNS, SMTP,
* réaliser des programmes utilisant SDL ou OpenGL (ce qui permet par exemple de réaliser des jeux),
* créer des applications Web avec gestion de sessions.

## Particularités

* Gambas possède un faible nombre de classes et de symboles comparativement au nombre de fonctionnalités, ce qui facilite son apprentissage,
* L'interface graphique est presque complètement indépendante du toolkit (QT ou GTK+) utilisé.

## Exemple de programme en Gambas

Simple programme Hello world écrit en Gambas.
Programme qui calcule un polynôme de 100 termes 500 000 fois et le répète dix fois (utilisé pour les tests de performance).

## Alternatives

* Liste des dialectes Basic
* Visual Basic pour Windows

## Portage vers d'autres plates-formes/architectures

Gambas est théoriquement portable vers d'autres plates-formes. Son auteur principal, Benoît Minisini, a déclaré : « En pratique, le portage vers Windows est relativement compliqué, il ne m'intéresse pas, mais je suis prêt à aider quiconque veut se lancer là-dedans ». Les applications Gambas en ligne de commande fonctionnent sous Windows avec Cygwin.
Gambas fonctionne sous FreeBSD et Mac OS X.
Gambas fonctionne sur les architectures 64 bits.