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

    9336 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

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

      • Anonymous commented  ·   ·  Flag as inappropriate

        " If a company has some business-critical custom application written in Visual Basic 6, that company isn't going to roll out Linux to its desktops; it's trapped on Windows."

        "These programs are a key part of the platform lock-in that Microsoft craves. "

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

      • Anonymous commented  ·   ·  Flag as inappropriate

        @Web Developer

        >> UWP apps (where U means Universal, and Universal is defined as Windows 10 only).

        :) :) :)

      • Retired Coder commented  ·   ·  Flag as inappropriate

        @Web Developer

        Yes, I've seen it, they've seen it, and it makes no difference as far their management is concerned. VB6 left extended support in 2008 so that is that. End of discussion.

      • MichaelE commented  ·   ·  Flag as inappropriate

        Hey Microsoft awesome job on VB6! Open Source it if you are not going to evolve it to 64-bit.

        Thanks!

      • Retired Coder commented  ·   ·  Flag as inappropriate

        @Web Developer

        What I'm trying to do is update my applications to a supported language. These charities are subject to HIPAA and it's been ruled that programs created with unsupported development tools are, ipso facto, unsupported as well and therefore insecure. They must be updated or replaced.

        They have to be desktop apps because the people I deal with have no control over their web or database servers, only their local PCs. Adding something to the servers is not going to happen. I've already asked about that.

        In an ideal world Microsoft would release a *real* VB7 that was compatible with VB6 and I'd use it but we all know that's not going to happen. So I'm looking for the least worst option.

      • Web Developer commented  ·   ·  Flag as inappropriate

        Just to clarify what NS Basic and B4X do...

        NS Basic programming uses a VB6 like language, a VB6 like IDE and controls from JavaScript frameworks (such as Bootstrap 4). It creates web apps to run in a browser (on Windows and other desktops) and web/hybrid apps to run on Android and iOS (iPhone and iPad). An advantage of this approach is that the xame app can be used for each of those platforms (subject to screen size, of course).

        B4X programming has a collection of (VB6-like) languages, B4A for Android, B4i for iOS and B4J for Java (so Windows, Mac, and Linux). You develop separate apps for each of those platforms, though much of the code is interchangeable between the B4X languages.
        B4X apps are native apps, not web apps which has some advantages, but means developing apps for each platform.

        VB6 apps can (because they are Win32 apps) be added to the Windows Store as UWP apps (where U means Universal, and Universal is defined as Windows 10 only).

        VB6 apps will run on Windows 10 without needing to be put in the Windows Store.
        The VB6 programming IDE also installs and runs on Windows 10.

      • Web Developer commented  ·   ·  Flag as inappropriate

        @Retired Coder

        So what are you trying to achieve?

        Are you wanting to make your apps look more modern and have them run on Windows 10?

        And are you saying you already have a database on the (Windows) server?

        And if so, do the applications already work on an older release of Windows (which release?) and use the database?

      • Retired Coder commented  ·   ·  Flag as inappropriate

        @Web Developer

        Well thanks, but that's not what I had in mind. I was looking for some way to up date some applications I wrote for local charities. Doing all that just to wind up with a web app is not what I'd call a large degree of compatibility. These need to be desktop applications and talk to a database without installing anything else on the server.

        Maybe I should just hold my nose and take another ***** at learning VB.Net.

      • Web Developer commented  ·   ·  Flag as inappropriate

        @Retired Coder

        There is a large degree of compatibility.

        With NS Basic you can create Forms and give them the same names as your VB6 forms.
        Then add controls to the forms, giving each control the same name as in your VB6 project.(NS Basic has equivalent controls to most VB6 controls).
        Then copy and paste your VB6 code into the NS Basic app.

        But remember, NS Basic is for Web or Mobile apps.
        You are running in a browser, so some things aren't allowed. For example you can't read or write to an Access or SQL Server database.
        (This is standard for web apps, they are 'sandboxed' and don't allow access to the device's filesystem).
        You can use SQLite databases on mobile devices.
        The Cordova/PhoneGap plugin allows more access to the device's filesystem.
        If you need to access a database on a server, you can't do so directly. You need to have an app running on the server and you communicate with that app using AJAX. The server app could be written in PHP, or ASP.Net, or node.js.

      • Retired Coder commented  ·   ·  Flag as inappropriate

        @Web Developer,

        Are you saying that B4X and NS Basic are compatible with VB6? Or that I can import my VB6 projects into them with no or few changes?

        I'm looking at their web pages now and don't see a thing about VB6. Please explain.

      • Web Developer commented  ·   ·  Flag as inappropriate

        Isn't it interesting to compare the current positions of Microsoft .Net with Microsoft VB6.

        Traditional (legacy) .Net Framework is for Windows desktop/server development only.
        VB6 programming is just the same - Windows desktop/server development only.

        Xamarin/Mono + .Netcore offer .Net on other hardware - mobiles and desktop.
        VB6 has the B4x programming environment for this, with the ability to use VB code for Android, iOS, desktops (Linux, Mac, Windows) and even Raspberry Pi and Arduino.

        .Net may offer WebAssembly using Mono+HTML/JS +Bootstrap to provide client-side web apps, though not for mobile.
        VB6 has the NS Basic programming environment for client-side web apps, and also for hybrid mobile apps on iOS and Android.

        There are a lot of similarities between 'extended' .Net and 'extended' VB6.

        The main differences are that B4x and NS Basic have been around several years, are well tested and widely used - while Microsoft are just starting with their offerings.

      • Anonymous commented  ·   ·  Flag as inappropriate

        "The news for server side C# developers, seeking a platform to support their careers has been poor in recent years."

        "For server side .NET, many have a nagging feeling that there, the jobs are drying up and there are fewer new projects. "

        "What is more worrying is the trend line. For Tiobe the popularity of C# peaked in 2012 , has been in decline ever since, and has declined by half from its peak. On the backend this news is worrying, as it suggests that for ASP.NET projects, C# is close to becoming a legacy platform."

      • Anonymous commented  ·   ·  Flag as inappropriate

        The collapse of the .net ecosystem

        The golden age of the Microsoft developer ecosystem is behind us and so could be your career. The Microsoft developer ecosystem is experiencing plummeting employment opportunities and declining community interest.

        The following article on the decline of C# was written a couple of years ago. Then C# was the 4th most popular language in both Tiobe and StackOverflow surveys.
        Now C# has fallen to 5th place in Tiobe and crashed to 8th place in StackOverflow.

        https://onedrive.live.com/view.aspx?resid=1E5AA35A965D3234!26479&ithint=file%2cdocx&lor=shortUrl&app=Word

        Time to abandon .Net and move to everyone's favorite VB6.
        https://blogs.windows.com/buildingapps/2015/06/22/getting-ready-for-windows-10-sdks-compatibility-bridges/

        VB6 programming just keeps rollin' along. :)

      • Mark Dunn commented  ·   ·  Flag as inappropriate

        It's been a year and a half since Scott Hanselman made that blog post and there are still no VB6 apps in the Store. Have you considered that you're getting all worked up over nothing?

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

        https://www.hanselman.com/blog/PuttingMyVB6WindowsAppsInTheWindows10StoreProjectCentennial.aspx

        Scott Hanselman shows how to configure a VB6 app to be hosted in the Windows 10 Store, using the Microsoft Desktop Bridge infrastructure and tools (bit.ly/2HFVzcc).
        That’s huge, as hosting an app in the store means that Microsoft is at least somewhat vouching for its compatibility and content. Potential purchasers perceive it as sort of a Good Computing Seal™

      ← Previous 1 3 4 5 466 467

      Feedback and Knowledge Base