Page de démarrage > doc > release 
 en de es it nl pl pt pt_BR mk sq ca hu tr ar fa vi ko ja ru zh zh_TW eo
Précédent  Suivant  Éditer  Renommer  Annuler  Rafraîchir  Rechercher  Administration  
Documentation
Historique
 
Gambas, c'est quoi ?

Introduction

La nouvelle mascotte
de Gambas 2
Gambas est un langage orienté objet dont l'environnement de développement est construit sur un interpréteur BASIC. Il est disponible sous la licence publique générale GNU.

Son architecture s'inspire largement de celle de Java. Ainsi Gambas est constitué:

Le compilateur est un petit exécutable rapide écris en C: L'interpréteur est un petit exécutable écrit lui-aussi en C qui pèse moins de 180 ko: Enfin, l'archiveur est un programme qui créé un exécutable Gambas à partir d'un répertoire projet de Gambas.

Notez qu'un exécutable Gambas est simplement une archive non compressée d'un projet. Il peut inclure n'importe quel type de fichier, pas seulement du bytecode compilé. L'interpréteur y accède en interne comme à un système de fichier.

Le langage Gambas

Les caractéristiques principales du langage BASIC de Gambas sont:

Mais Gambas est aussi un véritable langage orienté objet, possédant: Le mécanisme d'héritage de gambas est entièrement dynamique et vous permet de: N'importe quelle classe peut être héritée, réimplémentée ou surchargée, même les classes natives écrites en C/C++.

Finalement, il existe une classe native appelée Observer, qui vous permet d'intercepter tous les évènements générés par n'importe quel objet.

Un langage extensible

Le coeur de Gambas, l'interpréteur, est un programme en ligne de commande. Toutes les autres fonctionnalitées sont fournies par les composants, qui sont un ensemble de classes écrites en C/C++, ou bien directement en Gambas.

Ces composants fournissent entre autres:

Au jour d'aujourd'hui, l'ensemble de ces fonctionnalitées est couverte par 351 classes et 4197 symboles seulement. Il y a donc un petit nombre de concepts à apprendre lorsque l'on compare avec d'autres langages. De plus, nous essayons de rendre les noms de ces symboles aussi cohérents que possible.

Tout cela rend Gambas relativement simple à apprendre.

Les composants écrits en C/C++ sont stockés dans des bibliothèques partagées, et les composants écrits en Gambas sont simplement des projets Gambas tout ce qu'il y a de normaux.

Ils sont chargés par l'interpréteur au démarrage du programme ou à la demande pendant l'exécution.

Développer un composant en C/C++ est un peu comme développer un pilote matériel pour le noyau Linux:

La documentation traitant de l'écriture des composants n'est pas encore terminée, mais toute l'aide nécessaire sera apportée sur la mailing-list des développeurs.

Un langage de script

Gambas est depuis peu utilisable en tant que langage de script. Cette fonctionnalité est fournie par le scripteur, un petit exécutable Gambas qui vous permet d’envoyer n'importe quel code Gambas dans un fichier texte.

Voici un petit exemple de script :

#!/usr/bin/env gbs2

' Ce script retourne la mémoire réellement utilisée par le système, le cache et le swap sont exclus.

FUNCTION GetUsedMemory() AS Integer

  DIM sRes AS String
  DIM aRes AS String[]
  DIM cVal AS NEW Collection
  DIM sVal AS String

  EXEC ["cat", "/proc/meminfo"] TO sRes

  FOR EACH sVal IN Split(sRes, "\n", "", TRUE)
    aRes = Split(sVal, " ", "", TRUE)
    cVal[Left$(aRes[0], -1)] = CInt(aRes[1])
  NEXT

  RETURN cVal!MemTotal - cVal!MemFree - cVal!Buffers - cVal!Cached + cVal!SwapTotal - cVal!SwapFree - cVal!SwapCached

END

PRINT Subst("Mémoire utilisée: &1 Kb", GetUsedMemory())

Indépendance avec les bases de données, l'interface graphique et le bureau

Les composants de Gambas ne se contentent pas d'être de simple "bindings" de bibliothèque. Ils fournissent autant que possible une abstraction de l'interface des bibliothèques sous-jacentes, afin de gagner en cohérence et en simplicité.

Par conséquent, avec Gambas, vous pouvez écrire des programmes qui sont:

Ainsi, Gambas fournit un outil de gestion de base de données qui vous permet :
Le gestionnaire de base de données sous KDE Le gestionnaire de base de données sous XFCE

De plus, nous essayons de fournir aussi une indépendance vis-à-vis des différent bureaux, par :

L'Environnement de Développement

Gambas fournit un environnement de développement intégré complet, lui-même écrit en Gambas.

Vous pouvez créer des formulaires, insérer des contrôles simplement en les dessinant, éditer votre code, et faire de multiples autres chose comme n'importe quel autre système de développement rapide.

L'IDE en mode création L'IDE en mode déboguage

L'environnement de développement de Gambas fournit les fonctionnalités suivantes:

L'éditeur de code source L'éditeur d'icones La boite de dialogue de traduction

Les trois premiers onglets de la boite de dialogue des propriétés d'un projet.

De plus, il peut générer les paquets d'installation de nombreuses distributions, ainsi que des paquets d'installation tar.gz basés sur les "autotools" de GNU.

Les distributions GNU/Linux suivantes sont supportées:

Les paquets générés par l'IDE fonctionnent seulement si la distribution cible a correctement empaqueté Gambas comme indiqué sur la page How To Package Gambas du wiki. Ce n'est malheureusement pas toujours le cas pour le moment.

Enfin, même si l'environnement de développement est très lié au langage Gambas, il n'est formellement pas nécessaire de l'utiliser pour créer des programmes Gambas.

Problèmes

Afin que personne ne puisse dire que cet essai ressemble à de la publicité :-), nous devons mentionner qu'il y a encore quelques limitations à Gambas.

Les principales sont:

Heureusement, le but est de résoudre ces problèmes pour la prochaine version.

Le Futur

...n'est pas prévisible, et encore moins celui de Gambas.

Grâce a un script Perl utilisant les modules Positronic::Variables et Quantum::Superposition, nous avons réussi à savoir ce que la prochaine version devrait apporter:

Gambas est un logiciel libre. Donc, contrairement aux logiciels propriétaires, ce qui est promis peut ne pas être toujours délivré à temps, voire pas du tout. :-)

Téléchargement de Gambas et autres liens

Vous pouvez télécharger Gambas à http://gambas.sourceforge.net/download.html.

Pour plus d'informations sur Gambas, voici quelques liens:

Vous pouvez rapporter les problèmes et les bogues sur les mailing-lists ou sur le bug tracker à http://gambasrad.org.

Nous espérons que vous éprouverez autant de plaisir avec Gambas que nous ! :-)

Benoît Minisini

"Lorsque vous voulez faire quelque chose, vous avez contre vous tous les gens qui font la même chose, tous ceux qui font le contraire, et la très grande majorité des gens qui ne font rien." - Confucius.

Version française: Fabien Bodard, Laurent Carlier, Benoît Minisini.

Document original en anglais, et autres traductions: http://gambasdoc.org/help/doc/release?en