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

    8820 comments

    Sign in
    Check!
    (thinking…)
    Reset
    or sign in with
    • facebook
    • google
      Password icon
      Signed in as (Sign out)
      Submitting...
      • Anonymous commented  ·   ·  Flag as inappropriate

        2-The other factor that the .NET ecosystem was doomed to fail sooner or later, was the fact that the entire windows structure was exposed to programmers through API hooks in dangerous ways. It was an unmanaged way of reaching to the heart of windows which could only worsen the entire operating system. There were OCX and third party vendors, which have mushroomed almost overnight, quite uncontrollable and able to do all kind of hacks without giving any thought about the consequences. Big companies producing important, mission critical code and informed programmers with vision could see that C#/.NET was sinking in its own weight. Maintainability, expandability, creating standard coding practices was impossible. It was a dead end. That's why they were more than willing to jump back on the managed ecosystem that we call VB6 today.
        So in short, it is a huge necessity to get rid of a flawed tool called .NET ecosystem and design something properly engineered, which would live a long and healthy life.

      • Anonymous commented  ·   ·  Flag as inappropriate

        1- C# was a "patch-up" tool from the beginning. The .NET developers at Microsoft were trying to make everybody happy by adding patches here and there, sometimes quite in unorthodox ways. There has never been a top to bottom approach from the beginning. The big picture of the forest was never there. When someone wanted something new, they were planting some more exotic trees into that forest which become slowly but surely an uncontrollable ecosystem, namely a jungle. When they have created .NET, it was that moment, I believe, that things start getting out of control. There were so many unorthodox, unconventional hacks into the heart of windows APIs, that the .NET ecosystem started cracking and the collapse would have been imminent, etc...

      • Anonymous commented  ·   ·  Flag as inappropriate

        Besides can you please explain to me:

        1-why VB6 dropped from 14th to 18th position in only one month in Tiobe? How can you explain this? If VB6 was the best language how come it drops like a rock?

        2-why VB6 is chosen as the most hated language of all times by Stackoverflow survey 2016-2017-2018?

        3- Why there is no modern commercial program written in VB6 if it is sooo good?

      • Anonymous commented  ·   ·  Flag as inappropriate

        VB6 is a dead language and almost no one is using it.

        We have to face the harsh reality. There are hardly a few thousand people maybe using it actively. As we all know the drive to collect 150k of funds failed miserably at Indigogo. Only over 2k has been collected in three months. It was a devastating blow for the VB6sters. On contrary, .NET is on the rise, especially with wonderful new additions and improvements. There are millions of users and highly paying jobs all around the globe. This is the truth. Like in nature, everything has a life span. This is true for VB6 as well. VB6 lived a short life and now is long dead. People should go on with life learning new languages, especially .NET and stop demanding the impossible dream of bringing back VB6.

        Microsoft will never make a free download of VB6 as it is not an ecosystem which is maintained any longer.

        Sorry!

      • Anonymous commented  ·   ·  Flag as inappropriate

        To be honest with you, I have used and actually learned programming using VB6 in the 90s. It was a great tool for a beginner in those days. It was a very good tool in it's days. I remember going through Planet Source Code in those days and finding useful hacks, whether it be subclassing or some weird multi threading hacks. I wasn't very familiar with modular concepts, factoring and OOP in those days and whatever I was writing was mostly patch code written by others. My programs were somewhat functioning but it was just a mess, a spaghetti code. The next time I was looking at my code to add up some functionality, I could not understand it and it would take me hours on end to figure what the heck I did before. Those are typical symptoms for spaghetti code. I am quite sure many others did write code similarly in VB6. I wasn't the only one for sure. You know VB1-6 was not created by considering modern modular design concepts. So from the beginning it was doomed. That's why it was promoting bad coding practices. The industy realized that. They couldn't effort to rely on single shot coder API hacks in order to get their mission critical programs to work. They needed a serious framework. So .NET was born.
        I am quite sure that you agree with me on this. This is NOT to undermine VB6. The fact is that VB6 can NOT be used in today's highly demanding programming environment. It will simply fall apart, unless huge renovations are made to it. Then one may raise the question. Why shall we update VB6 or more importantly how can we update it? It is almost certainly impossible to update VB6, as all the evidence shows that VB6 source code is not expandible and maintainable. VB6 was not designed to develop complex code. A new VB from scratch has to be designed. Well, then we are coming to the natural conclusion, There is a tool already been desined and it is called .NET, which is a complete re-design from scratch with managed code, garbage collection, OOP, multi threaded, with a huge native library etc. So, the request to bring back VB6 or to open source does not make sense, as there is already a well designed replacement for it.

        The above is just a logical deduction. It proves that VB6 is really not required any longer.

      • Anonymous commented  ·   ·  Flag as inappropriate

        Let .NET and C# die.

        C# is a terrible language and it should die a death.

        Don't open source it...

        or you'll just encourage a new wave of cheapskate programmers to start learning bad habits and producing garbage code!

      • VB6 Programming commented  ·   ·  Flag as inappropriate

        C# is declining, here are some of the reasons...

        1) Win Forms and Web forms And WPF are all legacy now. Microsoft have abandoned them and the developers that use them.

        2) The .Net Framework is legacy too. Again Microsoft have abandoned it and the developers that use it.

        3) Now Microsoft tells developers to use .Net Core. But .Net Core doesn't have a GUI.

        4) C# isn't a choice for non-Windows applications. There are other languages more suitable. Notably JavaScript for Web and Mobile apps.

        5) New developers see nothing interesting in C#. It is just a C-like language with no GUI. There is no reason to use it. Nothing special.

        .

        Anyone deciding to stay with C# and .Net must be very,very brave.

      • VB6 Programming commented  ·   ·  Flag as inappropriate

        Microsoft C# has declined massively in the last year.

        Stack Overflow survey 2017 - C# is at #4 https://insights.stackoverflow.com/survey/2017/#technology

        .

        Stack Overflow survey 2018 - C# has fallen to #8 https://insights.stackoverflow.com/survey/2018/#technology

        A fall of 4 places in just 1 year is a catastrophic decline.

        Nothing relative about this decline, it is absolute.

        Anyone deciding to stay with C# and .Net must be very,very brave.

      • VB6 Programming commented  ·   ·  Flag as inappropriate

        Microsoft's C# has halved in popularity in six years.

        Tiobe index January 2012 C# had a popularity rating of 8.76% https://www.tiobe.com/tiobe-index/csharp/

        Tiobe index May 2018 C# has a popularity rating of 4.40% https://www.tiobe.com/tiobe-index/

        .

        No surprise Microsoft's lead architect abandoned .NET and moved to JavaScript.

        Anyone deciding to stay with C# and .Net must be very,very brave.

      • VB6 Programming commented  ·   ·  Flag as inappropriate

        Microsoft's lead architect of C# and .Net, Anders Hejlsberg, has stopped working on them. Now he is core developer of TypeScript, Microsoft's version of JavaScript. TypeScript transpiles to JavaScript.

        Now even Microsoft's Anders Hejlsberg has abandoned C# and .Net, it is time for everyone else to do so.

        Hejlsberg chooses a version of JavaScript.

        .

        Anyone deciding to stay with C# and .Net must be very,very brave.

      • Anonymous commented  ·   ·  Flag as inappropriate

        Hugo Lalumiere says

        Here's a tip: if you think VB6 is good in 2015, you are not qualified to write an article about it.

        VB6 was a huge pile of hacks, and applications written in it are unmaintainable messes of spaghetti code for the most part. Yes it was nice back when the only other alternative was MVC, but today, the only good reason to still be using VB6 is to maintain an existing application that has not yet been updated. Anything else is foolish and unbecoming of a programmer worth the name.

      • Anonymous commented  ·   ·  Flag as inappropriate

        Jeremy says

        VB6 was discontinued because there are better technologies available. There is absolutely no reason to develop a new VB6 app, today, except for nostalgias sake. Like programming an old Apple IIe - it was fun for about an hour, but that's it.

      • Anonymous commented  ·   ·  Flag as inappropriate

        George Stramboulos says

        One thing i will absolutely stand by as a plain as day advantage of using .Net over VB6 is the speed of development. It is generally much faster to develop stuff in .Net in effect .Net is more RAD then VB6.
        There are just more helper libraries and thing like Lists and Linq make huge differences in the speed you can develop at. Also the VS IDE for .Net is a huge time saver in comparison to VS6 with much better auto-complete, refactor options and the like.

      • Anonymous commented  ·   ·  Flag as inappropriate

        Innes McKenzie says

        The key thing about VB6 was that its IDE was pioneering, outshining anything around at the time, as far as I know. The language itself, however, was a hack (with good (OLE)COM support nonetheless) and I was so glad to ditch it and move to C# when the opportunity arose.

      • Anonymous commented  ·   ·  Flag as inappropriate

        Martin Verhausen says

        Programming with VB6, especially if you had any C++ and OO knowledge felt somehow dirty; there was no inheritance for example. The thing which turned me off forever was when I ran up against the VB6 control limit - the number of unique controls that could appear in a window; it was something like 200, but there was a workaround to add them to an 'array of controls' or something. The whole language felt like a gigantic kludge.

      • Anonymous commented  ·   ·  Flag as inappropriate

        Brian says

        From my perspective, if a developer can show me application(s) built with VB6, mad respect. If that's ALL you can show me? You're not a developer - you're a dinosaur. I learned to code with VB4-5. I was nostalgic on things VB from time to time. Still, software is built on progress and innovation much more than any one language, no matter how popular.

      • Anonymous commented  ·   ·  Flag as inappropriate

        @VB6 Programming
        I think both you and Lofaday are both right and both wrong at the same time. Lofaday is right to say that VB6 is dead and will never come back especially with a grumpy old VB6 community who has retired from coding long time ago. There is no enthusiasm just lip servicing. I 100% agree with him on this.
        You are right to doubt him and Mr.Olaf for their fantasy trying to create something that no one will be interested in. Especially seeing the Stack Overflow results for the last three years VB6 being the most hated language supports your idea. It is a fact that Loafaday has nothing tangible but just hot air of promises, which can never be done technically. Even Olaf told him the same. Olaf is a technical guy and created some API hacks and put together a somewhat functional so called Framework for VB6. His idea was not to create a fantasy product like Lofaday is proposing but to create an IDE which would extend VB6 along with his framework, which I think is more realistic. Lofaday is not technical guy but a salesman in my opinion. Some of the things that he has said was outright from la la land and can not be done even by Microsoft engineering team. He is just a dreamer and we have to leave him at that.
        In the meantime very interesting things happening in the real world. .NET is becoming more popular by the day and seems like the future of the web will be C# soon. Javascript is dying and C# has a great future with Webassembly.
        Just read the following links and immerse into marvelous .NET world!
        WebAssembly and the Death of JavaScript (https://www.youtube.com/watch?v=pBYqen3B2gc)
        .NET and WebAssembly - Is this the future of the front-end? (https://www.hanselman.com/blog/NETAndWebAssemblyIsThisTheFutureOfTheFrontend.aspx)
        Blazor
        An experimental .NET web framework using C#/Razor and HTML that runs in the browser via WebAssembly (https://github.com/aspnet/blazor)

      • VB6 Programming commented  ·   ·  Flag as inappropriate

        Why is C# failing ?

        1) Win Forms and Web forms And WPF are all legacy now. Microsoft have abandoned them and the developers that use them.

        2) The .Net Framework is legacy too. Again Microsoft have abandoned it and the developers that use it.

        3) Now Microsoft tells developers to use .Net Core. But .Net Core doesn't have a GUI.

        4) C# isn't a choice for non-Windows applications. There are other languages more suitable. Notably JavaScript for Web and Mobile apps.

        5) New developers see nothing interesting in C#. It is just a C-like language with no GUI. There is no reason to use it. Nothing special.

        Anyone deciding to stay with C# and .Net must be very,very brave.

      • VB6 Programming commented  ·   ·  Flag as inappropriate

        Microsoft ask what the future of .Net is....

        "In fact the only thing that .NET did wrong was to kill off VB6 - it should have been allowed to coexist for those wanting to use it. Instead Microsoft provided as its replacement VB .NET, which added nothing that C# didn't already have."

        http://www.i-programmer.info/news/89-net/11758-microsoft-asks-for-help-on-the-future-of-net-where-do-we-start.html

        You can only wonder if C# would have become successful if Microsoft had continued the VB6 programming language, instead of developing the failed VB.Net which has long dragged C# down.

      • VB6 Programming commented  ·   ·  Flag as inappropriate

        Now Microsoft's Anders Hejlsberg, lead architect of C# and .Net, prefers JavaScript to C# and .Net, all .Net developers should adopt TypeScript/JavaScript.

        Anyone deciding to stay with C# and .Net must be very,very brave.

      Feedback and Knowledge Base