Gambas

De la Wikipedia, enciclopedia liberă.
Salt la navigare Salt la căutare
Gambas
limbaj de programare
Gambas2-logo.png
Autor Benoît Minisini
Data de origine 1999
Ultima versiune 3.16.2 (14 iulie 2021)
Utilizare generic
Paradigme Programare orientată pe obiecte
Tastare Puternic, static
Influențată de Visual Basic , Java
Implementare referință
Sistem de operare Linux
Licență GPL
Site-ul web gambas.sourceforge.net
Exemplul „MineGame” inclus în Gambas 3. Rularea este versiunea 3.8.0 pe sistemul Linux Mint 17.2.

Gambas este un object- orientat de programare limbaj disponibile pentru GNU / Linux platforme și alte Unix sau similare sistemelor a căror sintaxă se bazează pe BASIC limba. Gambas indică atât limba, cât și IDE , de asemenea, scrise în Gambas. Interpretul Gambas este scris în C / C ++ .

Gambas s-a născut în 1999 de mâna unui programator francez pe nume Benoît Minisini, care dorea să creeze un nou limbaj de programare pentru Linux, ușor de învățat și simplu de utilizat ca Visual Basic Microsoft , din care, totuși, nu este o clonă, subliniază el.cu decizie autorul său [1] . Deși foarte des avem tendința de a folosi asemănarea cu Visual Basic pentru a explica profanului cum este cel mai mult Gambas, punctele de contact sunt limitate la limbajul de bază, BASIC, dar sintaxa comenzilor și structura programelor este diferită atât de mult încât un program al unuia nu poate rula pe celălalt.

Gambas este software gratuit și este distribuit sub licența GPL .

Funcționalitate

Cu Gambas puteți:

Mediul său de dezvoltare (IDE) este un program complex scris în Gambas în sine, care permite utilizatorului să creeze interfețele programelor lor, pur și simplu plasând widget-uri pe ferestrele aplicației. IDE integrează un editor de cod cu funcții de completare automată pentru scrierea programelor rapid și ușor.

Limba Gambas

Gambas este un limbaj de programare orientat pe obiecte, structurat și imperativ , puternic și static . Aceasta înseamnă că verificarea tipurilor de date ale variabilelor se face la momentul compilării și că tipul de date pe care o va conține o variabilă nu poate fi modificat în timpul rulării.

Gambas este compus din aproximativ 250 de cuvinte cheie și funcții predefinite pentru a gestiona operațiuni aritmetice, manipula șiruri, intrări și ieșiri, fișiere, date și ore etc. Oferă un control complet al erorilor, control complet al procesului cu management pseudo-terminal, suport complet pentru internaționalizarea aplicațiilor, posibilitatea de a apela funcții externe.

Gambas este, de asemenea, un limbaj complet orientat spre obiecte . De fapt, gestionează:

Mecanismul de moștenire Gambas este complet dinamic și vă permite să:

  • creați o versiune mai specializată a unei clase existente;
  • reimplementați o clasă și extindeți-o;
  • metode de supraîncărcare sau proprietăți ale unei clase.

Orice clasă poate fi moștenită și reimplementată sau supraîncărcată, chiar și clase native scrise în C / C ++.

În cele din urmă, o clasă nativă numită Observer vă permite să interceptați orice eveniment ridicat de un obiect.

Limitări

Gambas nu permite să declare date nenumărate și nu acceptă structurile de date. În plus, componenta GTK + nu implementează toate caracteristicile celei care gestionează Qt (pe care se bazează Gambas IDE), astfel încât independența grafică a proiectelor față de desktopul utilizat nu este încă 100% completă.

Limbaj pseudo-compilat

Gambas nu este un limbaj compilat ca C , în care executabilul este creat în timpul compilării sursei, dar nici nu este un limbaj interpretat ca vechiul BASIC, unde fiecare instrucțiune este analizată și executată pe măsură ce fluxul de procesare trece prin listarea codului. Gambas poate crea așa-numitele „ executabile ”, care nu sunt altceva decât arhive necomprimate care conțin aplicația scrisă în Gambas convertită în bytecode , un pseudo cod la jumătatea distanței dintre limbajul mașinii pure și codul original scris în Gambas, pe care interpretul Gambas îl poate rula mai repede decât o interpretare comandă cu comandă a codului. Acest mod de operare este comun pentru alte limbi, cum ar fi Python sau Java : și ele traduc codul sursă în bytecode prima dată când programul este rulat, pentru a avea versiunea „mai rapidă” pregătită pentru execuțiile ulterioare.

Versiuni

Dezvoltarea Gambas a început în 1999, dar prima versiune a limbii care a fost publicată, 0,20, a fost lansată abia pe 28 februarie 2002. Gambas a fost inițial dezvoltat cu suport doar pentru bibliotecile Qt ale Trolltech . Această versiune a fost urmată de 3 ani de dezvoltare intensă, timp în care Gambas a fost îmbogățit cu comenzi, funcții și componente până la 1 ianuarie 2005, când a fost distribuită versiunea 1.0. Ultima actualizare a sucursalei 1.0 este datată 16 iulie 2007, odată cu lansarea versiunii 1.0.18. Gambas 1 nu mai este acceptat.

La 9 ianuarie 2005, a început dezvoltarea Gambas 2 , noua versiune a limbii. Printre numeroasele caracteristici noi, a fost adăugat suport pentru bibliotecile GTK + , iar numărul de componente și widgeturi grafice a fost mărit. Dezvoltarea a durat 3 ani, iar pe 2 ianuarie 2008 a fost lansată versiunea 2.0. Cea mai recentă versiune stabilă a ramurii 2.0 este 2.24.0, lansată pe 9 aprilie 2012. Gambas 2 nu mai este acceptat.

Gambas 3 a văzut lumina pe 31 decembrie 2011. IDE a fost reproiectat și bazat pe bibliotecile QT4 și au fost revizuite mai multe componente. Începând cu versiunea 3.8.0 din 1 august 2015, a fost adăugat suport pentru bibliotecile QT5. [2]

Exemple de cod

Iată clasicul Hello World din Gambas:

 SUB PUBLIC Principal ()
  IMPRIMĂ "Bună ziua lume!"
SFÂRȘIT

Exemplul de mai sus tipărește mesajul „Hello World!” pe terminal.

Acesta este același exemplu, dar folosind interfața grafică:

 PUBLIC SUB Form_Open ()
 Message.Info („Hello World!”)
SFÂRȘIT

Declarația Message.Info afișează o casetă de dialog care afișează mesajul: trebuie inserată în cadrul evenimentului Open () al formei principale a programului.

Gambas acceptă cicluri. Iată o buclă FOR..NEXT la locul de muncă:

 SUB PUBLIC Principal ()
  Variabil DIM AS Integer
    PENTRU variabilă = 0 până la 10
      PRINT "Number" & Str $ (variabilă)
    URMĂTORUL
SFÂRȘIT

Programul imprimă pe valoarea terminală a variabilei variabile. Aici observăm, de asemenea, tastarea puternică Gambas: variabilă și tipul său de date trebuie definite înainte de utilizare.

Arhitectură

Gambas constă din mai multe elemente:

  • mai întâi avem proiectul , un folder care conține clasele , modulele și formularele care alcătuiesc aplicația;
  • un compilator , numit gbc , care convertește proiectul în bytecode;
  • un arhivator , numit gba , care arhivează proiectul în bytecode într-un fișier executabil;
  • un interpret , numit gbx , care rulează proiectul compilat.

Compilatorul

Compilatorul este un executabil scris în C. Este capabil să compileze aproximativ 128.000 de linii de cod într-o secundă pe un AMD Athlon 2000+. Această viteză permite un proces de dezvoltare foarte rapid, deoarece timpul de testare este redus în comparație cu limbaje pur compilate, cum ar fi C. Compilatorul este capabil să gestioneze și să compileze șirurile de traducere pentru internaționalizarea proiectelor datorită instrumentelor precum Gettext . Compilatorul creează un fișier compus din bytecode, un cod special la jumătatea distanței dintre Gambas și codul pur al mașinii, mai rapid de executat decât limba sursă.

Interpretul

Interpretorul este un mic executabil (mai puțin de 190 KB) scris și în C. Încarcă clase atunci când este necesar, optimizând codul secundar prima dată când este rulat. Legătura dintre clase este executată în întregime în timpul executării codului doar în momentul utilizării reale: în acest fel chiar și executabilele mari încep foarte repede.

Arhivarul

Arhivatorul este un program care creează executabile Gambas începând din folderul proiectului. Rețineți că un executabil Gambas nu este altceva decât o arhivă necomprimată care poate conține orice tip de fișier, nu doar codul secundar compilat. Intern, interpretul accesează arhiva ca și cum ar fi un sistem de fișiere.

Originea numelui

Alegerea numelui este curioasă. Creatorul Gambas a observat că mai multe proiecte software aveau nume de animale (de exemplu: Bonobo ), iar limbajele de programare nu scăpau de această regulă (de exemplu: Camel ). Dar și-a dorit un nume care să-i amintească care este limba lui, și anume un derivat al BASIC. A fost ales astfel GAMBAS, care este „ acronimul recursiv G ambas A lmost M eans BAS IC (Gambas mai mult sau mai puțin înseamnă BASIC) dar care este și numele unui animal, deoarece cuvântul este spaniol pentru crevete [3] .

Notă

  1. ^ Gambas nu este o clonă Microsoft Visual Basic Arhivat la 20 iulie 2011 la Internet Archive . ( EN )
  2. ^ Note de versiune Gambas 3.8.0 , la gambaswiki.org , Gambas, 1 august 2015. Accesat la 3 septembrie 2015 .
  3. ^ Originile numelui explicate chiar de autorul lui Gambas Arhivat la 26 iulie 2011 la Internet Archive . ( EN )

Alte proiecte

linkuri externe

Informatică Portal IT : accesați intrările Wikipedia care se ocupă cu IT