Slashdot Mirror


VBA Going Away, Macs Now, PCs Soon

Nom du Keyboard writes "As Microsoft drops support for older Office file formats, it looks like Visual Basic for Applications is also going soon. Mac Office 2008 has dropped VBA in favor of enhanced support for AppleScript, and Office 2009 is scheduled to lose it in favor of Mac incompatible Visual Studio Tools for Applications (VSTA) or Visual Studio Tools for Office (VSTO). This sounds like the Mother of All Backwards and Cross-Platform Incompatibilities — especially since there appears to be no transition period where both the old and new scripting languages will be simultaneously supported. And as past experience with Visual Studio .NET has shown, upgrade tools are far less than perfect."

29 of 255 comments (clear)

  1. Die Visual Basic by CrazyJim1 · · Score: 1, Insightful

    I hated the years when Visual Basic was thought to be a technical marvel. What were they thinking? And why do companies like to jump on every new thing without evaluating the good from the bad? Maybe some companies just think that everything that MS sends out is an upgrade.

    1. Re:Die Visual Basic by I8TheWorm · · Score: 4, Insightful

      One word.... RAD. Well, ok, it's really three words.

      With the PHBs having been promised projects developed in half the time with a smaller team, I can see how VB got it's bloated non-type-safe foot in the door.

      And rewriting projects now that are a VB fiasco is making for lots of development jobs ;)

      --
      Saying Android is a family of phones is akin to saying Linux is a family of PCs.
    2. Re:Die Visual Basic by AmericanInKiev · · Score: 4, Insightful

      I think you are criticizing an organic process for choosing the path of least resistance.

      Futile and somewhat incompletely informed spring to mind.

      VB is successful because most of the potential applications for computers are not terribly time or resource constrained, most applications are cost-of-development constrained. VB is chosen because it consistently provides the path of least resistance to the first deliverable result, and executives will always bet on the horse that makes it to the first turn - first.

      I'm suggesting these executives are not silly - they realize that in the rare case that a software becomes truly important, they will invest in an upgrade - but they avoid the upgrade costs on all the other trial balloons that fill the long spans between truly-imperative-software.

      In any cases, engineers who race to the first pole, do so because it keeps them employed, and that ain't so silly either.
      Criticizing a platform for being popular is what is silly in my humble opinion.

      AIK

    3. Re:Die Visual Basic by ibsteve2u · · Score: 1, Insightful

      Snicker...RAD is indeed the true reason why those who hate VB complain so loudly.

      Almost any other programming language carries with it the burden of endless planning and objectives meetings, months and even years of code writing and debugging, and then the stunning realization that the business has moved on without you and your project.

      Meanwhile, the Service & Finance people conclude that if they're going to get such lousy results for so much effort, they might as well offshore the next project in order to control the labor costs.

      With VB, the process was simple: Idea, implement, debug, distribute - in weeks, not months or years.

      I'm rather surprised that Microsoft is making this move - I suspect that there are ten lines of VB and VBA code for every one line of non-VB code out there in the corporate world.

      If you add up the costs of the Office and Vista O/S upgrades, the cost of the new hardware required to support Vista, the cost of porting all of that VB and VBA code, and the costs associated with the increase in electricity requirements that the new Vista-capable hardware demands, you've made one hell of an argument to go open source on Linux.

      --
      Orwell: "In a Time of Universal Deceit, telling the Truth is a Revolutionary Act"
    4. Re:Die Visual Basic by AmericanInKiev · · Score: 4, Insightful

      VB was the first language which offered RAD - while at the same time offering the technical breadth and reach of 3rd-party add-ons and access to the Windows API.

      The language is absent the jargon-punctuation cruft of c {};

      And instead closely follows a language with worldwide recognition.

      In some respects c can be compared to latin, or perhaps better to esperanto, which is a contrived language which doesn't resonate with any significant population from birth.

      VB, on the other hand, recognizes and embraces the symbolic similarities between branching in code, and branching in languages. It turns out that the advantage of shadowing a natural language are born out in adoption rates and learning curves.

      I agree, that VB6 had some issues, limitations etc, but notwithstanding the pain of starting over in .Net - The benefits of natural language, and minimal punctuation will continue to accelerate learning of VB over contrived syntaxes.

        - Again, I am impressed, and you should be as well, that 168-form VB apps could even be written by people who are obviously ill-equipped to produce similar software in any other language. This feat must, at some level, be taken as a complement of the degree to which VB has papered-over a great deal of the complexity of code-writing. I suggest it is a criticism that java, ruby, or perl, hasn't been nearly as effective in bringing systems-design to a broader audience.

      AIK

  2. adios vba by circletimessquare · · Score: 2, Insightful

    dim vbaRelevancy
    set vbaRelevancy=new activeXObject("vbaWantsToLive")
    if vbaRelevancy.microsoftBacking(2009)=false then Office2009="VSTO"
    set vbaRelevancy=nothing

    --
    intellectual property law is philosophically incoherent. it is your moral duty to ignore it or sabotage it
  3. Re:Cross Platform? by ricegf · · Score: 5, Insightful

    This could be good news! We currently have to support MS Office versions of our customizations for Windows, and OOo versions for Linux / Unix. Since Microsoft is forcing us to go back and rewrite the MS Office versions if we upgrade our Windows apps - why not just upgrade to OOo on all platforms, avoid the rewrite cost, and maintain just one set of customizations going forward!

    Yes, yes, I see a great "employee suggestion" fattening my wallet this year...

  4. Great for Open Source!!! by filbranden · · Score: 2, Insightful

    Well, this news are for Open Office (and other open source office suites) what Vista was for Linux! If Microsoft continues shooting itself on its foot, open source software will have no trouble at all to gain its deserved market share!

  5. Don't mind at all by Killer+Eye · · Score: 3, Insightful

    I don't mind seeing software companies trash their customers' investments this way. It just means that more people will learn (albeit the hard way) just how tied they are to the whims of their vendors, and seek a way to end the pain. The outcomes of that are generally a step forward for the industry.

    For example, this could cause some people to start demanding more of their software vendors (e.g. open formats, better support contracts, whatever). Or it could cause them to look at free/open formats and software as a way to avoid this problem in the future.

    --
    "Microsoft killed my company, I hold a personal grudge. I don't use Microsoft products and neither should you."-JWZ
    1. Re:Don't mind at all by gstoddart · · Score: 3, Insightful

      I don't mind seeing software companies trash their customers' investments this way. It just means that more people will learn (albeit the hard way) just how tied they are to the whims of their vendors, and seek a way to end the pain. ...snip...

      For example, this could cause some people to start demanding more of their software vendors (e.g. open formats, better support contracts, whatever).

      It's a nice sentiment, it really is. However, after having watched this happen with several Microsoft technologies over the years, I don't believe it's any more likely this time around.

      People have been saying that about Microsoft for at least 15 years now. I fail to see why this one would be significantly different unless a lot of things have changed.

      Microsoft just simply has too much leverage -- people will do this because they have no choice, or because they've already drank the kool-aid and are completely on board.

      Cheers
      --
      Lost at C:>. Found at C.
    2. Re:Don't mind at all by ciggieposeur · · Score: 3, Insightful

      I fail to see why this one would be significantly different unless a lot of things have changed.

      I think a lot of things have changed in the last 7 years. The Internet can now be 90% used quite nicely with Firefox/Konq/Opera/Safari/etc.; OOo is actually pretty usable for a lot of low-level stuff so only a (relatively) few serious professionals really need the more advanced features of MS Office; there are reasonable F/OSS alternatives to almost all of the large desktop packages (except for vertical market packages); gaming consoles are now powerful enough to run arcade-quality games; and the Mac platform has made a comeback in a major way.

      I'm not sure exactly when the tipping point was, but sometime in the last 3 years I've noticed that an awful lot of people have stopped equating "computer" to Windows. I don't expect a massive migration away from MS software, but I also don't see nearly so much pressure in the form of must-have features to remain on the platform.

  6. How stable are OO macros? by cheros · · Score: 3, Insightful

    I guess moving to OO or StarOffice would not be such a bad move after all then. La least the macro language is consistent across apllications as well as platforms.

    I guess the only question remaining is why you would run Windows after that, but you should ave been asking that question quite a while back ..

    --
    Insert .sig here. Send no money now. Owner may sue, contents will settle. Batteries not included.
  7. Re:Difference between VST(O|A) and VBA? by gstoddart · · Score: 5, Insightful

    What is the difference? What do you get by replacing VBA with VSTO or VSTA?

    Screwed over and locked in, with no cross-platform support?

    Flippancy aside, Microsoft trots out what they decree is the Next Big Thing about every 4-5 years. In the process, they act like what they used to call the New Hotness is a smelly pile they want to get away from, and drop support for it. Of course, it was a smelly pile in the first place, but it was their smelly pile and they wanted you to buy it and spent a lot of money convincing you it was good.

    In the mean time, companies have spent a lot of money supporting and implementing the technologies, buying training, books, etc. Then you re-start the cycle all over again. This is just the next in a long-line of technologies that Microsoft has swept under the rug and moved on. Then a whole new gravy train starts.

    Of course, they get the added benefit that you will have even less support and functionality on Mac OS. And, if that is the case, then why would someone by a Mac when they need Office?

    I suspect this is 1/3 "technical", 1/3 "strategic", and 1/3 "because we can, bitches".

    In the end, who is to stop them? The customers never leave en masse like people have been predicting for as long as I can remember. People adopt the technologies. And, everyone just sucks it up and gets on with their day.

    Trotting new, unfinished technologies and dropping older, unfinished technologies and charging for it is Microsoft's bread and butter. It's one big hamster wheel. :-P

    Cheers
    --
    Lost at C:>. Found at C.
  8. What should novices do now? by Anonymous Coward · · Score: 1, Insightful

    I go to a community college -- and I wanted to take a C programming class for my Summer semester.

    I was considering myself royally screwed that I'd have to undertake a Visual Basic class (which acts as a prerequisite for the C class), but really I'm more screwed than I previously though. Not only will I be taking a course of an ineffective, language I'll be taking a course of an ineffective, soon-to-be-useless language.

    Hrm, suggestions on what I should do? :x

    1. Re:What should novices do now? by ChefInnocent · · Score: 2, Insightful

      When I started college, we were required to take Pascal. As you may be aware, there is little Pascal being programmed today. But that doesn't make my experience in Pascal useless, nor the language useless. I generally program in C/C++, but a couple of times a year, I'm asked to program in some language I've never seen. Sometimes those languages have similarities to Pascal; sometimes they don't. Regardless, the more languages you have exposure to, the easier it will be to pick up the next one. There are some things I really liked about Pascal (inner functions), and many things I didn't.

      Take the class, and enjoy it. Maybe think of it like learning a foreign language. If you learn Spanish, you tend to learn a bit more about English.

  9. Aww... by nog_lorp · · Score: 2, Insightful

    Sad, that was always my favorite "thing that schools never secure". You can just about always get into VBA macros on Word, and use that to run a command line or regedit or etc.

  10. Whither EndNote by Anonymous Coward · · Score: 2, Insightful

    Arguments about open source alternatives aside, doesn't EndNote use VBA for all of it's scripting? I'm sure it's fine for the Windows side for which they can add in VSTA/VSTO support, but won't this kill EndNote for the Mac? I seem to recall that EndNote uses VBA for all of its formatting and layout within Word.

    I'm a grad student in biology and we are almost entirely a Mac group (it's seems to be rare to see a completely PC bio group these days I think). It would be quite a shame if this decision had rather strong ripples throughout a number of other companies whose business models are predicated on using VBA in Office.

  11. Re:Cross Platform? by toQDuj · · Score: 3, Insightful

    Nope, you misunderstand the strategy employed by Microsoft.

    First, they say they will make a sudden switch, everyone will be stumped, irked, and in various states of disbelief at their ballsy move.
    Then they will "concede" and support both scripting languages for one more version, and people will think they've won, and a gradual transition takes place. Managers are happy because they "made" Microsoft change their position on abandoning VB right away, and Microsoft will be happy because they were planning it all along. The only unhappy few are the IT people that get to recode from one language into another.

    B.

    --
    Every experiment which ends in a big bang is a good experiment.
  12. Microsoft Enables OpenOffice Migration? by Carcass666 · · Score: 2, Insightful

    I work at a company that does transcription and the only reason we have stuck with Word was that we have been able to continue utilizing the considerable VBA macro code base we have maintained since Word 97. With the various Word updates, there have been some hiccups, but for the most part, we've been able to keep the same code for Word 97 even through the abomination that is Word 2007. Before you guys start pulling out the flamethrower, in 97 you had Word and WordPerfect, and WordPerfect was busy figuring out how to kill whatever marketshare they still had.

    If I have to rewrite everything to work with the next rev of Word, and we have to tell all our transcriptionists they have have to buy the latest (and probably not greatest version) of Word, what incentive would I have not to seriously consider a migration to Open Office?

    This idea was probably thought up by the same genius that decided to shut off backward-file compatibility and save as formatted text filters.

  13. Glass House? by Anonymous Coward · · Score: 2, Insightful

    Because, as we know, all thing FOSS interoperate perfectly, and the people developing them always do a fantasticly stable and secure and well designed job.

    1. Re:Glass House? by smittyoneeach · · Score: 2, Insightful

      No one ever contended that. The contention is that, when the inevitable conflicts occur, the user is not disenfranchised.

      --
      Get thee glass eyes, and, like a scurvy politician, seem to see things thou dost not.--King Lear
  14. Re:Cross Platform? by Jason+Earl · · Score: 3, Insightful

    I'm not surprised that Microsoft is dropping VBA support for the Mac. After all, the easiest way to kill the Mac as a viable business platform is to make it so that business applications written in VBA on top of Excel or Word no longer work on the Mac. Microsoft is starting to get a little worried about losing desktop marketshare to Apple, and a crippled or incompatible MS Office for Mac would fix that perfectly.

    Forcing people to rewrite VBA applications on Windows, on the other hand, is a completely different kettle of fish. One of the primary reasons that OpenOffice.org has problems in the corporate market is that companies have invested heavily in applications written in VBA on top of Word and Excel. If Microsoft forces people to rewrite these applications then the door is suddenly wide open for MS Office replacements.

  15. Re:Typical by lgw · · Score: 4, Insightful

    Do you think the PHBs will ever learn that using proprietary systems like Windows may seem cheaper in the short term but in the long run you open your wallet and let them take take take? PHBs are compensated for short term performance and in the long term work at a different company. Microsoft provides exactly the correct solution for this market.
    --
    Socialism: a lie told by totalitarians and believed by fools.
  16. Goodbye to VB by fm6 · · Score: 3, Insightful

    They've shifted scripting paradigms before. Word used to have its own dialect of Basic, and Excel originally did all its scripting with those @ functions.

    What's really painful is not the death of VBA as such. What's painful is Microsoft's decision to do away with the whole Visual Basic paradigm without providing anything to replace it.

    What do I mean by by "Visual Basic paradigm"? I don't mean the (very sucky) language. I mean the integration of the language to all those COM interfaces that permeate Microsoftland, including Office. These COM interfaces are all part of object frameworks, but because they're interfaces rather than objects, you don't have to master the object framework in order to use them

    When MS got bored with COM and decided to move on to .NET, they neglected to replicate this functionality. They did provide a .NET version of VB, but it's just another OO language. So VB.NET programmers have to master the .NET object framework. Might as well learn C# and be done with it.

    I'm a user of OneNote, which was the first MS Office application to be released without a builtin Visual Basic engine. You can automate OneNote, but the learning curve's much steeper than it would be with VBA. I've never found time to assault it.

    Even though I've always despised the pre-.NET dialect of Visual Basic, I find I'm missing it terribly.

    1. Re:Goodbye to VB by p0tat03 · · Score: 2, Insightful

      IMHO the problem has always been that VB was designed as a low-barrier-to-entry method to getting some quick one-off code to work. Say I wanted to sort my Excel fields in a weird unconventional way, VBA to the rescue! Maybe 20-30 lines of code and BAM, my spreadsheet is beautiful.

      But in the midst of all of this MS never provided a "proper" programming interface, thus spawning an ungodly and scary amount of VBA spaghetti-code projects that just won't die. In realizing this they tried to fix it by releasing .NET, a much more "proper" way to program, but failed to release anything resembling VBA in its original simplicity.

      IMO you need both. You need the easy scripting language so non-coders can do some simple operations without calling IT, and at the same time you need a REAL language/environment to do large enterprise integration projects.

  17. Re:Cross Platform? by ricegf · · Score: 4, Insightful

    Wouldn't it be possible, at the corporate level, to do quite a bit of customization, more than possible for mere humans on MS Office.

    I'm not all corporations, but I've been around a few decades. Here's my 2 cents worth.

    All of the OOo code is licensed under the LGPL, and can be freely downloaded, built and customized. So yes, it's possible. The sky's the limit; it's just software. :-) Several factors make it less likely that a corporation would take this approach, however.

    One is that such a customization would very likely be deemed a "derivative work" by Legal, in which case if it were distributed (e.g., to suppliers for a given project, or even arguably to contractors working for the corporation), then the source must be made available as well. Non-software corporations tend to be allergic to releasing their source code, in my experience, because their lawyers tend to be very conservative. Some manager somewhere will likely have to bet his career by accepting legal liability for the corporation. Will the risk to his career if Something Bad Happens justify the benefit he perceives?

    The issue of support will also likely be raised. What if the customized version breaks - who will "support" it? Yes, yes, we all know the internal team of developers will - assuming they weren't laid off in the last "shareholder value" improvement exercise (a constant risk in corporate America). But IT directors tend to go the other direction, from what I've seen - they want to outsource support (and legal indemnification) for open source software, so it can be treated as if it were proprietary. Proprietary means comfort; a target at which the finger can point if Something Bad Happens. This tendency is likely the foundation of IBM's business case for Symphony, by the way.

    Finally, if a support team were to be established in a corporation to produce a custom version of OOo, they would need to have some type of development environment. As much fun as bashing Microsoft may be, Visual Studio and .NET are not technically inferior products. So a corporation is unlikely to consider that an inferior option to, say, Eclipse technology. Sure, it costs a lot more - but it's a small number of licenses. They probably wouldn't hesitate.

    But in the end, I suspect a lot of corporations just want to write scripts and such without mucking around in the source code proper. The issues most likely to resonate are: (1) How do you efficiently distribute the customizations? (2) How hard are they to develop and maintain? and (3) Can we use them on all of our platforms as is, or do we have to port or (ack!) redevelop for each platform? The third is where Microsoft's "Windows Everywhere" bias may hurt them with this decision to abandon VBA. (Gee, now I'm sure glad we chose to use Python as the scripting language in our internal applications! :-)

  18. Re:Difference between VST(O|A) and VBA? by syousef · · Score: 2, Insightful

    In the end, who is to stop them? The customers never leave en masse like people have been predicting for as long as I can remember. People adopt the technologies. And, everyone just sucks it up and gets on with their day.

    Customers have no real loyalty. They buy Office because they've got a pile of office documents. Things like VBA and the UI for Office have changed in the past but for the most part they've been incremental changes that can be dealt with easily compared to changing products.

    My first version of Word was Word 2. It's been a long time but I think there was a change when they moved to Word 6.0 and dropped the DOS version. Since then (the early 90s) changes to the Interface in Word have been comparatively small. You could open the same documents you wrote in Word 6 in Word 2003. Complex macros may have incompatibilities due to added security features etc. but many simple ones were fine. Importantly you could take a Word 6 user and stick them in front of Word 2003 and with a few hours of use they'd be just fine.

    Now that they've changed the UI completely and are dropping the Macro and old file support, you're not talking small changes that happen every 5 years. Suddenly you have a product that looks alien to an old user, that won't open old document formats, that won't run their macros.

    I couldn't think of a stupider thing to do if they tried. They spent all that time killing off the competition and through bone headed moves like this they've just given away all that advantage. I expect alternate suites to start cropping up again. Probably not a bad thing.

    --
    These posts express my own personal views, not those of my employer
  19. Re:This is not what it seems by falconwolf · · Score: 2, Insightful

    Nice tinfoil hat theory - but the contract with Apple to provide MS Office on the Mac expired a while ago (2001/2002). If they really wanted to kill Macs by denying their users Office, why did they even bother to release Office on Mac?

    Could it be because they were a monopolist who was convicted of using the monopoly position to harm competitors but now they have a get out of jail card so they no longer have to play nice? If I recall right year ago MS argued it was not a monopoly because they had MS Office for Macs.

    Falcon
  20. Re:Cross Platform? by CrazedWalrus · · Score: 3, Insightful

    The great thing is that we've got a bunch of MS Access "applications" that we can't get funding to re-write properly. Once Office doesn't support VBA, they'll have no choice. We'll then migrate them to unix land and probably Sybase, Oracle, or Postgres.

    Allowing business users to have Access is like giving an unsupervised 6 year old a handgun. They can work it, but they have no idea how to be responsible with it and will probably do much more harm than good.