A glimpse at any major open positions board will quickly reveal VBA is not among the popular programming languages out there, when it comes to business applications. This is surprising, considering the fact it is the language used in MS-Access, a database-oriented applications development environment that is part of the MS-Office 365 Business Suite, and the underlying language of the other, most popular MS-Office Suite of applications.
Brief VBA History
Ever since it was introduced in 1993 with Excel 5.0, VBA hesitantly played in between two fields: Microsoft’s Office applications scripting language for automation on one end, and a full-fledged programming language for business applications on the other end. It’s strong design to work tightly with the MS-Office application’s object models, easy and quick entry effort required and “built-in” with all of MS-Office applications out-of-the-box delivery way, made it highly popular among business users, but mainly for office-oriented tasks. In 1999, with the release of VBA 6.0, Microsoft opened up the option to call external services using the COM interface, a hint of its possible future as a more open and general programming language, albeit favorable to the Microsoft world only, in most cases.
Today, VBA allows accessing the Internet, calling COM and DLL function libraries, working against standard databases, and naturally, easily addressing the MS-Office applications’ objects, a plate that could have entitle VBA a place of honor in the mainstream programming languages sphere. The masses did not come. Why?
Why Hasn’t VBA Become Popular?
In my mind, the prominent reason is Microsoft’s policy to promote its .NET stack and leave VBA as the little kid for its Office suite. The success of any technology platform, was always the ability to build an Eco-system around it: nurture the developers’ community to adopt the platform of choice. Best is to give the developers the platform and education for free, and capitalize on the consumption of its produce. Examples for that abound. One of the clear reasons Java became so popular (however not the only reason) is the fact that it was free for developers to learn and start coding. Being a free language, it was adopted by many universities as a language of choice, and the rest is history. Microsoft’s technologies are no different.
Want an opposite example? Magic was a revolutionary business applications development environment, in which you could plan your database, design a business flow, users’ interface and reports – without writing a single line of code! Magic was popular in the late 1980’s into the 1990’s, but instead of becoming hot for every business, it died. Magic were so keen on protecting their platform so that you could not develop, or learn Magic, without a physical dongle plugged in the back of your computer where the printer was hooked. The dongle came with the license you purchased. Magic programmers were a handful. There was no knowledge and skill-set market developed. Magic lost the grip, despite too little, too late attempts to open their platform for free development in their last years.
This is why companies such as Microsoft, SAP, Cisco and others offer universities their technologies for free for education purposes. Build a large community around your platform – and you win the market!
Microsoft never really promoted VBA to be a mainstream development platform. It never proactively encouraged a community to form around it. They didn’t want VBA to become a popular development environment, as their hesitant history with VBA shows. They dropped VBA support in their Office suite for Mac in 2008 (only to restore it back in 2011, in a much more compatible way to the Windows version). They stopped offering distribution VBA licenses back in 2007, in what seemed to be an attempt to kill VBA and replace it with their more strategic technologies, around .NET. Still, Microsoft did acknowledge VBA is too entrenched in tens of millions of office applications around the world, that it is simply impossible to let it go. By dominating the desktop with the MS-Office suite, they inadvertently widely rooted VBA. In 2008, Diego Oppenheimer of Microsoft wrote in his famous “Clarification on VBA Support” blog post: “We understand that VBA is a critical capability for large numbers of our customers; accordingly, there is no plan to remove VBA from future versions of Excel”.
Is this a Miss, or an Opportunity?
We now ended up with a technology that is definitely capable, however not up-to-date along the recent lines of computer programming trends, to be used for business applications on one hand, but not so popular for that purpose on the other hand. Now, you can just turn your back on VBA, or see an opportunity. If most developers turn to other technologies, you may not have too much of a competition if you become a true professional business applications developer using VBA.
In the next blog post I’ll try to run down a more detailed pros and cons for VBA to be chosen as a programming language to master. This will be followed by a post about the skills required, in my opinion, to become a successful VBA business applications developer, stay tuned…
WANT TO LEARN PROGRAMMING WITH EXCEL VBA?
I created a complete 8-course program for you.
From programming to databases with Excel VBA to deliver business-grade solutions.
Take the first course today: Computer Programming with Excel VBA.
Click the button to see the complete program and start now!