"Gambas is a free development environment and a full powerful development platform based on a Basic interpreter with object extensions, as easy as Visual Basic™" claims the project website: Gambas - Gambas Almost Means Basic (sourceforge.net)
Basic was the first programming language I had contact with, in a Brazilian clone of the Apple II. And then when I got older I started programming for desktops with Microsoft Visual Basic 6. So, I can say that I'm a fan of the language, which still brings me good memories and nostalgia for a good time that won't come back.
Before getting to the main point of this article, I want to make some points so that you, the reader, understand my motivations in looking for alternatives to Visual Basic.
With the .NET Framework also came VB.NET. Would this be the evolution of VB6? Microsoft has frozen development of VB6 and its architecture to put efforts on .NET. There was VB support with VB.NET but with C# being the recommended language of the platform (in my opinion C# was the preferred .NET kid from the beginning 😐).
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.
Many people felt left behind by Microsoft because VB.NET has several peculiarities and an architecture different from what VB developers were used to, there was not possible a "direct compatibility". Many converters to migrate projects from VB6 to VB.NET were released but the result was not 100%. At that time I met many developers who simply migrated to other platforms, Java for example, since in the end they would have to learn a new platform anyway.
But whoever thought it was the end of VB6 is wrong. VB6 is frozen, it doesn't evolve, but it's still "very alive" among us. So much that Microsoft already announces support for VB even on Windows 11, in its "[Support Statement for Visual Basic 6.0 on Windows](https://learn.microsoft.com/en-us/previous-versions/visualstudio/visual -basic-6/visual-basic-6-support-policy)", even if it's support "just works", i.e. the runtime and dependencies are there and that's it.
What about VB.NET? VB.NET, in my opinion, is not even close to the success of its "predecessor". On the .NET platform, C# is the absolute king and the preferred kid of Microsoft. With .NET being re-implemented and open source, supporting operating systems other than Windows, the VB.NET ecosystem was expected to expand. But without Microsoft's support, VB.NET was left out. Again Microsoft froze the language, with a lame excuse that "the language has been stable for quite some time... we are not going to evolve Visual Basic as a language... this will keep support stable and maintain compatibility..." with the bitter side effect of "Future .NET Core features that require language changes may not be supported..." 🤔.
VB6 support is clearly for legacy projects, remembering that there is no support for the IDE that needs some workarounds to install and work properly. VB6 was made to solve problems of an era and it has frozen in this era, no one is crazy enough to start a new project in VB6 in 2022. Or is it?
With VB.NET the issue is more of trust. Even using .NET behind the scenes, which is in full development and support by Microsoft, we have that flea behind our ear that the language will not evolve and that new .NET functionality may not be delivered to VB.NET. VB.NET is not a "first class citizen" of the .NET platform 😢. Should I start a new project using VB.NET in 2022? I prefer not to comment ...
Gambas isn't Visual Basic, it doesn't have Visual Basic compatibility, it's not made for Windows, but it still tastes like Visual Basic:
I would say that it is the closest alternative to the VB6 experience for Linux and on the other hand it is even more modern, being maintained in 2022. According to the creator of the platform "I took from Visual Basic what I found useful: the Basic language, the development environment and the ease of quickly creating a program with a graphical interface ...". And really, the experience I had with Gambas is exactly how easy it was to create a program with a VB6 graphical interface, even the Gambas IDE is very easy to use with "drag and drop" and everything. Pure nostalgia.
Gambas came on my radar because I was looking for an alternative to VB.NET, and I'm having a lot of fun trying out the platform on Embedded Linux.
And, as I'm experimenting with Gambas for Embedded Linux, and I use VS Code as my main code editor, I missed a highlighting syntax for Gambas in VS Code. So I developed an extension to provide this:
Gambas3 - Visual Studio Marketplace
It's also an interesting contribution to the community that uses Gambas, who can now view code from Github repositories through Codespaces with an appropriate highlighted syntax.
So, should I use Gambas as a reliable option for coding in Visual Basic in 2022? Despite being a well-maintained project the community and contributions behind Gambas, in my view, is still small. There is no package and library manager for Gambas (not that I know of). A lot of times you end up having to write silly things that on platforms like NodeJS or Python you need to just do an "import". Remembering that it is not compatible with VB6 or VB.NET, so no reusing code from VB6 or VB.NET here.
Gambas maybe would be a good option, in my opinion, to start a new project, if you and your team decided to choose Basic/Gambas as the language/platform for this project. Why would anyone come to that conclusion? Perhaps reuse developers with VB know how that is more "open" to continuing with something more "familiar"? Or the platform has tools that fit like a glove to the problem that the project will solve ... There are its possibilities, the world is too big to say that it is unlikely that anyone at this very moment is considering using Basic in a project in 2022.
Although Visual Basic is still ranked sixth among the most popular languages on the TIOBE index, it didn't even appear as an option in the 2022 Stack Overflow Survey. And here's one more question: Is Basic worth learning in 2022? If I orient myself based on what the market expects from a software developer, I'd say no. But for me software development is not just an engineering activity, I like to make software, I feel complete developing software and, I have my own peculiar tastes (which were shaped while I spent my years in this art of programming). Sometimes it's a matter of taste, sometimes it's not even that maxim of the "right tool for the problem". If you're introduced to Basic, like it in some way and feel good about it, go for it. Spend your time, which in the end will be well spent because you will feel good learning something new ...
In the next articles I will share with you what I've been working with Gambas, Raspberry Pi, Docker Containers and Torizon the Toradex OS.
I know it's just Visual Basic with Gambas, but I like it... 😅