Why I didn't sign the VB6 petition....
by Michael S. Kaplan, published on 2005/03/15 02:17 -05:00, original URI: http://blogs.msdn.com/b/michkap/archive/2005/03/15/395684.aspx
I was asked if I would like to sign the Classic VB Petition to Microsoft that is going around.
I know I was not the first person they asked (there were already signatures by then!), and I know I was not the most important.
I decided not to do it (obviously, since my name is not there).
It was not that I think the motivations that led to it are wrong (I don't), I just think that the stated goals of the campaign are ill conceived.
It reminded me, in fact, of a situation at work from a while back now.
The team who owned a technology had been whittling away at features that had been promised to various teams (the sort of thing that happens when too much was promised initially and people are eventually reminded the technology has to ship at some point). Admittedly the technology's goals were important and in their defnse they were accomplishing quite a bit, but the problems with were stacking up and there seemed to be no end in sight. Yet the mandate came down -- the technology would be put in, even before it was proven to work in what some considered important scenarios. And then someone -- someone really important -- weighed in and said this had to change. Unfortunately, when they did it they did the wrong thing -- they asked for too much, for something that could not happen. At that point, there was really nothing to do, since the actual request couldn't happen.
Now, would the situation have been different had they not been asking for so much? Maybe not. But maybe there would have been room to dicker, more room to get the technology further along. It may not have been everything, but it may have been something.
(it should hopefully be obvious why I am being so opaque about specifics; even though it has been a while, being neither as important nor as smart as the person who weighed in keeps me mysterious here!)
The moral of this not-quite-Aesopian fable?
That if you have some capital to spend, don't pledge more than you have -- or you will lose the hand, and you won't have the stake you had, for the next hand. When it might have helped.
Do I think the Most Valued Professionals and others have valid concerns about the initial direction of the language? Possibly.
Do I think they have the right to ask for Microsoft to do more than they have to engage the development community to avoid a FoxPro/Visual FoxPro type situation (a community based on the old product and another community based on the new, with little in common between them other than the name). Probably.
But do I think they asked for too much in asking for "VB.COM" with a slot in the VS.NET IDE? Definitely.
Because instead of sticking to the community area where they were arguably strong, they moved into the areas of the actual product that would have involved major development effort that would do little other than express a lack of confidence in the direction the product (actually, the whole suite) has taken. And the compelling community on the VBA side of the world, the one will all of the less sophisticated developers who are less able to handle change, was for the most part not leveraged. Now they have to be told NO for the technical reason that their suggested solution is impractical.
They overestimated the value of what they were holding and I think it will cost them the hand.
I could not put my name to that any more than I could to anyone trying to draw to an inside straight.
Not that my name would have made or broken the deal (I'm not really important enough for that!). But if I put my name on something I have to believe it is something I would want to have happen.
Even now I would like to avoid seeing the VBA6 and VB6 community splintered for all always from the .NET community. But (IMHO) the heaviest hitters have spent their reserves, and they did it by bluffing. On a busted flush.
This post brought to you by "6" (U+0036, a.k.a. DIGIT SIX)
# Me on 15 Mar 2005 12:44 AM:
Well, if Microsoft used VB internally like they used VC they wouldn't have killed it.
Essentially we are asking for continued support for mission-critical business systems.
# Manip on 15 Mar 2005 4:28 AM:
But at least now Microsoft know that we think the VB.Net solution sucks and are not fooled by their half-assed attempt to create a VB/C++ intermediary language which is not based on BASIC in the slightest.
That's what you get when you hire a bunch of people that don't appreciate VB6 to write its successor.
# Michael Kaplan on 15 Mar 2005 4:36 AM:
# Michael Kaplan on 15 Mar 2005 4:42 AM:
And sorry Manip -- thats not what this is about either. At lest this is not what they said.
Plus that turns all of this into a butter-side-down religious argument.
And if you think that VB6 is not a VB/C++ intermediary language then you do not understand how natuve compilation in VB6 works. It has been a VB/C++ intermediary language since VB5 was released....
# D on 15 Mar 2005 5:32 AM:
Not a big deal... The entire point of C# is to provide a nice migration from VB to a real programming language, be it C++ or...well, C# 2.0 or 3.0 even. So it really doesn't matter...it's going away anyhow.
# Michael Kaplan on 15 Mar 2005 5:36 AM:
Ever notice how the people who post the most obnoxious comments always do so anonymously? :-)
Total flame bait D, but I figure the world can see the plethora of opinions out there....
# Michael Kaplan on 15 Mar 2005 5:45 AM:
# J. Daniel Smith on 15 Mar 2005 6:58 AM:
The MythBusters (
http://dsc.discovery.com/fansites/mythbusters/mythbusters.html) recently evaluated "butter side down vs. butter side up".
Where I think Microsoft went wrong in all of this is not doing C++/CLI from the get-go. Had that been done, there wouldn't have been the need for C# (other than as an alternative to Java) and VB.NET would be in a much stonger position. (Even if that "stronger position" is only perceived). See
http://spaces.msn.com/members/jdanielsmith/Blog/cns!1pRjebUoVh0bNLSJvrecmAEg!147.entry
As for VB6, Microsoft should have "proven" that you can bolt the CLR onto any language by leaving VB6 (the language) unchanaged (there was no pressing need to change things like array indices/bounds). Of course, that would really only be a portion of the battle, as any real-world VB6 app had to call into Win32 at times.
# Richard Threlkeld <MVP> on 15 Mar 2005 7:27 AM:
Please don't think that just because this petition has (at this point) 216 MVP's that have signed it that it means all MVP's agree with it. From your comments it sounds like you might hold them in less esteem now and take the value of their opinions less going forward. I do hope that's not the case just because some feel this way about a product (VB) that has served its time and about another (VB.Net) that should have never been created.
# Michael Kaplan on 15 Mar 2005 7:42 AM:
I do not hold MVPs in less esteem after this. After all, I used to be an MVP (for Access), and was almost made one again (for
MSLU) just before I went full-time. :-)
(In fact I am the first MVP who was allowed to resign -- a story about which I probably cannot say more without getting in trouble!)
I do not hold that important person in less esteem either -- they are still one of the coolest and most kickass people at MS as far as I am concerned. But everyone makes mistakes....
After having many conversations with FoxPro experts like Nancy Folsom I simply have trouble seeing the difference between this and the FoxPro/VFP split.
(With one important difference -- VB.NET *has* resources and support whereas I always felt VFP has succeeded in spite of the lack of such support from the higher-ups at Microsoft.)
# Michael Kaplan on 15 Mar 2005 7:50 AM:
J. Daniel -- I am not sure if it was published or not (!), but I think I even wrote an OpEd for VBPJ about VB.NET and that the jury was still out (this was before the first version had even shipped). And even though I do not use VB.NET, I have nothing against those who do, and I think is as much VB as VFP is the original FoxPro. Despite the spew Manip is flinging, a lot of the team was the same and some of it still is.
While they could have proven such a thing with a bolt-on VB6, I think that the COBOL.NET demo was a lot more powerful (at least it was for me). And I definitely think it is too late to move back to such a model....
# J. Daniel Smith on 15 Mar 2005 8:28 AM:
Yes, COBOL.NET sounds pretty slick (although I haven't looked at COBOL code in 15 years).
Microsoft was between a rock and a hard place: had they created VB7 (an evolution) instead of VB.NET (a revolution), people would have complained that too much of the cool new .NET stuff available to C++ developers (remember, C++/CLI done the first time, no C#) was inaccessible/hard-to-use/etc. They tried the evolutionary approach with Managed C++ and it didn't work to well, C++/CLI is more of a revolution--at least from the C++ point of view.
I think VB.NET would be great - if there wasn't C# as an option. I'd use VB.NET when I didn't care about all the details, and C++/CLI when I did. And in Visual Studio 2005, I can have both in the same project. But C# is so much more accessible to a C++ programmer...
# Michael Kaplan on 15 Mar 2005 8:33 AM:
There are a few specific situations that have been better in VB.Net, such as optional parameters (try automating Word without them -- you will go nuts!).
I have used C# for my managed code forays, and not been unhappy. But in a world where people like different things I would never say that a language was un-necessary just because I was not speaking it. If that were true I'd be telling everyone they should speak English! :-)
Yuhong Bao on 15 Oct 2010 9:24 PM:
The funny thing about this is that MS have continued to develop VBA further, which was the base for VB6. With Office 2010 they even ported it to 64-bit. Could a new Classic VB be developed on top of VBA 7.0?
Please consider a
donation to keep this archive running, maintained and free of advertising.
Donate €20 or more to receive an offline copy of the whole archive including all images.
referenced by
go to newer or older post, or back to index or month or day