Will VB ever be standardized?

Someone recently sent me a question that comes up every now and again:

C# has been submitted and approved by the ECMA, will Visual Basic ever be submitted?

Well, never say never, but there are no current plans to submit Visual Basic to a standards body. The idea has certainly been discussed internally from time to time, but we’ve usually gotten stuck on several points:

  • By and large, the demand for this from developers has been very low, at least in terms of the people that we talk to in customer visits, trade shows, conferences, online, etc. Now, it’s always possible that there’s a latent demand out there for standardization of VB, and we’re always interested to hear people’s feedback on this, so let us know if this would make a big difference for you for some reason.
  • Having watched the C# team go through the process, it’s clear that standardizing a language through a standards body requires a significant amount of work. And a good chunk of that work has very little to do with the actual content of the standard and a lot to do with the general process overhead of publishing a standard. Given the previous bullet point, that makes us loath to dedicate resources to standardization that might be used productively elsewhere.
  • From a more philosophical (and personal) standpoint, there just seems to be something… I dunno, wrong about trying to standardize a variant of BASIC. I know that there was an ANSI standard BASIC many years ago (I have a copy of it up on my shelf), but I think that BASIC has probably been one of the most un-standard programming languages ever when you take into account the myriad of variants of the language over the past three and a half decades. I wouldn’t want us to jinx ourselves or anything…

OK, that last point isn’t really a reason why we haven’t approached standardization, but it is something I like to throw in to this conversation when it comes up. As I said, though, we’re always open to hearing what you have to say about this subject, so if you have a strong opinion, leave a comment or drop me a line through the comment form!

17 thoughts on “Will VB ever be standardized?

  1. Richard Jonas

    I don’t particularly care if the language I use is a standard, as long as it lets me develop things quickly. If I want to port something to a different platform, most of the changes I’ll have to make will be in the library functions, and if I need to make small changes in thee language that calls these it will be a small part of the overall effort.

    Reply
  2. Jonathan Allen

    I would perfer that VB not become standardized, as I don’t see any benefit for me.

    Some lanaguages like C and C++ were standardized, but few if any compiler actually supports the current standard. In the meantime, the libraries are so different that portability is virtually impossible. Even porting simple C projects between Unix and Windows back in college was a nightmare.

    Future versions of VB will have to be approved by the standards body. This means the sort of inovation we are seeing in the VB9 demos may slow to a crawl. Or, Microsoft will go off on their own and I have to constantly hear people complain that MS VB is non-standard.

    As long as the changes to VB continue to make it more productive and maintainable, I want MS to change the language as quickly as reasonable. VB 8 is already for more productive for me than VB 7, and yet the gains are trival to what I can get from XML literals. (Currently I refuse to use XML unless I absolutely have to, mainly because the DOM spec was so horribly written. And I would like to point out that it is an approved standard.)

    Jonathan Allen

    Reply
  3. Taiwo Ayedun

    I concur with Jonathan’s opinion regarding VB’s standardization…

    However, an ECMA-standard VBScript could enable VBScript to have much broader cross-browser scripting support.

    Taiwo

    Reply
  4. Ibrahim Malluf

    <Some lanaguages like C and C++ were standardized, but few if any compiler actually supports the current standard.>

    I think this person is mixing function libraries with actual language syntax. In any case, the ability to maintain large code base investments over a period of time is essential. That maintenance includes the ability to bring the code base forward with as few breaking changes as possible. Standardization goes a long way towards that goal. C, C++, and now C# have the benefit of surviving generational changes in the underlying compliers due to that standardization without any major hiccups.

    The move from VB6 to VB.Net is a disaster for many shops precisely because of changes in the language’s behavior and syntax. And to hear you say that you haven’t heard of any serious interest in standardizing the language just tells me that you are just choosing to selectively ignore a certain sizable segment of the VB community. Don’t get me wrong, VB.Net as it is is an absolutely great step forward in the development environment. But that step could have been made without the many breaking changes that where made. But now that the changes are made, I say it is time to certify VB.Net as a standardized language so that such breaking changes are done with much less frequency and scope.

    When you ask for reasons for, and or demand for standardization remember that the C# community seems to have considered it a neccesity. Why would VB be any different ? Do all of you at Microsoft consider VB to be just a ‘toy’ language?

    Ibrahim (former VB MVP)Malluf

    Reply
  5. paulvick

    Ibrahim: Standardization doesn’t always mean absolute stability, and stability is certainly possible without standardization. As I’ve said before many times, the really fundamental breaks in continuity with VB6 occured because of platform changes, something that would have happend (IMHO) with or without a VB standard. Thus, I believe standardization, in and of itself, does not strengthen or weaken MS’s commitment to language stability across time.

    Indeed, most of the time that standardization has come up (and it has not come up extremely frequently), it becomes clear after discussion that the desire is not so much for a standard as for a commitment to language stability. That we have strived to provide and you can see the results in the compatibility between VB 7.0, 7.1, 8.0 and everything we’ve discussed so far with 9.0….

    Reply
  6. Anthony D. Green, MCP

    A few points,

    First and foremost, and this may be an IE setting issue but:

    If the rest of the text on this page can stretch and shrink and wrap relative to the width of the browser window why is it the comments box can’t? Maybe you’re passively forcing me to author and edit (spell-check and revise) a post elsewhere before submitting it. Hehe

    Second, and certainly more germane to the discussion at hand:

    I didn’t resist the move from VB6 because of breaking changes to the language syntax.

    I RAN from VB6 with arms wide open seeking the way that was VB7.1

    I needed to write a lot of properties, every time I had to write "Property Let" "Property Set" "Property Get"… just thinking about it really pisses me off. I halted all development until I could get the streamlined syntax.

    Third:

    When we speak of breaking changes from VB6 to VB7 how many of these are IDE changes and how many are language changes? With VISUAL Basic it’s always been a blurry line between the two. Language wise there were only a few particular removals that come to mind, whereas additions were plentiful. As mentioned there were a lot of platform changes. It was this macro-product that was a mix of everything. Were RDO, DHTML, and COM really part of VB? Should the File IO statements have really been?

    Fourth, to be blunt:

    I am AGAINST standardization. I’m against having some slow European body of smelly old people vote over the course of several years on every little change and stunt the dynamic nature of this living language.

    Fourth and a half:

    I trust Microsoft. Yes, it’s a company with an imperfect record (big f-ing surprise). But that record represents learning from mistakes, it’s an evolving company and from what I’ve seen over the last 2 years I trust them to do better. I have more faith in Microsoft as the Standardizing Body for its own product than I do the "European Computer Manufacturers Association" is it? Why do I care about their opinion, again?

    I, foolishly, throw my chips in with the direction they’re taking. SD3+C and Managed Code, and CAS, and WinFX, and Longhorn, and integrated that, web services this. I see an improving user experience and an improving development experience. The pains we suffer are growing pains. If I recall correctly there is some pretty deep list of requirements outlined by Paul Vick in the VB language specification with regards to procedures for deprecating and removing language elements. That’s all the commitment I need.

    Keep up the good work – Down with Win32, Long Live WinFX!

    Reply
  7. Alex Lee

    In my opinion, a language standard ensures the language’s features which allows other implementations to come out. Without a standard, few organizations will try to write a compiler for this language, say VB.NET. C# has a "standard"(quoted since it’s rather questioned), so there are other implementations, such Borland’s and mono’s. C and C++ are also good examples. But VB hasn’t. This makes it’s hard to be implemented by other organizations and on other platforms, for no one knows what it’ll look like tomorrow. Even someone has the energy to follow say MS’s VB specification, it’ll be always slower and difficult. That also means people will have less choices. I think that’s the key why people desperately wants a standard.

    Another benefit of a standard is that it makes people comfortable. A standard means it’s not or to a less degree controled by a single organization. For example, if VB.NET has an ISO/ANSI standard, then people will say "our’s VB", not "Microsoft’s VB". 🙂

    Yes, there are many variants of BASIC in the world, and this seems to be a tradition of BASIC. But how many people can say they can really rely on them? Variants change and die at a higher frequency. Since the features of those variants differ, once a variant fades away, people will have a hard time porting existing codes to another variant.

    P.S. The only reason I work with VB is that it supports something like that of scripting languages. I hope more dynamic features will be add into it in future versions of VB.

    Reply
  8. Karl E. Peterson

    PV: "As I’ve said before many times, the really fundamental breaks in continuity with VB6 occured because of platform changes,"

    Name one, other than deterministic finalization.

    Integer/Long redefinitions? Nope.

    Recycled keywords? Nope.

    What, in your opinion, <b>fundamental</b> breaks were platform requirements?

    Reply
    1. paulvick

      Karl: Pretty clearly, the move from VB’s forms to Windows Forms and the move from ADO to ADO.NET represented fundamental breaks much more significant than whether Integer is 16 or 32 bits or whether GoSub is still supported.

      Reply
  9. Beth Massi

    Bottom line. I don’t choose a language based on whether it’s a standard or not, I base it on whether or not it will get the job done FAST with the resources I have. That said, I think it would be interesting to see VB.NET standardized. I think it would improve it’s reputation but probably at the cost of features since a lot of wonderful features of VB.NET are in the compiler itself.

    Reply
  10. SiGiD

    Standardize VB? Why? I mean, just because BASIC is a language doesn’t mean that Microsoft cares about its own dialect matching any other "standard". VB is a totally *proprietary* product, and making something its *own* standard has no meaning…

    And from a practical standpoint, why and how do you "standardize" a language when the platform it rests on is not yet stable? You can’t build a house on quicksand……and considering the new schemas that VB9 is supposed to embrace, standardization is even less meaningful.

    To Beth M: I completely agree with you – which is exactly why .NET is not on my radar screen yet (and may never be).

    Reply
  11. YongYe

    Visual Basic 2005 – after further review – is much worse than VB6.

    The creative features of programming have all been lost – leaving you with "A Robot Featured Application Generator!" Called Visual Basic 2005.

    Just how long will it take – after you think you’ve written a great piece of NET.Code – before someone writes their Reverse Enginering AddOns! There’s no code protection in NET – Doesn’t anyone have clue?

    Use the fancy words… Managed, Reliable, Stable etc… let’s all put chips in our brains and have a dump at the end of day!

    And while you NET Fans write your NET Codes (of course – the forums are having a MayDay!) – debugging and what not – My VB6 is running just fine – thank you!

    Have a great day!

    LadyBug!

    Reply
  12. Pingback: Anonymous

  13. Adama

    Visual Basic 6.0 is here in 2014 and it is supported by hundreds of thousands of programmers. VB6 will be back soon !

    Reply

Leave a Reply