Save Ferris! I mean, VB6!

A few days ago Scoble emailed me with the heads up on his post talking about the MVP revolt spurred on, in part, by the fact that VB 6.0 mainstream support is ending this month. Then life intervened and I’m just now getting some time to get back to the whole brouhaha. In the meantime, this has roiled through at least a few corners of the blogsphere. I’d throw in a couple of gratuituous links, but if you read any number of .NET or VB blogs, you’re going to have seen them. Well, OK, two entries that stand out in my mind were those of Dan Appleman and Scott Swigart. There were plenty others that I although thought were good, but one man can only link so much. The petition itself can be found here.

I should start off with the statement that I have a great amount of sympathy for people who have not yet made the move off of VB6 and who would very much like to see support extended even further than it already has. I know that support can be a real issue and is something that people worry about. Beyond that, though, I can’t really say anything because I’m not even remotely involved or included in decisions about things like product support. I, along with the rest of you, will be interested to see what kind of response the outcry elicits.

As for the petition itself, it asks for two main things: 1. That we develop new versions of “unmanaged VB”, and 2. That we integrate those new versions of “unmanaged VB” into the Visual Studio shell.

To start with the second point first, to those who think we should integrate VB6 into the current Visual Studio shell, I can only offer the perspective of a developer who’s worked in both codebases: best of luck. In VB6, all of the pieces of the puzzle (compiler, debugger, forms package, runtime, etc.) were designed to work solely with each other and were tightly bound together. In Visual Studio, all of the pieces of the puzzle were designed to work with mutiple clients and were loosely bound together. Thus, the architectures are totally different and, in many ways, incompatible. Heck, we spent four years getting VB .NET integrated into the Visual Studio shell and we were writing it from scratch (and therefore could design a compatible architecture)! Trying to extract some of the pieces of VB6 and fit them into an architecture that was not designed to couple with them as tightly as their previous home would be a huge undertaking.

And when I talk about a “huge undertaking,” I’m not talking huge in terms of fungible stuff like money or people. I’m talking huge in terms of non-fungible stuff like time. No matter how much money or how many people we threw at the problem, it would still be a significant amount of time before anything could be produced. I’m talking, like, years. So, now we’re talking about having something in, what, 2007? 2008? At best? Ten years after the previous version of “unmanaged VB” shipped? I’m not really sure how that’s going to make much of a difference to the issues that people are confronting today.

Now, obviously, we could still satisfy the first request by shipping a new version of VB6 that wasn’t integrated into the Visual Studio shell, and that would take a lot less time. At this point, though, I don’t believe that even that would really buy people that much. Leaving aside the question of the desirability of a separate-but-sort-of-equal development envrionment, Microsoft has stated very clearly (pace Richard) that managed code is the direction that our company’s components and APIs are headed. As such, fostering new development (as opposed to extending support for existing development) in “unmanaged VB” doesn’t just postpone the inevitable, it makes it worse. It encourages people to keep writing a lot more code that, somewhere down the road, they’re going to have to port to .NET. It’s alleviating pain in the short term only to cause greater pain the long term, something that I don’t think it would be responsible for us to do. (One part of the petition that did mystify me a bit was the request to “Ease […] migration of unmanaged VB/VBA code to VB.NET.” Does anyone think that we haven’t been working on that?)

So, while I can be sympathetic to where the petitioners are coming from, I can’t ultimately support their stated goals. Obviously, we continue to have work around helping people make the transition from COM to .NET at their own pace and helping them be clear on the advantages of doing so. VB 2005 is going to help a lot here, I think, and we continue to work on even more things for the road beyond. In the end, I think that’s the best thing we can do.

85 thoughts on “Save Ferris! I mean, VB6!

  1. Pingback: AddressOf.com

  2. Pingback: AddressOf.com

  3. Pingback: Rockford Lhotka

  4. Pingback: Frans Bouma's blog

  5. Brian Tosch

    The obvious solution is for MSFT to open source VB6 and let the community maintain it as they see fit. This mitigates one of the largest risks in adopting a closed source proprietary dev platform – that the vendor may simply decide to no longer support/improve it. It should quiet vb.net objectors as they get to work untangling what I’m sure is not a pristine source tree – especially since you’d probably strip all the comments out in the process.

    Reply
  6. David Totzke

    Correct me if I am wrong, but isn’t Visual Basic written in C++ ? I even recall some time ago that one of the accusations against the VB team was that they weren’t dog fooding it and as such not as much care was taken to avoid bugs.

    So, assuming that I am right about VB6 being written in C++, what good would releasing the code base do the VB6 developers? Where are you going to find really good C++ developers to work for FREE and help you continue to develop something they will never use?

    I’ll bet that the test matrix for VB6 is massive. Support for all of the current, and if you extend your philosophy, non-current operating systems and for all of the various different components that are out there in the wild. As Paul said, this is a huge, tighly coupled codebase.

    Then again, maybe I’m wrong.

    dave

    Reply
  7. Ninputer

    Keep confidence on VB.NET! I love it. Please just focusing on how to improve VB in the managed world. Think why VB6 are so welcome, VB6 can make lots of things easier than C++. But VB.NET doesn’t appear much eaier or better than C# in .NET world. The VBers are feeling less superiority complex than before. So the only way is to improve VB, makes it more powerful, more dynamic, more lovely, do not have to type more than C#. VB will be successful if you choose a right way.

    Reply
  8. Pingback: p u b l i c v o i d . d k

  9. Juan David Gomez

    Dear Paul,

    Please don’t listen to those fools; they are a bunch of losers trying to get by the easy way.

    I know a lot of “Classic VB” developers who are very happy with VB.NET, for instance you can read all the rave (and I know you have) about default instances back at http://lab.msdn.microsoft.com/productfeedback/viewFeedback.aspx?feedbackid=65ff7de1-5075-46f5-89e4-2a11dac20db2

    That’s a bunch of VB folks saying “Hey we finally have a Powerful, Clean and Object Oriented version of VB, please don’t let us go back to the “toy language” times when C++ and Java dudes called us “programming queers”.

    I know you did a great work on VB 2005 so that the folks that haven’t jump in the .NET wagon yet, can easily migrate, I think trying to relive “Classic VB” it’s a great mistake, please keep all the good work focused on evolving VB.NET

    Thanks Paul!!!

    Reply
  10. Christopher G. Lewis

    The funny thing that people are missing is that VB 6.0 programs can be run in the WinPE enviroment, while a .Net program cannot.

    I certainly don’t do it often, but have had the request of a client to create a small app that runs under WinPE that prompts for a couple of fields, verifies them, and does an action based off of this (prompts for a city/state, then connects to the closest repository server for the rest of an installation script). I’d never want to do something so trival in C++, can’t do it in a WinForm in .Net because .Net is not supported in WinPE. VB 6.0 is the ideal solution for this, until managed code can run in WinPE.

    Am I currently happy with things? Yes. .Net *ROCKS*, whether C# or VB (I do both). It’s lightyears ahead of Vb 6.0, and its the future.

    I certainly don’t expect Microsoft to update VB 6. If anything, I’d only ask for a VB 6.5, with the 6 SP’s rolled in, and some ever so slight updates (like mouse wheel support and code folding).

    Really, I could just do with mouse wheel support 🙂

    Thanks!

    Reply
  11. Don Tillman

    For all of you who are sick of Microsoft and how they are bungling VB, check out RealSoftware’s RealBasic. Edit and run and compile on a Mac for WINDOWS, LINUX and MAC OS!!!!! Forget .Net, move to RealBasic!!!

    Thanks,

    Don Tillman

    (not an employee for RealSoftware nor a PR guy for them)

    Reply
  12. Karl E. Peterson

    So, it sounds like you’re saying that the Visual Studio.NET IDE is <b>so poorly designed</b> that it can’t accomodate a simple language like Classic VB, huh? That’s interesting. Sounds like y’all really wasted your time, already. <shrug>

    Reply
  13. Jonathan West

    It’s time to debunk a few myths about VB.NET put about by .NET enthusiasts

    1. The changes were necessary for compatibility with the platform.

    Most of the changes were because Microsoft thought it was "improving" the language. Of the changes that broke existing syntax (as opposed to adding new features), only 3 or 4 ever had a convincing technical justification from Microsoft.

    2. VB coders are too dumb to learn a new language

    This is plain silly. Any programmer worth his salt can learn a new language at need.

    3. You can carry on coding in VB6 for as long as you like

    This is more subtle, but equally wrong. If VB6 is never updated, newer platforms will acquire progressively more features which are inaccessible to applications written in VB6. Eventually, VB6 will not be able to run on modern platforms. So the evil day of rewriting may be postponed for a while, but it cannot be put off for ever. Also there’s no telling when an upgrade to Windows will break a third-party OCX. Most VB6 projects make use of at least one.

    4. All changes of platform involve rewriting your applications

    True to some extent, but the change from VB6 to VB.NET went way beyond the necessary changes. You would expect to rewrite code which makes use of platform features that are significantly different from previous platforms. But there should not be any need to rewrite business logic code. To take a trivial example, there is no reason why a Quicksort algorithm should need to be rewritten because you have a new compiler for a language targetting a new platform.

    5. VB6 & VBA coders hate .NET

    As a VBA coder, I’m quite used to dealing with an object hierarchy for accessing what to me are platform features (i.e. features of the application my code makes use of). Extending this to OS functions seems completely sensible to me. I like the concept of the .NET platform. The problems of VB.NET were never the .NET bit, they are the VB bit. .NET is a great idea, it’s just a pity that VB was never added to it.

    6. VB was always to do with COM and so moving from COM meant changing VB

    VB was hosted on COM from VB4/32 onwards. Before that, it sat on a different architecture (with VBX add-ins), but had essentially the same syntax. Visual Basic 1 was an extension of QuickBasic, but still maintained and extended the same overall syntax. There are VB6 applications around that contain business logic code that dates back to before Windows existed.

    7. There is a practical upgrade path

    It’s best to draw a veil over the shortcomings of the migration wizard. In addition, you can’t even copy & paste pure business logic code because of the syntax changes. You end up having to largely rewrite any substantial application from the ground up. Any VB6 code libraries available have to be similarly rewritten. (Remember, there is no faster form of development than being able to re-use existing working code!)

    Paul, don’t you now regret all those syntax changes that you thought improved the language?

    Reply
  14. David Cornelson

    Is this about VB or is this about its dwindling marketability? I know some guys that refused to learn .NET and they’re now unemployed. I feel bad for them, but I also strongly urged them to adopt .NET and even offered to help them learn it.

    I see no point in continuing development on VB6. I developed systems in VB all the way back to version 1.0 and then wrote ASP websites with application servers using VB6 COM objects. I made the leap to C# in 2001 and have never looked back. It took a few years to learn OO, but learning C# was pretty easy. In the end, I will say for myself that devloping applications in .NET is vastly more efficient than VB6. If you haven’t tried it, you wouldn’t believe it. There are so many abusive hurdles in using VB6 that I’m sort of stunned to see so many MVP’s attaching themselves to this petition.

    Any MVP worth their salt would have helped people migrate in the last 4 years. Any MVP that’s signed this petition has basically thrown the value of their service to the community out the window.

    Move on people. VB6 is dead. As it should be.

    Reply
  15. M Snyder

    The authors of VB.Net missed the boat. They took and removed all of the advantages of VB and turned it into a pretty much useless language. The thing about VB6 is that you could write code with minimal debugging. .Net kills our production time. You spend hours debugging stupid little errors that you would never get in VB6. And no it is not because I don’t know what I am doing. Instead of VB.Net, you may as well write in c++ or Java. They say the performance is better, it depends on what you are doing. We use small VB6 CGI applications to run our web product. When I migrated these to VB.Net the performance dropped 300%. The applications are slow to load, clumsy, and needlessly complex. It took over and hour and a half to install. As a developer I’m looking for a lightweight, fast, and portable language that can work in p-code on any platform. If I want 20,000 functions I can buy them from a third party. Half the time the built in ‘components’ are full of bugs, lack functionality, or simply incomplete. If Microsoft wanted to do something for VB developers they could write a VB6 runtime for Linux and Mac. I know they designed VB.net from the ground up but it just simply doesn’t fit our needs.

    Imagine the billions of dollars that will needlessly be spent because someone at Microsoft could not figure out a way to convert a 1 megabyte DLL to compile existing code exactly. I find it very difficult to believe. It is just one more way for Microsoft to erode its market share. The functions just aren’t that complex! I mean how hard is it to keep the keyword ‘Null’?

    We are currently migrating our apps to Java using Eclipse IDE. Why trust Microsoft again? The VB.net adoption is kind of lackluster, they’ll probably kill that too.

    Reply
  16. Stephen Bullen

    What nobody seems to be thinking about is the future of Office-based development, which currently uses VBA. Very few people writing VBA applications are programmers – they’re business people who use VBA to make their main jobs easier. Sure, their apps are relatively low quality, but they’re also very quick and easy to create, *exist*, *work* and are often now critical to normal business operations. Very few of them ever had a budget to create and certianly won’t get a budget to rewrite.

    Again, the people creating these apps are not professional programmers – their careers are not dependant on learning new programming languages or techniques and discussions about which language or IDE is better or more efficient are totally irrelevant to them.

    These people know and understand VBA and the Office object models and the *only* way to get them on to .NET is to make the transition from VBA as easy as it can possibly be. If there are separate IDEs for VBA and .NET, existing Office developers will simply fire up the VBA IDE and continue to use it and never investigate what .NET can do; when/if the VBA IDE is eventually removed from Office, they’re most likely to stick with the last version that supports their apps.

    If VBA is combined into the VS IDE, all these VBA developers will then be using an IDE that also supports .NET, which these developers may then get more curious about.

    That’s why I support this petition, and why I urge anyone else that cares about Office productivity and future sales of Microsoft Office to do the same.

    Regards

    Stephen Bullen

    Reply
  17. Jonathan West

    Hi David

    This is about two main things

    1. VB6 is going off mainstream support without a decent migration path for *existing* VB6 apps. We all know that new apps can be written in any language you want, and there are good arguments in favor of using the most modern language, platform and development environment available. If migration had been made reasonably practical, nobody would be caring much about VB6 by now.

    2. If Microsoft gets into the habit of confusing languages with platforms, and assuming that it’s OK to make radical changes to the syntax of a language whenever it moves to a new platform, even your busines logic code in VB.NET is going to have to be rewritten in order to move to the next platform when Microsoft gets its Next Big Idea. How do you feel about that prospect?

    If you want to prevent this, I suggest you sign the petition and help jolt Microsoft into understanding that its customers put a value of the code they have written, and don’t appreciate that code being reduced in value because of arbitrary and unnecessary decisions by Microsoft. If Microsoft understands this and makes a policy around it, that will benefit you as a VB.NET programmer as much as it will benefit me as a VB6/VBA programmer.

    Reply
  18. Standard Languages!!!

    Just to add to the debate.

    I have never used VB or VB.NET, however one wonders whether in a few years time due to architecture changes, software marketeers etc we will not be having the same debate about VB.NET C# or any other microsoft product.

    So all those people advocating moving to .NET environment one has to ask the question of MS as to what guarentee will be provided to the future existence of MS "developed/designed" programming languages or philosophies.

    I would advocate using accepted, formally standardised languages for development rather than being tied to the whims of organisations who are only driven by the bucks and force the business community down roads over which they have little control.

    Reply
  19. Jonathan West

    It’s all very well to say only to use "accepted, formally standardised languages for development", but that still leaves you needing the services of "organisations who are only driven by the bucks" to produce compilers and IDEs for the languages.

    Of course, with the extent of the changes from VB6 to VB.NET, it becomes about as practical to port from VB6 to other languages and therefore to other companies’ development tools. And there are porting tools for the purpose which are comparable to or better than the migration wizard. For instance, there is a VB to Delphi porting tool available from http://www.deluxsoftware.com/

    I know of at least one company with a ton of commercial VB6 code which is taking this route.

    Reply
  20. Monte Hansen

    There are things that MS could do, if they wanted to satisfy concerns of its customers assets (VB code that is); but they dont/wont.

    Ive packed my large VB code base and put it on the wall forever more (some really nice stuff that I never completed that isnt worth completing or porting). <b>My protest was to give the finger to VB#</b> and move to Eclipse — the best development environment I’ve seen yet — and yes for java.

    I _really_ love C# as a language, and think they did a good job on the core .net libraries in such a short time. But it doesn’t make me feel any better.

    How many champions can MS afford to lose in the development circle? These are not just developers/customers but that also people that do evangelical work for something that desperately needs momentum. Anyone looked at dice/monster for .net jobs lately; how about compared to java jobs?

    Duh: customers wont adopt .net if the developers dont adopt it. Developers wont adopt it if they are hung out to dry.

    I work for a company with a top ranked IT dept. They were FORCED to dump (aka rewrite) tons of VB code. Forced with that choice they chose java, and I think they chose wisely. Its a shame MS didnt leave much choice.

    Monte

    Reply
  21. David Totzke

    M Snyder said:

    "You spend hours debugging stupid little errors that you would never get in VB6. And no it is not because I don’t know what I am doing."

    It’s _precisely_ because you don’t know what you are doing that you are having so much trouble. It takes time to shift your paradigm (somebody had to use that word eventually) and if you are coding in VB.NET with a VB6 mindset, you’re absolutely going to have problems. We all did to some extent.

    Once you move past it however, the productivity enhancements are undeniable. Anyone that says different is absolutley wrong. And that’s from experience, not from any "marketing" crap from MS. Having inheritance alone at your disposal is a monumental benfit. You could fake it before with containment and delegation, but it’s not the same and takes more code. Code that could be buggy.

    Monte Hanson wrote:

    "They were FORCED to dump (aka rewrite) tons of VB code. "

    Forced by who? Not Microsoft. My God man, there are still millions of lines of COBOL running out there. And there’s even a COBOL.NET.

    Longhorn is a very long way off and Microsoft has said that the VB runtime is part of the test matrix for Longhorn and that VB programs will still work. It’s the IDE that will be unsupported but in the almost 10 years I’ve been writing VB code, I’ve never once had to get support from MS for the IDE. Never. So what’s the problem?

    And moving to Java? If a developer can make the intellectual leap to programming in Java, VB.NET would be a breeze. All of the complaints about the changes to VB apply equally to making a move to Java. Perhaps more so.

    Anyone that is advising their clients or employers to dump their existing VB6 code-base and port it to Java or VB.NET or whatever should be sued back to the stone-age for malpractice.

    Dave – Visual Developer.NET MVP

    Reply
  22. Richard Bethell

    My problem is not the skills, they’re easily transferable to vb.net. Nor is my problem managed code. We’ve done all our newer apps with neither VB, nor VB.Net, but C#. It is a nice, elegant spin on the classic C syntax.

    My real problem with what Microsoft did to us on VB6, is that we’re left without a migration path forwards. We’ve got huge, huge applications, and I just can’t justify pitching an upgrade to VB.NET to my superiors – I mean listen to the pitch!

    "Well, we need six months to be left alone to upgrade application X to this new platform, so that we still get Microsoft support on it. When we’re done, and have spent $XXX,XXX on it, and XXX person-years, we’re going to have the exact same version as now, but it will be…. um, cool!"

    I’ll get laughed at! The upgrade wizard has to get better, and we need compatibility classes for stuff like the printer object, or people like me just can’t go forward – you haven’t given us enough to take back to our companies, and sell this sort of thing. You’re going to have to do better than tossing in Artinsoft-rented conversion widgets, and make conversion a more fundamental (and better) part of what VB.Net does.

    That’s why VB6 developers still outnumber .NET ones. You just haven’t given us enough – and the threat of support expiring out on us is probably not going to be enough to do it.

    Reply
  23. Monte Hansen

    Hi David Totzke,

    How big is your Visual Basic library? Mine is pretty big, but it’s a drop in the bucket compared to my employer, and countless other companies who have invested big time in building systems and business logic in VB. Microsoft sold VB as a strategy, and companies bought it. Companies implement strategic decisions years in advance, and now they have to deal with the sunset of a language and support thereof. This means they will maintain it to the extent they can, and ask themselves how long can they hold off from porting it. And this talk about the technicalities of the public support agreement is BS — this is a message to the corporate universe that says you must make the jump, either to .net or to java. Developers may not understand this, but IT executives do.

    This would never happen to Java because Java is bigger than Sun. VB is not bigger than Microsoft. For those about to jump, I salute you.

    Monte Hansen – Visual Basic MVP

    Reply
  24. Pingback: Panopticon Central

  25. Alex Feinman

    But what exactly prevents you from taking your "tons of exisiting VB code", componentizing it and reusing it via COM interop from the .NET applications? The Windowing/Threading model of VB was ok for Win16 but it long has outlived its usefulness. Nobody says you have to port millions of lines of code (assuming you have it) over night. But if you took your head out of it two years ago, you would be half done by now. It’s not like end-of-support date has been announced this month.

    Reply
  26. Monte Hansen

    There’s a principal you don’t seem to get, and it has little to do with migration or interop. You are a smart guy Alex, but perhaps the urge to throw out useless smart alex remarks makes you think small minded on this issue. Please keep your insults to yourself.

    Reply
  27. John Travis

    When I decided to go the Borland Delphi way a lot of people told me I was crazy and that Borland (and Delphi) would not be around in a few years. Well, the years have passed, the VB guys have been left in the cold, the C++ and VB guys are starting to see the joy that I’ve been enjoying for almost 10 years (a Pascal dialect as powerful as C++ and as easy as VB), that compiles and uses the best features available in Win16, Win32, Linux-Intel and .NET (no .NET2.0 or CF feature support *yet*, though.), and has a mature component market that is huge and top-quality. No runtime headaches, no dll hell, no crappy 3rd-party addons, and of course, Delphi was made in Delphi from the start…

    I can still load Delphi 1’s (Win3.1, 16-bit) demo in Delphi 2005 (.NET, Delphi v9) and compile it without a hitch, or develop my code with VB, Delphi Win32 or .NET, C#, and soon C++ personalities.

    Reply
  28. Conor Delaney

    I decided recently to transfer my skills from VB6. to VB.NET, but now I am having second thoughts. VB.NET is not Visual Basic, by any stretch on the imagination. It is indeed a very powerful language, but the amount of time I need to reskill is unreasonable. Why do I have to change to VB.NET? What was wrong with VB6.0? If there is a problem with VB6.0 why didn’t Microsoft ease the pain by giving Visual Studio .Net away free? I realise that I can’t stay with VB6.0, but where do I go now? Java or Delphi, RealBasic or do I bite the bullet and go with .NET (but how can I ever trust Microsoft again?)/

    Reply
  29. Pingback: Keith Rull

  30. M Snyder

    Monte-

    It’s finally nice to see someone who shares my opinion. For all it’s worth I’ve sold over $10 million worth of VB6 software. An I’ll tell you what… It’s great stuff and it works. I wish I could say the same for .Net. But I can’t because my customers refuse to install the framework.

    Reply
  31. John Baughman

    Conor: Just so you know, you don’ t need Visual Studio to learn and create C# and VB.NET apps, jsut a little patience and a bit of tedious winForms work at the DOS prompt level with the .NET SDK (free from Microsoft).

    I made the switch to VB.NET and I have seen an IMPROVEMENT in my coding time and debugging time. The only difference between using VB.NET and VB6 is for small text file manip jobs. For that I have made the switch to WSH. In time, I’ll be able to flip that over to VB.NET too.

    There are some features I would like to see added to VB.NET that C# has (XML commenting is one), and maybe they’ll be in VS2005.

    I’m looking forward to the future with .NET (C++ included!)

    If VB6 is included in VS<whatever>, I won’t even bother to install it if that is an option. How is that helping the cause? It’s like watching TV and an objectionable program comes on. If you don’t like it, change the channel. I personally don’t like VB6. I had to fight my way around the shortcomings that are RESOLVED in VB.NET.

    I’ll step down now…

    Reply
  32. Pingback: Panopticon Central

  33. Mike Mitchell

    It amazes me that the VB.Netters (note how I avoided a possible play on words there) are still banging on about their remarkable new language that hardly anyone uses and .Net that hardly anyone downloads, while Linux goes from strength to strength. I left programming ages ago, mainly because of what Microsoft did to the VB developer community. Like many here, I will never trust Microsoft again. I firmly believe the company represents a modern form of Stalinism, and ex-VB6 devs are all expected to feel at home in the .Net gulag – with maybe a little "extraordinary rendition" to persuade them, like having their MVP status lampooned. Well, not me, and by what I hear, not a lot of others, either. I was just an ordinary VB developer who made a living, quite a comfortable one, by working with the most fantastic programming product of all time, namely classic Visual Basic. And then Microsoft chucked it in the trash, just like that. From that day on Microsoft became my Saddam, just as the latter did for George ‘Dubya’ Bush.

    Anyway, one day Microsoft will be history and will join all the other once-great companies that screwed their customers over. As I commented years ago, I reckon the decision to take a dump on classic VB developers will stand out as a milestone in Microsoft’s downfall, which cannot be soon enough for my money. Already the EU has forced the company to play fair with the competition by introducing a version of Windows without WMP, something the mighty US justice system singularly failed to manage. Who knows what else the EU could achieve where the Americans on their own turf failed? Perhaps the thousands of businesses in Europe who bought and used classic VB in good faith would have a case. I certainly don’t think the company should be allowed to get away with it, ruining livelihoods, costing companies and individuals dear. What Microsoft did was, as someone else pointed out, unconscionable, and anyone who has lived through the last few years and stays with Microsoft development products needs their head examined.

    Reply
  34. The dev to be named later

    Write in VB, get obsoleted by the designers who sold you the idea of using a runtime.

    Write in .NET, get your stratospherically high-level code dumped in an hour (if the client bothered to install it). Pray the designers stay enamored until you retire.

    Write in C++, target multiple platforms and never look back.

    Paul,

    I have serious concerns deploying .NET code outside of a server environment. Your proprietary "development system" is not ready for client-side production machines.

    As to _time_ and your reference to a silly release date, my only question is: Where’s your thumb been the last five years? We know your attention has been on CORBA and Java but….

    Reply
  35. mappin

    Well Isnt The . Net framework supposed to support any language???

    maybe someone will write a vb classic compiler for .NET

    The in the meantime for those of you that wrote code in VB6 and have been left hi and dry you shouldnt me surprised at all.

    When VB went from 16 bit to 32 bit the same thing happend and there was exactly the same problem … with backward compatbility…. or have you all forgotten the VBX -> OCX night mares

    Funny though, it was about that time that Delphi suddenly became hugely popular… because Delphi developers had no such upgrade issues….. (and it was way superior)

    Its pretty sad that MS managed to spread so much FUD that delphi began to fade away….

    Interestingly Borland has just released Delphi for .NET 2005 and with minute adjustments (mostly conditional compiler directives) all the delphi samples recompile in .net pretty much with out fuss….

    http://www.borland.com/delphi/demo/tutorial/tutorial1.html

    So those guys still smart enough to make their own choice and use delphi… can now

    compile to either

    Native win32

    .NET

    Native Linux (in many cases).

    All from the same source code

    All from the same IDE

    All from the same Components…(delphi components are written in delphi)

    Eat your heart out. 🙂

    Reply
  36. vbfanatic

    i think anyone who wants to stay with vb6 can… if in time the vb6 becomes obsolete they will be forced to new language or moveing to another compiler thats it point sent

    thos who move to vb.NET will have advantage because they made the move before the obsoletion of vb6.

    Personally for what i use vb6 for is fin i wont go any farther with windows anyway if i ever leave xp it will be to linux. but for those who plan to keep with windows my suggestion is try vb.NET you dont know until you try, if you dont like then go to real basic its that simple case closed

    Reply
  37. Sideout72

    I read an article from VS Magazine, and a link took me to this blog post.

    I developed an IIS5/ASP/VB6/COM+/SQL2000 application that is running a 1700 person public company. I started 3 years ago with one other person. I’ve created a huge number of tools that allow a very small team to develop software quickly and with few defects. I’ve got no performance issues. How could I recommend that the organization "upgrade"? There are no business reasons for doing so.

    I love MS and their products. However, one issue that irks me is how they pushed Windows DNA so hard, we created a stellar app that controls everything there is to know about their organization using their technology, and now we won’t be able to get support (if needed). Who knows if VB6 will even be supported on Windows 20XX?

    It will cost a lot of money to convert hundreds of thousands of lines of code (ASP and VB), reconstruct a new architecutre, create new code generation tools, etc.

    What a pain.

    Reply
  38. AlBruAn

    I, for one, don’t understand all the complaints about VB6 not being ported to .NET. To me, that’s akin to complaining about Microsoft not making QuickBasic, with its text-only mode, compatible with Windows. I don’t recall hearing anyone complaining about the difficulty in porting QB code, locked in as it was to the procedural model, to Windows and the event-driven model; nor do I recall hearing complaints about having to rewrite all the QB UI code to run under Windows.

    I read a post from someone who started developing "a huge number of tools" three years ago with VB6; why did they choose to start the development work in VB6 when VS.NET was being released, especially since managed code was the direction in which MS was moving?

    When Microsoft released VS.NET three years ago, I rushed out and bought myself a copy of the Enterprise Edition because I didn’t want to be left in the dust. I wasn’t about to rely on my employer, a Fortune 50 company, to keep my technical skills up to date because that isn’t/wasn’t their responsibility. As it turned out, I’m glad I took the direction I did; less than six months later, I landed a new job programming in VB.NET and C# immediately after having lost my job with the Fortune 50 company in a major reorganization.

    Reply
  39. Jim

    How’s this for a comprimise? Release a new version of VB6 by itself just the way it is with a handful of minor differences:

    – SP6 integrated.

    – Code Advisor integrated

    – Option Explicit On by default

    – Option Obsolete Off. This would disable support for some legacy features such as GoSub and DefInt.

    The point behind the last three idea is that this would help VB6 developers to get their code more .NET-ready while still in VB6.

    Reply
  40. Francois B

    I am all for change and progress but I work for a company and not the company for me. I cannot financially provide justification for rewriting an application that is working. A lot of programmers are missing the point. The economies of most countries are taking strain. Directors and managers are getting sick and tired of Microsoft’s strong arm tactics. I have been told if we rewrite then we move to another development platform. We were led to believe that Microsoft total cost of ownership is lower than open source. When considering that you have to rewrite code the picture changes a lot. I have been a staunch supporter of Microsoft and its products for some 12 years but guys you are selling us down the river. Provide us an upgrade path and we will follow otherwise you force our managers to make decisions which make financial sense. PS – Code is written for users not for programmers.

    Reply
  41. Sideout72

    AlBruAn – Most business will not move to the first-run of a technology. You are correct – VS.Net was just recently released at the time (November 2001 was our implementation time) and with all the issues with regard to security patches and the like with IIS5, it is hard to get an organization to take a chance on IIS6/.Net/etc which did not go through enough real-world attacks, etc.

    The decision was made because not all the "best practices" for developing .Net software were created yet, and (as in many first-run Microsoft products) there was risk that it was not bug free and more secure.

    Moving our code in pieces is possible (ASP, VB6 in COM+, SQL2000), there is too much risk for the company to do so.

    Reply
  42. Conor Delaney

    Look, VB6.0 and Quick basic are as different from each as VB6.0 and VB.NET. It is one thing to upgrade code from one iteration of VB to another (ie. VB4 –> VB6) it is a completely different to be left with an abandoned language while the provider of that language sails of into the sunset with their new golden child….. Since my last post I have learned VB.net and at the moment it reminds of a cross between Betamax and an exotic British Sports Car….technically brilliant, but needlessly complicated. The argument for moving to Linux(ie. one or those languages) or Delphi or Realbasic can be summed up in one word…consistency. So what if Microsoft have created a technically brilliant language/java clone, I don’t care, all I care about is that I can still make a living out off that knowledge about VB/Database and Windows API that I have accrued over all these years. It didn’t come cheap, it took alot hours of study and experimentation. What will we do with all our code libraries…recode to VB.Net? At our own expense? Or is Microsoft going to compensate us for our time and re-skilling. VB.Net won’t sell itself you know.

    Reply
  43. Dick Beninya

    This is so simple. What is a company but it’s customers. (nothing) What are MS customers needing? The ability to convert VB6 code to .net. Has MS given them this. Not . So What is the choice. Convert to .net or somthing else. Why convert to .net when you could convert to another companies product and be assured that they won’t leave you high and dry. It cost $ to convert so if you have to you must choose the most efficent converion is this an MS product(.net) I think not if 5 years down the road you will have to do it again. MS has lost sight of what matters. The customer (The Developer and there customers). They are arogent. The think that what they say goes, and that is clearly not the case. Just as IBM had to find out the hard way your custmer is everything. Any company, including MS is three years away from total collaps. IF MS continues to dis there customers they will fail. This is not about what is the best programming language or environment. This is about buisiness. Its about $. MS is not providing value for its current customers. That is a fact. Deal With It.

    Reply
  44. Peter Pierse

    I wonder how many of the contributors that support the move to VB.net are actually self-employed or run their own business.

    I have made a very good living using every version of basic from GW-Basic forward but noe I’m in trouble.

    I think VB.Net makes a very good contribution to the evolution of programming. The problem is that to switch our apllications to it will simply break our small company.

    A better migration is not an unreasonable request.

    Reply
  45. Corey Downie

    I’ve been working for a small company for just over a year now right out of college, and we have been working with both VB6 and .NET. I am _loving_ .NET, but i can see how some people may be stuck in the VB6 grove.

    My question is this. If microsoft made you a fancy point and click tool to convert all your old VB6 code to .NET, where would that leave us the programmers. How many people right now are working writing new updated versions of old software, and how many of those people would have no job if there was a tool any IT worker could use to convert your old work.

    And why, just because support is ending does your old software need to be converted. If you old software is as great as you claim it to be, it should be finished, and not need support. Dont fix what isnt broken man.

    Reply
  46. John Littleton

    Man! Did I stumble into something, or what?!

    I’ve been a VB developer for quite a few years now, went through all of the C++ vs. VB flame wars, and now we have VB’ers flaming VB’ers. Sheeesh!

    Seriously, I sort of felt abandoned at first when MS announced that VB.NET would not be compatible with VB 6. Like any developer worth his/her weight in salt, I just played with the first releases of .NET while continuing to code in VB 6.

    When I did make the change to VB.NET I couldn’t believe that I hadn’t done it sooner. I know all the arguments about existing code bases, and re-writes, etc. but we’re doing things in VB.NET now that just weren’t feasible in VB 6. We still have some people working with/supporting VB 6 apps. We have also built some libraries in VB.NET that weren’t possible with VB 6, and have created COM wrappers so that we can use those components to upgrade the old VB 6 apps with additional functionality until such time that we can do the port. In other words, we currently have the best of both worlds, and are preparing for the future. I just don’t get all of this.

    For those that have become complacent and adverse to change – that attitude will be your downfall – not the change in language.

    Reply
  47. Mike S.

    If GM can make 75 models of automobiles every 4 years I think Microsoft can swing making two versions of VB. Let us decide which version we want to use. One version does not suit all. Many of us have tailored VB6 to suit our needs. Doing this all over again and finding all the little hacks, tweeks, and bugs in .Net is a real p.i.a. Why can’t a p-code application have a runtime that gets updated??? is it too much to ask?

    Mike

    Reply

Leave a Reply to Peter Pierse Cancel reply

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