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

    9354 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

        @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.

      • Microsoft, update VB6 programming & VBA programming commented  ·   ·  Flag as inappropriate

        Microsoft's support statement for VB6 programming is here...

        Support Statement for Visual Basic 6.0 on Windows
        - Note: The support policy below has been updated with Windows 10 version 1709 support information.

        The Visual Basic team is committed to "It Just Works" compatibility for Visual Basic 6.0 applications on the following supported Windows operating systems:

        Windows 10
        Windows 8.1
        Windows 7
        Windows Server 2016
        Windows Server 2012 including R2
        Windows Server 2008 including R2

        The Visual Basic team’s goal is that Visual Basic 6.0 applications continue to run on supported Windows versions.
        As detailed in this document, the core Visual Basic 6.0 runtime will be supported for the full lifetime of supported Windows versions, which is five years of mainstream support followed by five years of extended support.

        The VB6 runtime will ship and will be supported in Windows 10 for the lifetime of the OS (that is until at least 2025).
        The VB6 runtime will ship and will be supported in Windows Server 2016 for the lifetime of the OS (that is until at least 2027).

        https://docs.microsoft.com/en-us/previous-versions/visualstudio/visual-basic-6/visual-basic-6-support-policy

      • Anonymous commented  ·   ·  Flag as inappropriate

        "So .NET could have been a step into the 21st century. It could have been, but it wasn't. Technically, .NET was fine. The virtual machine infrastructure was pretty sound, the performance was reasonable, and C# was an adequate (if not exactly ground-breaking) language. But the library—the .NET "API" used for such diverse tasks as writing files, reading data from databases, sending information over a network, parsing XML, or creating a GUI—the library is another story altogether.

        The library is extremely bad. It is simplistic and inflexible and in many ways quite limited."

      • Retired Coder commented  ·   ·  Flag as inappropriate

        @Anonymous

        No, I haven't seen that but I will pass it on. I don't know if it will change any minds though.

      ← Previous 1 3 4 5 467 468

      Feedback and Knowledge Base