Gambas

De la Viquipèdia, l'enciclopèdia lliure.
Saltar a la navegació Saltar a la cerca
Gambas
llenguatge de programació
Gambas2-logo.png
Autor Benoît Minisini
Data d’origen 1999
Última versió 3.16.2 (14 de juliol de 2021)
Ús genèric
Paradigmes Programació orientada a objectes
Escrivint Fort, estàtic
Influenciat per Visual Basic , Java
Implementació de referència
Sistema operatiu Linux
Llicència GLP
Lloc web gambas.sourceforge.net
L'exemple "MineGame" inclòs a Gambas 3. L'execució és la versió 3.8.0 del sistema Linux Mint 17.2.

Gambas és un llenguatge de programació orientat a objectes disponible per a plataformes GNU / Linux i altres sistemes Unix o similars , la sintaxi dels quals es basa en el llenguatge BASIC . Gambas indica l'idioma i l' IDE , també escrits en Gambas. L'intèrpret de Gambas està escrit en C / C ++ .

Gambas va néixer el 1999 de la mà d’un programador francès anomenat Benoît Minisini que volia crear un nou llenguatge de programació per a Linux, fàcil d’aprendre i senzill d’utilitzar com el Visual Basic de Microsoft , del qual, però, no és un clon, ja que assenyala amb decisió el seu autor [1] . Tot i que molt sovint solem utilitzar la semblança amb Visual Basic per explicar al profà com és Gambas, els punts de contacte es limiten al llenguatge bàsic, BASIC, però la sintaxi de les ordres i l'estructura dels programes és diferent Tant és així que no es pot executar un programa de l 'altre.

Gambas és un programari lliure que es distribueix sota la llicència GPL .

Funcionalitat

Amb Gambas podeu:

  • crear aplicacions autònomes amb interfície gràfica ( GUI ) basades en GTK + o Qt ;
  • accedir a bases de dades MySQL , PostgreSQL , Firebird , ODBC i SQLite ;
  • conduir aplicacions KDE amb DCOP ;
  • crear aplicacions 3D amb OpenGL ;
  • crear aplicacions web basades en CGI ;
  • podeu traduir els vostres projectes per fer-los internacionals.

El seu entorn de desenvolupament (IDE) és un programa complex escrit en el propi Gambas que permet a l'usuari crear les interfícies dels seus programes simplement col·locant ginys a les finestres de l'aplicació. L'IDE integra un editor de codi amb funcions de completament automàtic per escriure programes de forma ràpida i senzilla.

La llengua Gambas

Gambas és un llenguatge de programació orientat a objectes estructurat i imperatiu , amb un tipus fort i estàtic . Això significa que la comprovació dels tipus de dades de variables es fa en temps de compilació i que el tipus de dades que contindrà una variable no es pot canviar en temps d'execució.

Gambas està compost per unes 250 paraules clau i funcions predefinides per gestionar operacions aritmètiques, manipular cadenes, entrades i sortides, fitxers, dates i hores, etc. Ofereix un controlador d'errors complet, control de processos complet amb gestió de pseudo-terminals, suport complet per a la internacionalització d'aplicacions, possibilitat de trucar a funcions externes.

Gambas també és un llenguatge totalment orientat a objectes . De fet, gestiona:

El mecanisme d'herència Gambas és completament dinàmic i us permet:

  • crear una versió més especialitzada d'una classe existent;
  • reimplementar una classe i ampliar-la;
  • mètodes de sobrecàrrega o propietats d’una classe.

Qualsevol classe es pot heretar i reimplementar o sobrecarregar, fins i tot classes natives escrites en C / C ++.

Finalment, una classe nativa anomenada Observer us permet interceptar qualsevol esdeveniment plantejat per un objecte.

Limitacions

Gambas no permet declarar dades enumerables i no admet estructures de dades. A més, el component GTK + no implementa totes les funcions del que gestiona el Qt (en què es basa l’IDE ​​Gambas), de manera que la independència gràfica dels projectes respecte a l’escriptori utilitzat encara no està completa.

Llenguatge pseudo-compilat

Gambas no és un llenguatge compilat com C , on l’executable es crea durant la compilació de la font, però tampoc no és un llenguatge interpretat com l’antic BASIC, on cada instrucció s’analitza i s’executa a mesura que el flux de processament passa pel llistat de codis. Gambas pot crear els anomenats " executables ", que no són res més que arxius sense comprimir que contenen l'aplicació escrita en Gambas convertida en bytecode , un pseudo codi a mig camí entre el llenguatge pur de la màquina i el codi original escrit en Gambas, que l'interpret Gambas pot executar més ràpidament que una interpretació ordre per ordre del codi. Aquesta forma d’operar és comuna a altres llenguatges, com ara Python o Java : també tradueixen el codi font a bytecode la primera vegada que s’executa el programa, per tal de tenir la versió "més ràpida" a punt per a les execucions posteriors.

Versions

El desenvolupament de Gambas va començar el 1999, però la primera versió del llenguatge que es va publicar, 0.20, es va publicar només el 28 de febrer de 2002. Gambas es va desenvolupar inicialment només amb el suport de les biblioteques Qt de Trolltech . Aquesta versió va ser seguida per 3 anys d'intens desenvolupament durant els quals Gambas es va enriquir amb ordres, funcions i components fins a l'1 de gener de 2005, quan es va distribuir la versió 1.0. La darrera actualització de la sucursal 1.0 data del 16 de juliol de 2007, amb la versió 1.0.18. Gambas 1 ja no és compatible.

El 9 de gener del 2005 va començar el desenvolupament de Gambas 2 , la nova versió de la llengua. Entre les moltes funcions noves, s'ha afegit el suport per a les biblioteques GTK + i s'ha augmentat el nombre de components i ginys gràfics. El desenvolupament va durar 3 anys i el 2 de gener del 2008 es va llançar la versió 2.0. L'última versió estable de la branca 2.0 és la 2.24.0, publicada el 9 d'abril de 2012. Gambas 2 ja no és compatible.

Gambas 3 va veure la llum el 31 de desembre de 2011. L'IDE s'ha redissenyat i s'ha basat en les biblioteques QT4 i s'han revisat diversos components. A partir de la versió 3.8.0 de l'1 d'agost de 2015, s'ha afegit el suport per a les biblioteques QT5. [2]

Exemples de codi

Aquí teniu el clàssic Hello World a Gambas:

 SUB PÚBLIC Principal ()
  IMPRIMIR "Hola món!"
FINAL

L'exemple anterior imprimeix el missatge "Hola món!" a la terminal.

Aquest és el mateix exemple, però mitjançant la interfície gràfica:

 PUBLIC SUB Form_Open ()
 Message.Info ("Hola món!")
FINAL

La declaració Message.Info mostra un quadre de diàleg que mostra el missatge: s'ha d'inserir dins de l'esdeveniment Open () de la forma principal del programa.

Gambas admet cicles. Aquí teniu un bucle FOR..NEXT a la feina:

 PÚBLIC SUB Principal ()
  DIM variable com a enter
    FOR variable = 0 a 10
      PRINT "Number" & Str $ (variable)
    PRÒXIM
FINAL

El programa imprimeix sobre el valor terminal de la variable variable. Aquí també observem la forta escriptura de Gambas: variable i el seu tipus de dades s'han de definir abans del seu ús.

Arquitectura

Gambas consta de diversos elements:

  • primer tenim el projecte , una carpeta que conté les classes , mòduls i formularis que conformen l'aplicació;
  • un compilador , anomenat gbc , que converteix el projecte en bytecode;
  • un arxiu , anomenat gba , que arxiva el projecte en bytecode en un fitxer executable;
  • un intèrpret , anomenat gbx , que executa el projecte compilat.

El compilador

El compilador és un executable escrit en C. És capaç de compilar unes 128.000 línies de codi en un segon en un AMD Athlon 2000+. Aquesta velocitat permet un procés de desenvolupament molt ràpid perquè el temps de prova es redueix en comparació amb llenguatges purament compilats com C. El compilador és capaç de gestionar i compilar les cadenes de traducció per a la internacionalització de projectes gràcies a eines com Gettext . El compilador crea un fitxer compost per bytecode, un codi especial a mig camí entre Gambas i codi de màquina pur, més ràpid d’executar que el llenguatge origen.

L’intèrpret

L' intèrpret és un petit executable (menys de 190 KB) també escrit en C. Carrega classes quan es requereix, optimitzant el bytecode la primera vegada que s'executa. L'enllaç entre les classes s'executa completament durant l'execució del codi només en el moment del seu ús real: d'aquesta manera, fins i tot els executables grans comencen molt ràpidament.

L’arxiver

L' arxivador és un programa que crea executables de Gambas a partir de la carpeta del projecte. Tingueu en compte que un executable de Gambas no és res més que un arxiu sense comprimir que pot contenir qualsevol tipus de fitxer, no només el codi byt compilat. Internament l’intèrpret accedeix a l’arxiu com si es tractés d’un sistema de fitxers.

Orígens del nom

L’elecció del nom és curiosa. El creador de Gambas es va adonar que diversos projectes de programari tenien noms d'animals (per exemple: Bonobo ), i que els llenguatges de programació no escapaven d'aquesta regla (per exemple: Camel ). Però també volia un nom que recordés quina era la seva llengua, a saber, un derivat de BASIC. Va ser escollit així GAMBAS, que és l' acrònim recursiu G ambas A lmost M eans BAS IC (Gambas més o menys significa BASIC) però que també és el nom d'un animal, ja que la paraula és llagostí espanyol [3] .

Nota

  1. ^ Gambas no és un clon de Microsoft Visual Basic Arxivat el 20 de juliol de 2011 a Internet Archive . ( EN )
  2. ^ Notes de llançament de Gambas 3.8.0 , a gambaswiki.org , Gambas, 1 d'agost de 2015. Obtingut el 3 de setembre de 2015 .
  3. ^ Els orígens del nom explicats per l'autor del mateix Gambas Arxivat el 26 de juliol de 2011 a Internet Archive . ( EN )

Altres projectes

Enllaços externs

Informàtica Portal de TI : accediu a les entrades de Viquipèdia relacionades amb TI