Gambas - Gambas

Gambas
Logotipo Gambas
Logotipo do Gambas 3
Logotipo do Gambas 2
Gambas-3.3.4-Xfce-Fedora16.png
Gambas 3.3.4 rodando em Fedora 16 com Xfce
Projetado por Benoît Minisini
Apareceu pela primeira vez 1999 ; 22 anos atras ( 1999 )
Versão estável
3.16.2 / 14 de julho de 2021 ; 29 dias atrás ( 2021-07-14 )
SO Linux , FreeBSD ; versão para
Mac OS X e Haiku em andamento; Microsoft Windows através do Cygwin
Licença GNU GPLv2 +
Local na rede Internet http://gambas.sourceforge.net
Influenciado por
Visual Basic , Java

Gambas é o nome de um dialeto orientado a objetos da linguagem de programação BASIC , bem como do ambiente de desenvolvimento integrado que o acompanha. Projetado para rodar em Linux e outros sistemas operacionais de computador semelhantes ao Unix , seu nome é um acrônimo recursivo para G ambas A lmost M eans Bas ic . Gambas também é a palavra para camarões nos idiomas espanhol , francês e português , dos quais derivam os logotipos do projeto.

História

Gambas 1.0.15 rodando do KDE

O Gambas foi desenvolvido pelo programador francês Benoît Minisini , com seu primeiro lançamento em 1999. Benoît cresceu com a linguagem BASIC e decidiu fazer um ambiente de desenvolvimento de software livre que pudesse rápida e facilmente fazer programas com interfaces de usuário.

As versões do Gambas 1.x apresentavam uma interface composta de várias janelas separadas diferentes para formulários e diálogos IDE de maneira semelhante à interface de versões anteriores do GIMP . Ele também só podia desenvolver aplicativos usando Qt e era mais orientado para o desenvolvimento de aplicativos para KDE . O último lançamento das versões 1.x foi o Gambas 1.0.19.

Gambas 2.7 com interface russa

A primeira das versões 2.x foi lançada em 2 de janeiro de 2008, após três a quatro anos de desenvolvimento. Apresentou uma grande reformulação da interface, agora com todos os formulários e funções embutidos em uma única janela, bem como algumas alterações na sintaxe do Gambas, embora na maioria das vezes a compatibilidade de código foi mantida. Ele apresentava atualizações importantes para os componentes existentes do Gambas, bem como a adição de alguns novos, como novos componentes que poderiam usar GTK + ou SDL para desenhar ou utilizar aceleração OpenGL . Versões 2.x do Gambas podem carregar e rodar projetos 1.x do Gambas, com incompatibilidades ocasionais; o mesmo vale para Gambas 2.x a 3.x, mas não de Gambas 1.x a 3.x.

A próxima grande iteração do Gambas, as versões 3.x, foi lançada em 31 de dezembro de 2011. Um benchmark de 2015 publicado no site do Gambas mostrou que o script do Gambas 3.8.90 era mais rápido em vários graus do que o Perl 5.20.2 e o então versão 2.7.10 mais recente do Python em muitos testes. A versão 3.16.0 lançada em 20 de abril de 2021, apresentava suporte completo para o Wayland usando os componentes gráficos, bem como paridade entre os componentes Qt 5 e GTK 3.

Recursos

Gambas 2.7.0 rodando em Fedora Linux com Blackbox

Gambas é projetado para construir programas gráficos usando Qt (atualmente Qt 4.x ou 5.x desde 3.8.0) ou o kit de ferramentas GTK (GTK 3.x também suportado a partir de 3.6.0); o IDE Gambas é escrito em Gambas. Gambas inclui um designer de GUI para auxiliar na criação de interfaces de usuário em um estilo orientado a eventos , mas também pode fazer aplicativos de linha de comando , bem como interfaces de usuário baseadas em texto usando o kit de ferramentas ncurses . O ambiente de execução Gambas é necessário para executar executáveis.

A funcionalidade é fornecida por uma variedade de componentes, cada um dos quais pode ser selecionado para fornecer recursos adicionais. O desenho pode ser fornecido por meio de kits de ferramentas Qt e GTK, com um componente adicional projetado para alternar entre eles. O desenho também pode ser fornecido por meio do Simple DirectMedia Layer (originalmente versão 1.x, com 2.x adicionado a partir de 3.7.0), que também pode ser utilizado para reprodução de áudio por meio de um componente de som separado (um componente para a especificação OpenAL tem também foi adicionado). O suporte para aceleração de GPU está disponível por meio de um componente OpenGL , bem como outro hardware fornecido funcionalmente por vários outros componentes. Existem também componentes para lidar com outras tarefas especializadas.

Um dos exemplos rodando dentro do IDE Gambas 3
Jogo: Guerra das Estrelas feito em Gambas3

Com o Gambas, os desenvolvedores também podem usar bancos de dados como MySQL ou PostgreSQL, construir aplicativos KDE (Qt) e GNOME GTK com DCOP , traduzir programas Visual Basic para Gambas e executá-los no Linux, construir soluções de rede e criar aplicativos web CGI. O IDE também inclui uma ferramenta para a criação de pacotes de instalação , suportando GNU Autotools , slackpkg , pacman , RPM e debs (os dois últimos adaptados para distribuições específicas como Fedora / RHEL / CentOS , Mageia , Mandriva , OpenSUSE e Debian , Ubuntu / Mint ).

Gambas desde a versão 3.2 IDE integrou o profiler e começou a usar a tecnologia de compilação Just-in-time .

Diferenças do Visual Basic

O Gambas se destina a fornecer uma experiência semelhante ao desenvolvimento no Microsoft Visual Basic , mas não é um clone de software livre do popular programa proprietário. O autor de Gambas deixa claro que existem semelhanças com o Visual Basic, como sintaxe para programas BASIC e o ambiente de desenvolvimento integrado; O Gambas foi escrito desde o início para ser um ambiente de desenvolvimento próprio e busca melhorar a fórmula.

Seu modelo de objeto , cada classe sendo representada em um arquivo, bem como o arquivador para empacotar o programa, são todos inspirados na linguagem de programação Java . O Gambas pretende ser uma alternativa para ex-desenvolvedores de Visual Basic que decidiram migrar para o Linux. Existem também outras distinções importantes entre Gambas e Visual Basic. Um exemplo notável é que em Gambas os índices de matriz sempre começam com 0, enquanto os índices do Visual Basic podem começar com 0 ou 1. Gambas também suporta a abreviação + = e - = não encontrada no Visual Basic clássico. No entanto, ambos são recursos do Visual Basic .NET .

Adoção

Vários programas e muitas formas de código de exemplo foram escritos usando e para o Gambas. Em 28 de outubro de 2012, Freecode (anteriormente Freshmeat) listava 23 aplicativos que foram desenvolvidos usando o Gambas, enquanto o wiki do Gambas listava 82; vários outros sites especializados listam aplicativos e códigos do Gambas. Um aplicativo escrito pelo Gambas, chamado Gambas3 ShowCase, agia como um centro de software para baixar ou instalar aplicativos Gambas 3. Desde então, ele foi descontinuado após o lançamento do Gambas Software Farm integrado ao IDE desde 3.7.1, que contém cerca de 500 aplicativos e demos. Vários sites de comunidades, incluindo fóruns de comunidades e listas de discussão, também existem para o Gambas. Um aplicativo notável escrito em Gambas é o Xt7-player-mpv, uma interface gráfica para o reprodutor de mpv contido em vários repositórios de software Linux.

Disponibilidade

Gambas está incluído nos repositórios de várias distribuições Linux , como Debian , Fedora , Mandriva Linux e Ubuntu . Uma versão do Gambas para Microsoft Windows foi executada no ambiente Cygwin , embora esta versão tenha sido significativamente menos testada do que suas contrapartes do Linux e fosse apenas de linha de comando; Linux cooperativo e derivados também foram usados, bem como máquinas virtuais Linux especializadas . Um contribuidor independente, François Gallo, também trabalhou no porte do Gambas 3.x para Mac OS X e FreeBSD , baseado no uso de versões locais do sistema X11 . O Gambas da versão 3.2 pode ser executado no Raspberry Pi e oferece uma compilação just-in-time a partir da versão 3.12.

Em novembro de 2013, a futura portabilidade do Gambas foi discutida, listando as principais preocupações sendo os recursos do kernel do Linux utilizados no interpretador, componentes que usam software e bibliotecas específicos do Linux e, principalmente, vinculação de X11 no Qt, GTK e componentes de integração de desktop. No entanto, em parte devido à necessidade de atualizar para kits de ferramentas mais recentes, como GTK 3 (adicionado a partir de 3.6.0) e Qt 5 (a partir de 3.8.0), as versões futuras seriam menos vinculadas ao X11, tornando projetos como Cygwin ou totalmente nativos versões em outras plataformas mais possíveis. Benoît Minisini afirmou que pretendia "encapsular" o código específico do X11 para ajudar em qualquer tentativa de substituí-lo, com o suporte ao X11 no componente desktop movido para seu próprio componente a partir de 3.6.0.

Em 27 de outubro de 2016, um guia de captura de tela e configuração foi lançado na página principal para a execução completa do Gambas por meio do Cygwin, incluindo a maioria dos componentes, kits de ferramentas gráficas e o IDE completo. Os patches relevantes foram desenvolvidos a partir da versão 3.9.2. Isso substitui o método recomendado anteriormente de usar o encaminhamento freenx de um servidor Linux . Ele também foi executado com sucesso usando o subsistema do Windows para Linux ., Isso geralmente é feito usando um emulador de terminal X, como Mobaxterm no Windows, pois o WSL não oferece suporte a gráficos X11 diretamente.

Código de exemplo

Um "Olá, mundo!" programa com interface gráfica do usuário.

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

Programa que calcula um polinômio de 100 termos 500.000 vezes e o repete dez vezes (usado para 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

Veja também

Referências

Leitura adicional

links externos