"Gambas é um ambiente de desenvolvimento e plataforma de desenvolvimento poderosa baseada em um interpretador Basic com extensão à objetos, tão fácil quanto Microsoft Visual Basic™" alega o site do projeto: Gambas - Gambas Almost Means Basic (sourceforge.net)
Basic foi a primeira linguagem de programação que tive contato, em um clone Brasileiro do Apple II. E depois quando mais velho comecei a programar para desktops com o Microsoft Visual Basic 6. Então posso dizer que eu sou um apreciador da linguagem, que ainda me trás boas lembranças e nostalgia de uma época boa que não volta mais.
Antes de chegar no ponto principal desse artigo quero colocar alguns pontos para que você leitor entenda minhas motivações em procurar alternativas ao Visual Basic.
Com o .NET Framework veio também o VB.NET. Seria essa a evolução do VB6? A Microsoft congelou o desenvolvimento do VB6 e sua arquitetura para colocar esforços no .NET. Havia o suporte à VB com VB.NET mas com o C# sendo a linguagem recomendada da plataforma (na minha opinião foi dada preferência para o C# desde o início 😐).
Muita gente se sentiu deixada pra trás pela Microsoft porque o VB.NET possui várias particularidades e uma arquitetura diferente do que os desenvolvedores VB estavam acostumados, não havia e não era possível uma "compatibilidade direta". Muitos conversores para migrar projetos de VB6 para VB.NET foram lançados mas o resultado não era 100%. Nessa época conheci muitos desenvolvedores que simplesmente migraram para outras plataformas, Java por exemplo, já que no final teriam que aprender uma plataforma nova de qualquer forma.
Mas engana-se quem achou que era o fim do VB6. VB6 está congelado, não evolui, mas ainda está "vivão" entre nós. Tanto que a Microsoft já anuncio suporte ao VB até mesmo no Windows 11, no seu "Support Statement for Visual Basic 6.0 on Windows", mesmo que seja um suporte "simplesmente funciona", ou seja o runtime e as dependências estão lá e é isso.
E o VB.NET? O VB.NET, na minha opinião, não chega nem aos pés do que foi o sucesso do seu "antecessor". Na plataforma .NET o C# é o rei absoluto e o filho preferido da Microsoft. Com o .NET vindo a ser reimplementado e em código aberto, suportando outros sistemas operacionais não apenas Windows, esperava-se que o ecossistema do VB.NET se expandisse. Mas sem o apoio da Microsoft o VB.NET ficou pra escanteio. Novamente a Microsoft congelou a linguagem, com uma desculpa esfarrapada de que "a linguagem tem estado estável por bastante tempo ... nós não vamos evoluir Visual Basic como linguagem ... isso vai manter o suporte estável e manter compatibilidade ..." com o amargo efeito colateral de "Futuras funcionalidades do .NET Core que necessitem de mudanças na linguagem podem não ser suportadas ...", ué 🤔.
O suporte do VB6 é claramente para projetos legados, lembrando que não há suporte para a IDE que precisa de algumas gambiarras pra ser instalado e funcionar corretamente. O VB6 foi feito para resolver problemas de uma época e ficou congelado nessa época, ninguém é louco o bastante para começar um projeto novo em VB6 em 2022. Ou é?
Com o VB.NET o problema é mais de confiança. Mesmo usando o .NET por de trás, que está em pleno desenvolvimento e suporte pela Microsoft, temos aquela pulga atrás da orelha de que a linguagem não evoluirá e que pode ser que novas funcionalidade do .NET não sejam entregues ao VB.NET. O VB.NET não é um "cidadão de primeira classe" da plataforma .NET 😢. Devo começar um projeto novo usando VB.NET? Prefiro não opinar ...
Gambas não é Visual Basic, não tem compatibilidade com Visual Basic, não foi feito para Windows, mas mesmo assim tem gosto de Visual Basic:
Eu diria que é a alternativa mais próxima da experiência do VB6 para Linux e em contra partida ainda mais moderno, sendo mantido em 2022. Segundo o criador da plataforma "Eu peguei do Visual Basic o que eu achava útil: a linguagem Basic, o ambiente de desenvolvimento e a facilidade de criar rapidamente um programa com interface gráfica ...". E realmente a experiencia que eu tive com o Gambas é exatamente aquela facilidade que se tinha de criar um programa com interface gráfica do VB6, inclusive a IDE do Gambas é muito fácil de usar com "drag and drop" e tudo. Pura nostalgia.
O Gambas apareceu no meu radar porque eu estava procurando uma alternativa ao VB.NET, e eu estou me divertindo bastante experimentando a plataforma em Linux Embarcado.
E, como eu estou fazendo minhas experiências com Gambas para Linux Embarcado, e uso VS Code como meu principal editor de código, senti a falta de um sintax highlighting para Gambas no VS Code. Daí desenvolvi uma extensão pra prover isso:
Gambas3 - Visual Studio Marketplace
É uma contribuição interessante também à comunidade que usa o Gambas, que agora pode visualizar código de repositórios Github através do Codespaces com um sintax highlight apropriado.
E então, devo usar Gambas como opção confiável para codificar em Visual Basic em 2022? Apesar de ser um projeto bem mantido, nem tudo são flores. A comunidade e contribuições por de trás do Gambas, ao meu ver, ainda é pequena. Não há um gerenciador de pacotes e bibliotecas para Gambas (não que eu saiba). Muita vezes você acaba tendo que escrever coisas bobas que em plataformas como NodeJS ou Python é só fazer um "import". Lembrando que não tem compatibilidade com VB6 ou VB.NET, então nada de reutilizar código do VB6 ou VB.NET.
Gambas talvez seria uma boa opção, na minha opinião, para começar um projeto novo, caso você e seu time resolvessem escolher Basic/Gambas como linguagem/plataforma para esse projeto. Por que alguém chegaria a essa conclusão? Talvez reutilizar mão de obra que é mais "aberta" a continuar com algo mais "familiar"? Ou a plataforma tem ferramentas que servem como uma luva para o problema que o projeto vai resolver ... Há suas possibilidades, o mundo é grande de mais para dizer que é improvável alguém nesse exato momento estar cogitando usar Basic em um projeto em 2022.
Apesar de Visual Basic ainda se encontrar na sexta colocação das linguagens mais populares do índice TIOBE, ela nem apareceu como opção no Stack Overflow Survey de 2022. E aqui vai mais uma pergunta: Vale a pena aprender Basic em 2022? Se eu me direcionar levando em consideração o que o mercado espera de um desenvolvedor de software, eu diria que não. Mas pra mim desenvolvimento de software não é só uma atividade de engenharia, eu gosto de fazer software, eu me sinto completo desenvolvendo software e, tenho meus gostos peculiares (que foram moldados enquanto passava meus anos nessa arte de programar). Tem gosto pra tudo. Sim gosto, as vezes nem é aquela máxima da "ferramenta certa para o problema". Se você for apresentado a Basic, gostar de alguma forma e se sentir bem com ele, vai fundo. Gaste seu tempo, que no final vai ser bem gasto porque você vai se sentir bem aprendendo algo novo ...
Nós próximos artigos vou compartilhar com vocês o que ando aprontando com Gambas, Raspberry Pi, Docker Containers e Torizon o SO da Toradex.
E eu não poderia terminar esse artigo, que era pra ser apenas um anúncio da extensão do VS Code, com os dizeres:
Eu sei é apenas Visual Basic com Gambas, mas eu gosto ... 😅