Gambas - Gambas

Gambas
Gambas logo
Gambas 3 -logo
Gambas 2 logo
Gambas-3.3.4-Xfce-Fedora16.png
Gambas 3.3.4 kører på Fedora 16 med Xfce
Designet af Benoît Minisini
Første gang dukkede op 1999 ; 22 år siden ( 1999 )
Stabil udgivelse
3.16.2 / 14. juli 2021 ; 29 dage siden ( 2021-07-14 )
OS Linux , FreeBSD ; version til
Mac OS X og Haiku i gang; Microsoft Windows gennem Cygwin
Licens GNU GPLv2 +
Internet side http://gambas.sourceforge.net
Påvirket af
Visual Basic , Java

Gambas er navnet på en objektorienteret dialekt af det BASIC programmeringssprog , såvel som det integrerede udviklingsmiljø, der ledsager det. Designet til at køre på Linux og andre Unix-lignende computer styresystemer , dets navn er et rekursivt akronym for G ambas Et forhold: Næsten M eans Bas ic . Gambas er også ordet for rejer på det spanske , franske og portugisiske sprog, hvorfra projektets logoer stammer.

Historie

Gambas 1.0.15 kører fra KDE

Gambas blev udviklet af den franske programmør Benoît Minisini , med den første udgivelse i 1999. Benoît var vokset op med BASIC -sproget og besluttede at lave et gratis softwareudviklingsmiljø, der hurtigt og nemt kunne lave programmer med brugergrænseflader.

Gambas 1.x -versionerne havde en grænseflade bestående af flere forskellige separate vinduer til formularer og IDE -dialoger på samme måde som grænsefladen i tidligere versioner af GIMP . Det kunne også kun udvikle applikationer ved hjælp af Qt og var mere orienteret mod udviklingen af ​​applikationer til KDE . Den sidste udgivelse af 1.x -versionerne var Gambas 1.0.19.

Gambas 2.7 med russisk interface

Den første af 2.x -versionerne blev udgivet den 2. januar 2008 efter tre til fire års udvikling. Det bød på et større redesign af grænsefladen, nu med alle former og funktioner indlejret i et enkelt vindue, samt nogle ændringer af Gambas -syntaksen, selvom kodekompatibilitet for det meste blev bevaret. Det bød på store opdateringer af eksisterende Gambas -komponenter samt tilføjelse af nogle nye, såsom nye komponenter, der kunne bruge GTK+ eller SDL til tegning eller udnytte OpenGL -acceleration. Gambas 2.x -versioner kan indlæse og køre Gambas 1.x -projekter med lejlighedsvis inkompatibilitet; det samme gælder for Gambas 2.x til 3.x, men ikke fra Gambas 1.x til 3.x.

Den næste større iteration af Gambas, 3.x-versionerne, blev frigivet den 31. december 2011. Et benchmark fra 2015, der blev offentliggjort på Gambas-webstedet, viste, at Gambas 3.8.90-scripting var hurtigere i varierende grad end Perl 5.20.2 og den daværende seneste 2.7.10 version af Python i mange tests. Version 3.16.0, der blev udgivet den 20. april 2021, understøttede fuld understøttelse af Wayland ved hjælp af de grafiske komponenter samt paritet mellem Qt 5 og GTK 3 komponenter.

Funktioner

Gambas 2.7.0 kører på Fedora Linux med Blackbox

Gambas er designet til at bygge grafiske programmer ved hjælp af Qt (i øjeblikket Qt 4.x eller 5.x siden 3.8.0) eller GTK -værktøjssættet (GTK 3.x understøttes også fra 3.6.0); Gambas IDE er skrevet i Gambas. Gambas inkluderer en GUI-designer til at hjælpe med at oprette brugergrænseflader i en hændelsesdrevet stil, men kan også lave kommandolinjeapplikationer samt tekstbaserede brugergrænseflader ved hjælp af ncurses værktøjskasse. Gambas runtime -miljøet er nødvendigt for at køre eksekverbare filer.

Funktionalitet leveres af en række komponenter, som hver kan vælges for at give yderligere funktioner. Tegning kan leveres enten gennem Qt- og GTK -værktøjssæt med en ekstra komponent, der er designet til at skifte mellem dem. Tegning kan også leveres via Simple DirectMedia Layer (oprindeligt version 1.x, med 2.x tilføjet fra 3.7.0), som også kan bruges til lydafspilning via en separat lydkomponent (en komponent til OpenAL -specifikationen har også tilføjet). GPU -accelerationsunderstøttelse er tilgængelig via en OpenGL -komponent samt anden hardware, der funktionelt leveres af forskellige andre komponenter. Der er også komponenter til håndtering af andre specialiserede opgaver.

Et af eksemplerne, der kører inde i Gambas 3 IDE
Spil: Stars War lavet i Gambas3

Med Gambas kan udviklere også bruge databaser som MySQL eller PostgreSQL, bygge KDE (Qt) og GNOME GTK -applikationer med DCOP , oversætte Visual Basic -programmer til Gambas og køre dem under Linux, bygge netværksløsninger og oprette CGI -webapplikationer. IDE indeholder også et værktøj til oprettelse af installationspakker , der understøtter GNU Autotools , slackpkg , pacman , RPM og debs (de to sidstnævnte blev derefter skræddersyet til specifikke distributioner såsom Fedora / RHEL / CentOS , Mageia , Mandriva , OpenSUSE og Debian , Ubuntu / Mint ).

Gambas siden version 3.2 IDE har integreret profiler, og det begyndte at bruge Just-in-time kompileringsteknologi .

Forskelle fra Visual Basic

Gambas er beregnet til at give en lignende oplevelse som at udvikle sig i Microsoft Visual Basic , men det er ikke en gratis software -klon af det populære proprietære program. Forfatteren af ​​Gambas gør det klart, at der er ligheder med Visual Basic, f.eks. Syntaks for BASIC -programmer og det integrerede udviklingsmiljø; Gambas blev skrevet fra starten for at være et eget udviklingsmiljø og søger at forbedre formlen.

Dens objektmodel , hvor hver klasse er repræsenteret i en fil, samt arkiveret til at pakke programmet er alle inspireret af programmeringssproget Java . Gambas er tænkt som et alternativ til tidligere Visual Basic -udviklere, der har besluttet at migrere til Linux. Der er også andre vigtige forskelle mellem Gambas og Visual Basic. Et bemærkelsesværdigt eksempel er, at i Gambas -array starter indekser altid med 0, hvorimod Visual Basic -indekser kan starte med 0 eller 1. Gambas understøtter også += og -= stenografien, der ikke findes i klassisk Visual Basic. Begge disse er imidlertid funktioner i Visual Basic .NET .

Adoption

Flere programmer og mange former for eksempelkode er blevet skrevet ved hjælp af og til Gambas. Den 28. oktober 2012 opregnede Freecode (tidligere Freshmeat) 23 applikationer, der blev udviklet ved hjælp af Gambas, mens Gambas -wikien angav 82; flere andre specialiserede websteder viser Gambas -applikationer og -kode. En Gambas -skriftlig applikation, kaldet Gambas3 ShowCase, fungerede som et softwarecenter til at downloade eller installere Gambas 3 -applikationer. Det er siden blevet afbrudt efter lanceringen af ​​den første part Gambas Software Farm integreret i IDE siden 3.7.1, som indeholder næsten 500 applikationer og demoer. Flere community -websteder, herunder community -fora og mailinglister, findes også for Gambas. En bemærkelsesværdig applikation skrevet i Gambas er Xt7-player-mpv, en GUI-frontend for mpv- afspiller, der findes i en række Linux-softwarelager.

Tilgængelighed

Gambas er inkluderet i lagrene af en række Linux -distributioner , såsom Debian , Fedora , Mandriva Linux og Ubuntu . En Microsoft Windows- version af Gambas blev kørt under Cygwin- miljøet, selvom denne version var betydeligt mindre testet end dens Linux-modstykker og kun var kommandolinje; Cooperative Linux og derivater er også blevet brugt, samt specialiserede Linux virtuelle maskiner . En uafhængig bidragyder, François Gallo, arbejdede også med at overføre Gambas 3.x til Mac OS X og FreeBSD , baseret på at bruge lokale versioner af X11 -systemet. Gambas fra version 3.2 kan køre på Raspberry Pi og tilbyder just-in-time kompilering der fra version 3.12.

I november 2013 blev den fremtidige portabilitet af Gambas diskuteret, idet de vigtigste bekymringer er Linux-kernefunktioner , der bruges i tolken, komponenter, der bruger Linux-specifik software og biblioteker, og primært X11-binding i Qt-, GTK- og desktop-integrationskomponenterne. Men delvis på grund af behovet for at opgradere til nyere værktøjssæt som GTK 3 (tilføjet fra 3.6.0) og Qt 5 (fra 3.8.0), ville fremtidige versioner være mindre X11 -bundne, hvilket gør projekter som Cygwin eller helt native versioner på andre platforme mere mulige. Benoît Minisini udtalte, at han havde til hensigt at "indkapsle" X11 -specifik kode for at hjælpe i ethvert forsøg på at erstatte den, idet X11 -understøttelsen i skrivebordskomponenten flyttede til sin egen komponent fra 3.6.0.

Den 27. oktober 2016 blev der frigivet et skærmbillede og en installationsguide fra hovedsiden til fuldstændig kørsel af Gambas gennem Cygwin, inklusive de fleste komponenter, grafiske værktøjskasser og den komplette IDE. De relevante patches blev fastlagt fra version 3.9.2. Dette erstatter den tidligere anbefalede metode til brug af freenx -videresendelse fra en Linux -server . Det er også blevet kørt med succes ved hjælp af Windows Subsystem til Linux ., Dette gøres normalt ved hjælp af en X -terminalemulator, sådan Mobaxterm på Windows, da WSL ikke understøtter X11 -grafik direkte.

Eksempel kode

En "Hej, verden!" program med grafisk brugergrænseflade.

Public Sub Main()
    Message("Hello, World!")
End

Program, der beregner et 100-termet polynom 500000 gange og gentager det ti gange (bruges til benchmarking ).

Private Sub Test(X As Float) As Float

    Dim Mu As Float = 10.0
    Dim Pu, Su As Float
    Dim I, J, N As Integer
    Dim aPoly As New Float[100]

    N = 500000

    For I = 0 To N - 1
        For J = 0 To 99
           Mu =  (Mu + 2.0) / 2.0
           aPoly[J] = Mu
        Next
        Su = 0.0
        For J = 0 To 99
            Su = X * Su + aPoly[J]
        Next
        Pu += Su
    Next

    Return Pu

End

Public Sub Main()

    Dim I as Integer

    For I = 1 To 10
        Print Test(0.2)
    Next

End

Se også

Referencer

Yderligere læsning

eksterne links