Neste tutorial iremos desenvolver passo-a-passo um aplicação para 
acessar uma base de dados MySQL e exibir os registros de 
uma tabela com uma interface totalmente gráfica como na figura abaixo:
O que é o Gambas?
"Gambas é um ambiente gráfico de desenvolvimento baseado em um 
interpretador 
Basic com extensões orientadas ao objeto 
como 
Visual Basic (mas não é um clone!) sobre a plataforma 
Linux".
O Gambas IDEs (Ambiente Integrado de Desenvolvimento) é mantido 
por 
Benoit Minisini, um francês de 30 anos. Ele diz que 
Gambas não tenta torna-se compatível com Visual Basic, na 
verdade ele é uma linguagem Basic com objetos onde cada arquivo 
representa uma classe, você compila e depois executa usando o 
interpretador, bem ao estilo Java. 
Com Gambas, você pode desenvolver  programa GUI de acesso a bancos 
de dados MySQL ou PostgreSQL.
Gambas é composto de:
-  Um compilador;
-  Um interpretador;
-  Um arquivo;
-  Um componente de interface gráfica com o usuário;
-  Um ambiente de desenvolvimento;
-  O ambiente de desenvolvimento é escrito com o próprio Gambas, de forma que a demonstrar as habilidades da linguagem.
O Gambas trabalha com a arquitetura de Share Librarys (Bibliotecas Compartilhadas, o que seriam as referências de um projeto Visual Basic comum), ou seja, você pode adicionar à seu programa novas funcionalidades baseado em 
uma biblioteca existente (ou até mesmo criar a sua).
Forms são forms, classes são classes, você pode se perguntar qual a 
diferença, mas o Gambas diferencia um Form como um objeto que armazena 
somente seus objetos (labels, textbox, etc...), seu código (como o 
Evento Form_Open() - equivalente do Form_Load() ) fica armazenado em uma 
classe derivada do Form principal (que à ele ficará ligada internamente).
Ele possui um empacotador próprio para gerar RPMS (o equivalente a um 
Setup.exe) para distribuição do executável gerado.
Assim como o Visual Basic, o Gambas não compila código nativo, ele requer 
a instalação do GBX (Gambas X Interpretador) para interpretar o programa 
que está sendo executado.
* texto extraído de 
www.gambas.com.br/intro.htm
Diferenças
 
* texto extraído de 
www.expertaccess.com.br/tuxstok/index.html
Embora o Gambas não tenha o objetivo de ser um clone do VB, ele 
ainda é BASIC, e portanto existem muitas similaridades entre as duas 
linguagens, e muitas relações um-para-um entre suas características.
Existem mais similaridades do que diferenças, mas você não pode 
simplesmente copiar seu antigos projetos e esperar que eles compilem 
no Gambas.
Entre as principais diferenças, podemos destacar:
-  O Visual Basic embute o código de uma classe dentro de cada formulário 
ou objeto, resultando em um único arquivo que define a lógica e a 
interface. Gambas mantém as duas coisas separadas, em arquivos .form 
e .class.
-  No VB, arquivos de diversos projetos podem estar misturados em um único diretório. No Gambas, cada projeto tem o seu diretório. 
-  As medidas de tela no VB são feitas em "twips", unidades de 1/1440 de polegada. Gambas usa uma medida mais precisa, os "pixels".
O que o VB tem, que Gambas não tem?
-  No Gambas, você não consegue editar o código em break mode, precisando interromper a execução antes.
-  Em VB, parâmetros de procedimentos são passados por referência, a não ser que você use a cláusula ByVal. No Gambas, parâmetros de procedimentos são passados por valor.
-  Não existem variáveis de escopo global, para todo o projeto, em Gambas. Uma forma de contornar esta limitação é criar uma classe chamada Global, declarando suas variáveis como static e public, e referindo-se a elas como Global.VariableName. Assim, suas variáveis globais estarão claramente identificadas -- caso você realmente queira fazer uso deste recurso.
-  No VB, variáveis não precisam ser declaradas a não ser que você inclua a diretiva Option Explicit. Em Gambas, as variáveis precisam ser declaradas, sempre, o que resulta em código superior, mesmo que seja preciso um pouco mais de trabalho.
-  Em Gambas não existe a propriedade Index, que permite que componentes sejam agrupados no VB. É possível, porém, agrupá-los programaticamente.
-  O evento MouseMove apenas é executado quando o botão do mouse está pressionado, de forma que você não pode usá-lo para os tradicionais efeitos de "mouse over". Você pode, porém, criar tooltips com o uso de uma propriedade destinada a isso.
O que Gambas tem, que o VB não tem?
-  Ao contrário do VB, você pode escrever diretamente para a saída padrão; a interface gráfica é opcional.
-  Gambas possui o conceito de control groups, que permite lidar com eventos originados de diversos componentes a partir de uma única subrotina. Isto reduz a necessidade de código redundante, a chance de erros e ainda permite várias coisas que os índices do VB fazem - e muitas outras que o VB não faz.
-  Enquanto o VB torna impossível rodar programas sincronamente e receber sua saída sem o uso de complexas chamadas à API do Windows (Shell apenas executa um programa em background), Gambas permite que isto seja feito através dos comandos SHELL e EXEC, e do objeto Process. Isto permite que você aproveite uma miríade de recursos proporcionados por programas externos, criando front-ends para programas de linha de comando. Isto poderá representar um fator decisivo para o surgimento de cada vez mais ferramentas gráficas no Linux.
-  Além de lidar com programas externos, você pode manipular os dispositivos como se fossem arquivos (/dev), obter informações do kernel (/proc), ou usar pipes para trabalhar em conjunto com outros programas do Unix.
-  Você pode criar janelas de formatos variados, não estando restrito a um retângulo. Para isso precisa apenas ajustar a propriedade ME.Mask de uma janela, definindo áreas transparentes. O Visual Basic requer chamadas da API e um pouco mais de trabalho.
-  Em Gambas, você pode embutir um formulário dentro do outro. Já está em desenvolvimento o componente Network. De acordo com Daniel Campos, seu criador, o componente encontra-se em versão beta, e já oferece funcionalidades tais como clientes DNS/NIS, cliente e servidor para sockets TCP, UNIX e UDP ("datagramas"), e SerialPort - uma classe para gerenciar dispositivos seriais (RS-232, etc...).
-  A interface de desenvolvimento do Gambas foi escrita em Gambas, permitindo que você customize seu ambiente de trabalho de maneira ilimitada, expandindo e utilizando seu conhecimento da linguagem.
-  Gambas é software livre, e funciona em uma plataforma inteiramente livre, oferecendo total liberdade de uso, aprendizado, cópia e distribuição -- e sem custos de licença.
Aproveitando o poder do Unix
"This is the Unix philosophy: Write programs that do one thing and do it well. Write programs to work together. Write programs to handle text streams, because that is a universal interface." -- Doug McIlroy
Uma das grandes vantagens do Gambas com relação ao VB é que o Gambas 
foi construído segundo a filosofia Unix. Isto significa que você pode 
alavancar o poder do sistema operacional e de milhares de ferramentas 
ao invés de escrever código.
Vejamos as possibilidades:
-  Existem, no Linux, ferramentas gráficas e de linha de comando para queimar CDs, tocar arquivos MP3 e baixar arquivos da internet. Ao reconhecer este fato, você pode unificar todos estes recursos sob uma única interface, sabendo que os demais programas são especializados em fazer uma coisa, e bem.
-  Você não precisa depender de um fornecedor de componentes especializados. Conte com os recursos que vêm sendo desenvolvidos pela comunidade de desenvolvedores de software livre. Torne-se parte desta comunidade, contribuindo com sua experiência e conhecimentos. 
Se você alguma vez já programou em BASIC, você terá de volta aquele sentimento de familiaridade assim que começar a usar o Gambas.
Programadores acostumados com o VB se sentirão em casa desde o início.
Certamente, Gambas não é VB, e portanto os desenvolvedores acostumados 
com a linguagem da Microsoft precisarão estar preparados para algumas 
mudanças. O lado bom é que a maioria destas mudanças estão lá por alguma 
razão específica: para fazer uma linguagem melhor. Como já dissemos no 
início, Gambas procurou aproveitar boas idéias de Java e outras linguagens.
Convertendo seu código legado
Então você é um programador de VB e possui quase uma década de 
código fonte em uma plataforma proprietária, que muda a cada dois ou 
três anos.
Você certamente conhece o problema de ter que adaptar-se às mudanças. No 
caso do VB, porém, muitas dessas mudanças foram criadas por questões 
mercadológicas, de forma a impulsionar as vendas. Problemas antigos são 
perpetuados, e os programadores sempre buscam o santo Graal.
Talvez você esteja considerando mudar para uma plataforma livre, que não 
se coloque no seu caminho; mais do que isso, que não cobre altos tributos 
sobre o seu trabalho. Mas a necessidade de lidar com o código legado continua.
Felizmente os desenvolvedores de Gambas já começaram a trabalhar no 
sentido de facilitar esta transição.
Com o lançamento do script 
VB2Gb, a interface de projetos inteiros 
em VB pode ser rapidamente convertida para Gambas. O programa encontra-se 
na versão 0.1, e portanto existe muito espaço para melhorias. Como na 
maioria dos softwares livres, as melhorias dependem basicamente do 
feedback de seus usuários, que também podem se envolver no projeto.
Conclusão
Gambas é a solução mais próxima ao Visual Basic no universo do software 
livre. Ele não foi criado com o objetivo de imitar o VB, nem mesmo rodar 
código nativo do VB, mas oferece uma interface rápida de desenvolvimento 
baseada na linguagem BASIC.
Gambas encontra-se em progresso contínuo. Sua versão atual (0.98) é 
considerada uma versão alfa, sujeita a mudanças. Ainda assim, Gambas já 
está sendo usado em aplicações complexas, como a própria IDE. Não existe 
pressa para lançar a versão 1.0, pois o objetivo é fazer as coisas certas 
desde a primeira vez.
Gambas possui uma estratégia para o futuro. Entre as características 
que podemos esperar para os próximos meses, podemos citar:
-  Gerenciador de relatórios (report designer);
-  Sistema de persistência de objetos (estuda-se a aplicação do conceito de prevalência, promovido pelo brasileiro Klaus Wuestefeld);
-  Expressões regulares estilo Perl;
-  Componente SDL - crie jogos em Gambas!
Com Gambas, qualquer um pode começar a programar aplicações gráficas em 
questão de minutos, o que poderá trazer muito mais programadores e 
aplicações para o  
GNU/Linux. Por isso, podemos dizer que, assim como o 
OpenOffice e o Mozilla, o Gambas pode será uma ferramenta essencial para 
o fortalecimento do GNU/Linux no desktop.