News

Visual Basic Resurgence? Project Seeks to 'Bring the VBE into This Century!'

Is Visual Basic primed for a resurgence?

Well, no.

But there are signs of new life in the VB ecosystem, most recently on the Visual Basic for Applications (VBA) side of things.

This week saw a couple of improvements to Rubberduck, a project to upgrade the Visual Basic Editor (VBE) and "Bring the VBE into this century!"

VBA is based on the now-deprecated "classic" Visual Basic 6 and is associated with Microsoft Office applications, particularly Excel, where the VBE is a fundamental tool for scripting, automation and much more.

Visual Basic, especially "classic" VB, attracted a loyal following, with many projects emerging over the years devoted to keeping it alive despite Microsoft having moved on in 2002 with VB.NET.

VBA is still bundled with Office, however, and Mathieu Guindon started the Rubberduck project to improve its editor. The project is described as "a very active open-source COM add-in project that integrates with the Visual Basic Editor to enable the features every programmer wants to have in their IDE. From unit testing to code inspections and refactorings, programming in VBA will never be the same."

VBE in Excel
[Click on image for larger view.] VBE in Excel

The project's origin stemmed from a rewrite of VBA Excel add-in that output unit testing results to the debug/immediate window.

"Rubberduck simply emerged from the idea of rewriting that unit testing code in C# to deploy it as a COM extension/add-in specifically for the VBA IDE, the glorious VBE. We had code that could integrate with the IDE and read (write, too) the contents of code files, and do everything else the VBE API allows us to do. So we take the code in the IDE, parse it with ANTLR, and then make very cool things happen," the site says. "Rubberduck is first and foremost a project, aiming to make the VBA editor a professional-grade integrated development environment. We want to give professional VBA developers the tools they need to be professionals, the tools that are a standard part of the toolbox elsewhere in the software development community."

The project includes a Code Explorer, Smart Indenter and Unit Testing among other components, along with functionality for refactorings, GitHub/source control integration and more.

The Rubberduck Code Explorer
[Click on image for larger view.] The Rubberduck Code Explorer

Just today (Feb. 28), news of a an OSS milestone -- the Rubberduck GitHub project reaching 1,000 stars -- was announced on Twitter by Guindon, who has been tweeting about the project under the handle "Rubberduck VBIDE add-in" since at least December 2017.

This week also marked the 100th blog post about continuing work on the project, this one declaring "VBA isn't going anywhere" in the face of a YouTube video posted this month titled, "First Look: Excel VBA Killer - TypeScript Debuts in Excel."

This week also saw a Rubberduck post on Hacker News, where the project was met with some skepticism (as is common on that development-oriented social site).

"Add Javascript to VBA and allow users to use WebStorm or VS and we'd have something great," read one comment on the HN post. "I gave Rubberduck a go a few years ago and was rather underwhelmed when compared to a real IDE (which is understandable, as Rubberducks creators don't have $$$ behind them)."

A couple other readers compared it unfavorably to MZ-tools among speed and stability concerns.

Nevertheless, work is continuing on the project, which just hit version 2.5.0 a couple months ago.

As far as a classic VB resurgence, it's not likely. Microsoft has resisted all efforts to bring it back and has even abandoned its VB.NET co-evolution strategy with C# that was announced in 2010. "For VB to follow C# in its aggressive evolution would not only miss the mark, but would actively undermine the straightforward approachability that is one of VB's key strengths," said Microsoft's Mads Torgersen in a 2017 post about "The .NET Language Strategy" that announced the shift from VB/C# co-evolution.

That break has been borne out, as a look at Microsoft's development blog postings for C# and VB indicates. While C# post are published regularly, the most recent post from the VB team is from November 2018.

And the company clearly spelled out its VB plans in response to a Developer Community issue filed back in October 2018 to "Support VB6 programming and VBA programming."

"Hello, we don't plan on making changes to VB6 nor bringing it up to support modern platforms," said Microsoft's Phillip Carter.

About the Author

David Ramel is an editor and writer at Converge 360.

comments powered by Disqus

Featured

  • Compare New GitHub Copilot Free Plan for Visual Studio/VS Code to Paid Plans

    The free plan restricts the number of completions, chat requests and access to AI models, being suitable for occasional users and small projects.

  • Diving Deep into .NET MAUI

    Ever since someone figured out that fiddling bits results in source code, developers have sought one codebase for all types of apps on all platforms, with Microsoft's latest attempt to further that effort being .NET MAUI.

  • Copilot AI Boosts Abound in New VS Code v1.96

    Microsoft improved on its new "Copilot Edit" functionality in the latest release of Visual Studio Code, v1.96, its open-source based code editor that has become the most popular in the world according to many surveys.

  • AdaBoost Regression Using C#

    Dr. James McCaffrey from Microsoft Research presents a complete end-to-end demonstration of the AdaBoost.R2 algorithm for regression problems (where the goal is to predict a single numeric value). The implementation follows the original source research paper closely, so you can use it as a guide for customization for specific scenarios.

  • Versioning and Documenting ASP.NET Core Services

    Building an API with ASP.NET Core is only half the job. If your API is going to live more than one release cycle, you're going to need to version it. If you have other people building clients for it, you're going to need to document it.

Subscribe on YouTube