Programming Language of Choice

Steve asked a question that I couldn’t answer:

…if I wanted to build decent applications for the future and will spend the time to learn a language, would you recommend VB6, VB.NET or another language?

You may have heard about the infamous ClassicVB Petition about which Stephen Bullen posted. For opponents of the petition, this seems to be an easy choice: .Net is the future, so pick VB or C# and be on your way. For many of the proponents, it’s not so easy. Obviously if the petition does its job, VB6 will be the choice. As much as I am behind the effort (although not in complete agreement with all aspects) I wouldn’t bet the mortgage that it will change anything. I didn’t expect Microsoft to come around as soon as the petition hit the blogwaves, but it looks to me like they’re defending their position quite vehemently. Having said that, all it takes is for the right person to get the right information (e.g. big customer talks to Ballmer) and things could start happening, so I haven’t lost all hope. But enough about that petition.

I can’t tell Steve to write in VB6 today. You’re one Windows Update away from code that fails. You can write in .Net, but there’s risk there. If Microsoft can throw away VB6 code assets so easily, what are you going to do in 10 years when .Net is old news? Are you going to rewrite your tens of thousands of lines of code in MS’s flavor of the day?

Here’s your choices as I see them.

  • Write in .Net and understand the risks. Resign yourself to rewriting your code every 10 years, and if you don’t have to, then it’s a bonus.
  • Write in C++. Microsoft writes its stuff in C++ and you’ll notice that C++ hasn’t gone anywhere. They know how to protect their code assets. So long as your language is the same as theirs, you’ll be fine.
  • Write in Visual FoxPro. I don’t know the whole story behind this, but from what I gather MS was going to dump VFP. Someone(s) made the right stink to the right people and it came back. There seems to be some freakish cult of VFP programmers and that’s one program that doesn’t seem to be going away.
  • Dump MS. I’ve heard of VB6 programmers moving to Delphi, Sun’s Java and REALBasic.

If you’ve read this far, you know that I don’t know what I’m talking about. What I do know is that I’m fearful of writing anything major in VBA or VB6, but I haven’t committed to .Net yet. Are you still writing in these languages? If not, what languages are you using?

Posted in Uncategorized

6 thoughts on “Programming Language of Choice

  1. English.

    I’m worried, though, that I might have to switch to English.NET Studio++ if MS gets their way.

  2. Hmmmmm…

    I am sure I am about to be misunderstood but I will give it a try.

    The only constant is change. This is not likely to change (oxymoron?) If it is a certainty that VB/VBA is on its way down, like it or not, move.

    There is another proverb: sufficient to the day is the evil thereof. In other words we cannot really know what 10 years will look like, so why fret about it today? If .NET goes away in favor of .Hologram or ???? then we who are still around will have to – move.

    MY brother is a well known developer. His claim is “I am only one manual ahead of my competition…”

    Learn both VB/VBA and .NET – probably should anyway.

    After spending months of my free time studying .NET, my first assignment other than VB was C# – I knew little to nothing about it – but I found out real quick.

    I hate it but its the way it is.

  3. For many of us we’re forced to write our Excel apps. in VBA whether we like it or not. Excel 2000 and Excel 2002 (Excel XP?) still make up the largest customer base. VSTO (Visual Studio Tools For Office) is how MS proposes people write Excel applications in .NET. However VSTO only supports Excel 2003!! I still have to support customers that are on Office 2000.

    Most clients have shunned Excel 2003 because they rightfully don’t see a lot of new features unless they buy into Microsoft’s other products (like Sharepoint). MS has provided a poor migration path for existing Excel developers in my opinion. I still can’t see why VSTO could not have supported earlier versions of Excel.

    I’ve been successful in creating my own COM Interop layers for Office 2000 and controlling it from .NET, but the result isn’t nearly as well packaged as what I can do with VBA internally. If MS wants VBA developers to take .NET seriously they’ve got to do better than VSTO and only offering support for the latest version of Excel.

    That having been said I’ve adopted ASP.NET wholeheartedly for web development and in general I like the .NET environment. I just think the integration with Office has been badly botched thus far.

  4. I guess it is all a matter of what public/clients/system you are writing applications for.

    I for one, write applications aimed at MS Office. Since a huge percentage of the clients I aim at hasn’t upgraded to Office 2003 yet, learning .NET doesn’t have a very high priority for me.

    VB6 and VBA are much better tools as it is right now anyway, when you’re writing applications in/for Office.

    But as soon as large companies start adopting Office 2003 and want to have managed code for their (MS Office) applications, I’m in trouble because I haven’t had a look at things like VSTO yet.

    So it is on my list of things to do, because the only way to survive this business is to keep up with the developments. Whether I like it or not.

  5. Hi,

    I do the following:

    # For simple applications to be used in productions-enviroment with “stupid terminals” I use Delphi 5.0.

    (Many times I compile the exe-file less then 350 kb and they don’t not require 8 MB – 20 MB system / supportfiles to be installed).

    # For more advanced applications I use
    VB 6.0 or VB.NET depending on customer’s choices.

    With one exception:
    If the application will automate / manipulate Excel I always recommend customers that we use VB 6.0

    # For pure Excel / office-applications VBA and VB 6.0 for ActiveX DLLs.

    Kind regards,

  6. I cannot believe Microsoft is crazy enough to prevent most of its largest customers from migrating to future versions of Office: so I am not worried about “the future of VB/VBA”.

    But my customers are always right: so if my customers want me to develop using VB.NET I will explain to them that at the moment developing office applications using is more difficult and hence more expensive and not my recommendation: but if they still want thats OK for my profits.

    And if my customers are crazy enough to ask me to rewrite their existing apps (some of my customers have over 50K lines of VBA) the same scenario applies: explain this is not sensible then take the money if they insist.

Leave a Reply

Your email address will not be published. Required fields are marked *