I suggest you ...

12,081 votes
Vote
Sign in
Check!
(thinking…)
Reset
or sign in with
  • facebook
  • google
    Password icon
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    Eugene shared this idea  ·   ·  Flag idea as inappropriate…  ·  Admin →

    We have read all of the comments on this thread and I’d like to thank you for providing your constructive feedback on this issue. Instead of merely repeating our support and migration guidance that has been laid out on http://msdn.com/vbrun, I’d like to address some of your specific comments here.

    To play back the feedback themes we’re hearing:
    - VB6 is awesome
    - VB6 needs to be brought forward and maintained: in a new release or OSS

    VB6 was and still is without a doubt awesome. VB6 made developers incredibly productive building a breadth of applications and as a result we have a wealth of applications and passionate developers to this day in 2014. One way I see our mission in developer tools is to empower developers to solve problems. This includes both today’s problems AND the problems of tomorrow. VB6, as you all have stated repeatedly in this thread, is an excellent tool for solving the problems of its day. We also stand behind our decision starting in 2002 to meet the current demands of our developers and the industry with .NET. For the scenarios VB6 set out to do, we see VB6 being “complete”. We feel good about VB6 being able to continue maintaining their applications for the past 15 years. Current needs ranging from distributed applications and services, to web applications and services, to devices, to new architectures and languages, required fundamental changes to the whole stack. We looked at how we could accommodate these needs through incremental changes to VB6 while maintaining its essence, and that was not possible.

    To address the modern needs we would need to go far beyond updating the language. We have to remember that VB6 is not just a language. VB6 is a language, a runtime, a platform library, a tool/IDE, and an ecosystem tightly packaged together in a way that made all of them work well together. We’ve worked with many customers on migration from VB6 to .NET and found that while yes, there are language changes, the dominating factor in migration difficulties isn’t the language differences. Even open sourcing the language/runtime wouldn’t solve the fact that VB6 was thought for a different set of problems, and the fact that its strength came from the end-to-end solution provided by all these five pieces working together. Take a change like 64bit, the complete runtime, tools and ecosystem chain would need to be retooled.

    So, moving forward what can we do? Where we have been able to help move forward is in our stance around support and interoperability. The VB6 runtime it is still a component of the Windows operating system and is a component shipped in Windows 8.1. It will be supported at least through 2024. This ensures your apps and components continue to run as you incrementally move forward to .NET. The support policy is here: http://msdn.microsoft.com/en-us/vstudio/ms788708. There are numerous interop strategies that we developed and evolved to enable incremental migration as you upgrade your skills, described here: http://msdn.com/vbrun.

    In summary, VB6 was awesome. We agree. We don’t expect or demand anyone to throw away their code or rewrite from any of our technologies unless it makes business sense for them to do so. We have to innovate to enable our customers to innovate. It is not a viable option to create a next version of VB6. We stand by our decision to make VB.NET and the .NET Framework. We think they are awesome too. It is not feasible to open source VB6 tools chain and ecosystem. The VB6 runtime was last shipped in Windows 8.1 and will be supported for the lifetime of Windows 8.1. Support and interop are great tools to move forward incrementally.

    I hope you feel we’ve listened to your feedback and that I’ve explained things well enough that you understand our decision.

    Paul Yuknewicz
    Group Program Manager
    Microsoft Visual Studio Cloud Tools

    9359 comments

    Sign in
    Check!
    (thinking…)
    Reset
    or sign in with
    • facebook
    • google
      Password icon
      Signed in as (Sign out)
      Submitting...
      • VB6 programming just got a big boost from Microsoft commented  ·   ·  Flag as inappropriate

        @Joe Bolton

        VB6 wasn't launched until 1998, so obviously companies weren't moving from VB6 to Java in 1997.

        And Microsoft had their own version of Java (J++) at the time, so you can't really claim that Java was better than anything Microsoft had. If anything, J++ was better (on Windows) than Java.
        But because Microsoft didn't comply with the Java licensing requirements, Microsoft had to abandon J++ in 2001 (and pay Java's owner $20million).
        Some of J++ continued for a while as J#

        C# was then developed as Microsoft's answer to Java (famously C# is the only programming language designed by lawyers, as the nearest clone of Java legally possible).
        C# was intended to be Microsoft's Java killer, but never came close to the popularity of Java - or of VB6.
        And don't forget that what you describe as 'painful C++' is still very popular today. Microsoft say that Microsoft C++ is their second most popular language by far. And all versions of C++ together are more popular than C#.
        So C# didn't replace either Java or C++.
        You can certainly argue that C# slowed the stampede to Java. But the abandonment of VB6 caused many VB6 users to move to Java.
        Microsoft say that around 1 in 3 VB6 (of a claimed 6million +) users moved to non-Microsoft languages.

        VB.Net was made available at around the same time as C# (though it was 2005 before it was really usable) but this was incompatible with VB6 and therefore missed its target of being a VB6 replacement. VB.Net has always had a much smaller number of users than C# (or than VB6 had in its prime, and possible still today).

        The reality is Microsoft messed up. They got J++ wrong, C# was a reasonable attempt, VB.Net was misguided.

      • Joe Bolton commented  ·   ·  Flag as inappropriate

        How backwards compatible is Java with VB6? It's not compatible in the slightest but that didn't stop companies from switching to it in huge numbers. Backwards compatibility isn't as important as you think.

        Business software these days is written in Java or C#. Those are the skills in demand by employers. You certainly don't see them looking for VB6 developers. The only VB6 development going on is maintenance work on old programs that will never be updated with new features.

        Microsoft only supports the VB6 runtime on Windows 10. The IDE is not and will not be supported. You wouldn't have requests here on User Voice asking for it if they did.

        Face it, Basic is dead. VB6 isn't coming back and VB.Net is only being maintained until Microsoft can figure out how to drop it.

      • VB6 Programming commented  ·   ·  Flag as inappropriate

        There is still a huge amount of VB6 programming in use. And that will continue until and unless a successor to VB6 is developed.

        VB.Net was never that successor, simply because it was not backwards compatible with VB6.

        That's why Microsoft still support VB6 on Windows 10 and Windows Server 2016.

      • Joe Bolton commented  ·   ·  Flag as inappropriate

        BTW, all the developers who decided to "remain with VB6" lost their jobs. I had to fire several myself. There's no place in the industry for "bus drivers" with limited skills these days.

      • Joe Bolton commented  ·   ·  Flag as inappropriate

        It's obvious you weren't around back then. The big uptake in Java happened between 1997 and 2000, before Microsoft released .Net, not after. Companies were moving to Java to get away from the limited VB6 and painful C++. Java was better than anything Microsoft had and only introducing .Net stopped the stampede.

        This is why Microsoft won't bring it back. Nobody wants it.

      • VB6 programming just got a big boost from Microsoft commented  ·   ·  Flag as inappropriate

        @Anonymous

        >>".NET could have been a step into the 21st century. It could have been, but it wasn't.
        The library is extremely bad. It is simplistic and inflexible and in many ways quite limited."

        Yes, VB.Net was a disappointment. Very limited (causing some to move to Java) and not backwards compatible (causing many more to remain with VB6).

      • VB6 programming just got a big boost from Microsoft commented  ·   ·  Flag as inappropriate

        VB6 got an important boost from Microsoft blogger Scott Hanselman. In his post, Hanselman shows how to configure a VB6 app to be hosted in the Windows 10 Store.

        David Platt says...

        "With these latest improvements to compatibility, I foresee at least another ten years of life for VB6. And I’ll bet you anything that this support gets renewed in Windows 11 and 12, or whatever they’re called by then. Another decade of driving the puritans crazy."

        https://msdn.microsoft.com/en-us/magazine/mt846730

      • VB6 programming just got a big boost from Microsoft commented  ·   ·  Flag as inappropriate

        @VB6 Programming @Jean

        >> "The idea that new code is better than old is patently absurd. Old code has been used. It has been tested. Lots of bugs have been found, and they’ve been fixed.
        There’s nothing wrong with it. It doesn’t acquire bugs just by sitting
        around on your hard drive"

        You are so right. Who would choose to replace software that works, that has been working for years, with costly new software likely to have bugs and possibly be slower than the software it replaces?

      • Jean commented  ·   ·  Flag as inappropriate

        @VB6 Programming

        "The idea that new code is better than old is patently absurd. Old code has been used. It has been tested. Lots of bugs have been found, and they’ve been fixed.
        There’s nothing wrong with it. It doesn’t acquire bugs just by sitting
        around on your hard drive"

        Very true, There is no reason to rewrite working code.

      • Anonymous commented  ·   ·  Flag as inappropriate

        Why VB.Net never replaced VB6 programming.

        Language design always involves tradeoffs, and VB.Net trades off its essential advantage in order to play with the big boys. You might think that Microsoft would push its big lead over the competition and grind its hapless competitors even further into the dust. You'd be wrong. Instead they have copied the copiers. Visual Basic.NET looks and works a lot more like Delphi or Java than like the real VB.

      • Anonymous commented  ·   ·  Flag as inappropriate

        Why Microsoft lost millions of users of the VB6 programming environment.

        Microsoft abandoned VB developers with no practical upgrade route or new project language. None. Microsoft practically invented/discovered that it is not about what is best but rather what is practical.

        And then Microsoft threw it all away.

      • Anonymous commented  ·   ·  Flag as inappropriate

        "VB everywhere" (VB6 programming/VBA programming/VBScript programming) empowered Microsoft customers in a way .Net has never done.

        VB/VBA/VBScript were significant in Microsoft's success.

      • Anonymous commented  ·   ·  Flag as inappropriate

        Why VB6 programming doesn't get migrated to .Net.

        Microsoft has left no *viable* avenue for migrating the existing VB code base that doesn’t require extensive human intervention into the process. When viewed practically, this "intervention" amounts to completely rewriting most of the existing code which, in terms of the time and expense that would be required, makes migration totally unfeasible for most owners of existing VB code. Given this, the current situation equates to the willful destruction by Microsoft of the precious data belonging to it’s VB customers.

      • Anonymous commented  ·   ·  Flag as inappropriate

        Why VB6 programming remains popular.

        Try as they might, Microsoft has been unable to persuade many programmers to dump Visual Basic 6.0 programming in favor of Visual Basic .NET, or even better (from Microsoft’s perspective), adopt Microsoft’s own “enterprise class” language, C#.

        Nothing has ever topped good old Visual Basic in terms of usability and popularity.

      • Anonymous commented  ·   ·  Flag as inappropriate

        Simplicity is what made VB6 programming popular, and why VB.Net never became popular.

        The essential VB6 programming concept–and it’s a concept that eventually found its way to all kinds of other programming methodologies, including Web development—is called event-driven programming. With the event-driven programming model used by Visual Basic, everything in your application is an object. These objects have properties, or attributes, that determine how objects look and act. A command button object, for example, has height and width properties.

        These objects can handle events, which are things that happen to objects. The command button object can handle an OnClick event, for example, that occurs when the user clicks the button. Different objects can handle different events, just as different objects have different properties. When you create a Visual Basic program you visually arrange objects on a window (that VB refers to as a form) and decide which events you want to handle. It’s that simple.

        Objects also support something called methods, which describe capabilities of the object. A method is basically something the object does. For example, you might have an object that accesses a database. One thing this object could do is connect to the physical database file somewhere on the computer or over a network, so the database object might have a Connect method that would make that happen.

        It’s that simple.

      • VB6 Programming commented  ·   ·  Flag as inappropriate

        VB.Net wasn't backwards compatible with VB6. It wasn't practical or cost effective to rewrite. So much code still remains in VB6, and VB.Net never really became popular. Many VB6 coders moved to other, often non-Microsoft, languages and/or continued to use VB6.

        Another example of Microsoft shooting themselves in the foot.

      • VB6 Programming commented  ·   ·  Flag as inappropriate

        Why software doesn't get rewritten...

        There’s a subtle reason that programmers always want to throw away
        the code and start over. The reason is that they think the old code is a mess. And here is the interesting observation: they are probably wrong. The reason that they think the old code is a mess is because of a cardinal, fundamental law of programming:

        It’s harder to read code than to write it.

        This is why code reuse is so hard.

        The idea that new code is better than old is patently absurd. Old code has been used. It has been tested. Lots of bugs have been found, and they’ve been fixed.
        There’s nothing wrong with it. It doesn’t acquire bugs just by sitting
        around on your hard drive.

        It’s important to remember that when you start from scratch there is absolutely no reason to believe that you are going to do a better job than you did the first time.
        You’re just going to make most of the old mistakes again, and introduce some new problems that weren’t in the original version.

      ← Previous 1 3 4 5 467 468

      Feedback and Knowledge Base