Microsoft's JavaScript focus is a winner

Never mind the complaints: JavaScript scripting is the best way forward for Microsoft Office and the Windows platform

Developers must be masochists. How else to explain all the negative reactions to Microsoft's newfound enthusiasm for HTML5 and JavaScript? First Microsoft said it would integrate the Web standards into the next version of Windows, now it says it will do the same with Office -- and in both cases, developers have done nothing but complain. Why?

Here's how it stands with Office right now: Users can script the Office components using Visual Basic for Applications (VBA), a proprietary Microsoft scripting language that's a subset of Visual Basic 6. VB6 itself was a lousy language with an ugly, cumbersome syntax; Microsoft ended all support for it in 2008, and I have yet to hear a single developer mourn its passing. Unfortunately, however, VBA lingers on.

[ Get software development news and insights from InfoWorld's Developer World newsletter. | And sharpen your Java skills with the JavaWorld Enterprise Java newsletter. ]

Let's not kid ourselves that VBA is "just a scripting language," either. Rightly or wrongly, entire business applications have been written as Excel macros, and maintaining those applications means maintaining competency in VBA.

Just don't expect a lot of company. At one time, Microsoft hoped VBA would become a lingua franca for Windows application scripting. To that end, it licensed the VBA runtime to third-party developers to include in their own applications. But Microsoft shuttered that program in 2007, meaning you won't find any new applications that support VBA today or in the future.

And that's not all. Office may be cross-platform, but Microsoft dropped support for VBA from Office 2008 for Mac. It's back in Office 2011, but macros still don't always port cleanly. Whether a given piece of VBA code will run largely depends on your OS platform and which version of Office you have installed.

Scripting for all seasons
The state of VBA today is a shambles, and the language clearly has no future. It's about time Microsoft offered us a credible alternative, even if it has to commit to supporting VBA for legacy code. So why not JavaScript? In fact, I can think of a bunch of reasons why it makes perfect sense:

1 2 Page
Recommended
Join the discussion
Be the first to comment on this article. Our Commenting Policies