Gambas

Da Gambas-it.org - Wikipedia.

Gambas è un potente ambiente per lo sviluppo di applicazioni per piattaforme *nix basato sul linguaggio BASIC con estensione agli oggetti. Gambas indica al contempo sia l'IDE (Integrated Development Environment), vale a dire l'ambiente di sviluppo, sia il linguaggio stesso. L'interprete di Gambas è scritto in C/C++ ma tutto l'IDE è scritto in Gambas. Gambas gira sia su sistemi a 32 che a 64 bit.

Con Gambas è possibile realizzare applicazioni stand-alone con GUI basate su GTK o Qt, accedere ai database MySQL, PostgreSQL, Firebird, ODBC ed SQLite, pilotare le applicazioni KDE con DCOP, realizzare applicazioni 3D con OpenGL ed anche applicazioni web basate su CGI. E' inoltre possibile tradurre i propri progetti per renderli internazionali.


Nascita di Gambas

Gambas è opensource ed è nato nel 1999 dalla mente di Benoit Minisini.

L'idea era quella di realizzare un ambiente di sviluppo per Linux che fosse facile ed immediato e con alla base un linguaggio di programmazione semplice ma potente. Decise quindi di ispirarsi al Visual Basic di Microsoft per quanto concerneva l'ambiente di sviluppo ed al Java per le classi e gli oggetti e per l'organizzazione dei file; come linguaggio fu scelto il BASIC, sia per la sua semplicità sia perché era stato il primo linguaggio imparato da Minisini.

Rimaneva da scegliere il nome di questo nuovo ambiente. Come spiega il "padre" di Gambas, negli anni Novanta andava di moda chiamare i nuovi linguaggi di programmazione con nomi di animali: Python (in realtà il nome del Python deriva dal gruppo comico inglese "Monthy Python" ma, oggi, tutti tendono ad identificare questo linguaggio con l'omonimo serpente), Camel, Bonobo, ecc... Minisini ricercava anche un acronimo che fosse ricorsivo con l'idea alla base di Gambas, cioè quella di un linguaggio molto simile al BASIC. Fu scelto perciò GAMBAS, che in spagnolo significa Gambero (ecco quindi l'animale) ma che è anche l'acronimo di Gambas Almost Means BASic (Gambas più o meno significa BASIC).

E' doverosa una puntualizzazione. Anche se molto spesso si tende ad indicare la similitudine con il Microsoft Visual Basic per spiegare ai profani a cosa più assomiglia, Gambas non è un clone di questo linguaggio e le applicazioni dell'uno non possono girare sull'altro: i punti di contatto sono limitati al linguaggio di base.


Architettura

L'architettura di Gambas è largamente ispirata da quella di Java. Gambas è costituito da

  • un compilatore;
  • un interprete;
  • un archiviatore;
  • uno scripter;
  • un ambiente di sviluppo;
  • molti componenti per estendere il linguaggio.


Il compilatore

Il compilatore è un eseguibile scritto in C. E' capace di compilare circa 128.000 linee di codice in un secondo su un AMD Athlon 2000+. Questa velocità permette un processo di sviluppo molto rapido perché si riduce il tempo di test rispetto a linguaggi prettamente compilati come il C. Il compilatore è capace di gestire e compilare le stringhe di traduzione per l'internazionalizzazione dei progetti grazie a strumenti quali gettext. Il compilatore crea un file composto da bytecode, uno speciale codice a metà fra Gambas ed il codice macchina puro, più veloce da eseguire rispetto al linguaggio di partenza.


L'interprete

L'interprete è un piccolo eseguibile (meno di 190 KB) scritto anch'esso in C. Esso carica le classi quando richiesto, ottimizzando il bytecode la prima volta che viene eseguito. Il link fra le classi viene eseguito interamente durante l'esecuzione del codice solo nel momento del reale utilizzo: in questo modo anche grandi eseguibili si avviano molto rapidamente.


Licenza

Gambas è rilasciato sotto licenza Gnu GPL.