Visual Basic support planned for .NET 5.0

.NET Team

We’ve heard your feedback that you want Visual Basic on .NET Core. Earlier versions of .NET Core supported Class Library and Console applications types. Starting with .NET 5 Visual Basic will support:

  • Class Library
  • Console
  • Windows Forms
  • WPF
  • Worker Service
  • ASP.NET Core Web API

We are supporting these application types to provide a good path forward for the existing VB customer who want to migrate their applications to .NET Core. This allows Visual Basic customers to take advantage of new platform features like side-by-side deployment, cross platform support, performance and new API improvements.

One of the major benefits of using Visual Basic is that the language has been stable for a very long time. The significant number of programmers using Visual Basic demonstrates that its stability and descriptive style is valued. Going forward, we do not plan to evolve Visual Basic as a language. This supports language stability and maintains compatibility between the .NET Core and .NET Framework versions of Visual Basic. Future features of .NET Core that require language changes may not be supported in Visual Basic. Due to differences in the platform, there will be some differences between Visual Basic on .NET Framework and .NET Core.

If you are happy with .NET Framework, you can be confident that it will remain supported as long as Windows is supported because it is shipped with the OS. Both Visual Basic and C# customers can continue to use .NET Framework and need to port to .NET Core only if you want features like those listed above. If your application uses technologies that aren’t supported on .NET Core, like WebForms, Workflow or WCF, you might want to stay on .NET Framework because porting will require work to move to newer technologies.

Visual Studio regularly adds new features to improve the experience for developers, including those using Visual Basic and either .NET Core or .NET Framework. An example is the recent addition of IntelliCode for Visual Basic.

Visual Basic is a great language and a productive development environment. The future of Visual Basic will include both .NET Framework and .NET Core and will focus on stability, the application types listed above, and compatibility between the .NET Core and .NET Framework versions of Visual Basic.


Leave a comment

  • Taiwo Ayedun


    “Going forward, we do not plan to evolve Visual Basic as a language.”

    “Future features of .NET Core that require language changes may not be supported in Visual Basic”.

    • Edward A

      This is an absolute fiasco. Trillions of lines of code supporting billions in economic activity is using vb. Net.
      How can Microsoft break their promises over and over again and fail to update and maintain their closed source technology?
      Have they considered that this will negative impact the careers of thousands of developers?
      They still refuse to open source vb6.
      The message Microsoft is sending is crystal clear, they are completely unreliable and incapable of maintaining any technology long term. There is zero reason to trust this closed source behemoth that will casually destroy billions of hours of work that thousands of developers have put into successful projects.
      Microsoft has enough money to pay out billions in dividends and share repurchases but apparently zero dollars to continue to work on one of the three. Net languages.
      It’s as if they forget that’s it’s us that keeps their business going.
      In some measures of language popularity and usage, vb. Net ranks higher than C#.
      Of course my company is going to abandon Microsoft products and I’m going to instruct everyone I know to do the same.

      • Tsahi

        Any developer who can’t switch a language is not worth his salary.
        Also, VB.NET (unlike VB6) is nearly 1-to-1 convertible to C#, using automated tools. If I were you, I would make the conversion, learn the semantics of C#, and move on. Technologies change, software engineering principles are the same. And the bonus, you’ll wear your your keyboard much less, with the concise syntax of C#.

        • AlexEv

          You are absolutely not right. Almost all VB.NET developer is genius and write more correct and faster than any C# developers, but MS has vilified strongest of .NET developers. As s result of Microsoft policy, genius VB.NET developers with 20 years experiences has less price in labor marketplace then stupid child C# developers with only 5-10-15 years of development.

          • Giannis Ioannou

            Exactly, I have some serious web application written in web forms and funny enough they perform and function better than most modern .net core c# web applications. It is the experiene that matter and the way an application is written. really simplifies and enables you to write smart and clean code. I cannot understand why Microsoft is not treating the same as c# – unless there is something we dont understand (us as developers)

        • Raja Venkatesh

          If I were you, I would make the conversion, learn the semantics of C#, and move on” NO We will not move on. VB or C# are two different religions.
          concise syntax of C#” NO we dont believe. Intellisense helps type very less so very few keystrokes help completion which we are used to for ages much before invent of C# or even .NET.
          Anyways we have already lost trust and moved on to other platforms and started using VB language equivalent implementations there. The C# dev count will continue to increase as VB devs age out in the race. It may never impact Microsoft at all or they may not loose anything but only gain with new developers.
          The good thing take away is Microsoft created its own language – VB, made it mature and let it out in the wild. They adopted C based language from another platform and betting on that. The mature language out in the wild is picked up by many today and one day it could stand up big and it may not be available for Microsoft to take it back. Just my thoughts. Not to hurt any one.

          • Pete Wilson

            Actually, C# was developed specifically for .Net and has always been the first, primary .Net language. It is only vaguely C based, and could more accurately be called Java-based or even C++ based, but the reality is it left those influences a long time ago.

        • Francisco Celedon

          It’s easy to switch: if you master c#, I can do too.
          But to port hundreds of libraries and stable code to c# is another issue.

          • Pete Wilson

            Fortunately, mixing C# and VB.Net code (especially VB.Net libraries) is very easy. Unfortunately, C# is quite a bit more complex than VB and it grows increasingly further away and more difficult as time goes by and Microsoft’s former direction to keep them at feature parity fades.

        • tv share

          I dare to say that VB’s synthax is one of the best programming languages synthaxes that have ever been lade. C#, Javascript, Java and all this family of ugly noisy, full of unnecessary { and ; error prone, relying on the use of an exceptionally efficient editor to trace the typos often not correctly highlighted… Etc…. Honestly, the guy who invented the synthax of javascript and c# on the Java’s model, made a horrible mistake. You like c# only because you are used to the synthax of javascript because it was for long the only available language for the front-end. Apart from this, these are ugly and much more verbose languages compared to vb

    • Morten

      Yeah it is sad and frustrating how Microsoft with a snap of a finger, can make our programs (developed over decades) turn into outdated legacy programs. Our team are so pissed with MS! 🙁

      • TBRMDEV ---

        spreading false hopes, is part of MS nature. They announce ‘amazing new technology’ with fanfares, people believe in this, get involved and then MS dump it.

    • David

      It might change ten more times by the end of the year. I guess the digital version of “build” this year will show their plans in more detail (or by absence of anything related) but it might be interesting in that, being forced to be a digital conference this year, the developers who go in person will mix more with the people that normally can’t go (forums etc) – this will give a never seen before mix of people from professionals to hobbyists in one location. The amount of chatter could influence Microsoft. Yes we all want to see “Microsoft will make the same/better than C#” but that’s never going to happen due to legacy inside

    • Wolfgang Reh

      Me too. I am using it all the time and prefer it to C#.
      C# becomes more and more unreadable with new features which are not that useful. These days changes in C# are always trying to reduce the amount of lines needed which unfortunately makes any code much harder to read. I love VB.NET because it’s so easy to ready and the quality of code you can write is as good or bad as any other language. Microsoft please rethink that !!!

      • Pete Wilson

        That’s simply not true. C# features are added based on the impact to most developers, and ideally the reduction in coding patterns that lead to easy errors. While I do not like the C# team’s focus on shiny and new while leaving many legacy features behind and not providing full new language feature support (consider the entire Expression tree debacle with years of C# features left out), I do appreciate their embrace of new features that increase developer power and expressiveness, even when they are things I do not anticipate ever using (e.g. null semantics).

  • Kamal Safa

    Do Microsoft know that a very big part of non-professional programmers prefer to use VB.NET among any other platform? I work in the civil engineering field and i can affirm that applications, add-ins, entensions, etc… are very largely coded with VB.NET.
    The problem is that since we do not work as professional coders, we are absent from forums and blogs. This gives the impression that the audience of VB.NET is smaller. Neither Python nore Java are replacements for VB when it come for structural, mechanical and civil engineers coding-dilettantes. VB uses a user-friendly syntax which, combined to Visual Studio interface, allows to produce effortlessly applications even from beginners. I am a fervent Microsoft defender and customer. I discovered Basic when i was 14 years old, and although i know Java, i don’t see any reason for non-professional programmers to use any other language. Long Life VB.NET, the unknown soldier.

    • David

      I’m assuming visual studio has telemetry and Microsoft knows exactly how many developers use 🙂 but for forums and blogs there is no exclusionary club that prevents anyone blogging or joining forums, language GitHub etc. if we’re absent, then I can only look to the developers and say “you’re voice can only be heard if you speak up” is going to be around for a very long time. worse case scenario, Microsoft ditches it in 5 years (never going to happen) and the open source community will take it on – it’s a win win scenario.

    • Sean Thorpe

      They can see at the Tiobe Index and other indexes of language usage the popularity of VB.
      They also know they can’t kill off VBA in the Windows version of Excel. (I just had to do some “quick” macros in Excel, and I actually thought about their new JS API, but then I thought, “I need this done NOW, not next week.” So it was way more practical to use VBA.)
      I thought it completely foolish in the early 2000’s when they idealistically trashed all the VB experience of people, and with the idealistic developer mobs started shaming and hating on anyone preferring VB over their new love-child C#.
      Anyways, this is good news. I was thinking of going back to VB.

      • Chris Pratt

        Most of those indexes are garbage, especially Tiobe. It gauges popularity based on search. With a language like VB, community support is next to nil, and most VB programmers are amateurs who need more help than others. Those two things combine to make the likelihood of people searching for how to do something in VB much more than C#, for example.

        The Stack Overflow annual developer survey is probably the most indicative, because it actually asks people to not only note which languages they use, but also which they want and don’t want to use. Every year, VB ranks bottom of the pack for desire.

        There’s definitely some use cases where VB is the answer (Office macros, etc.), but it is not a modern language, and should not be being used in modern app development scenarios. If you consider yourself to be a professional programmer and aren’t working on one of the VB niches, you should be moving on to C#.

        • Zehev Spitz

          It is essential to realize that VBA/VB6 is not VB.NET. While (as you noted) there are some places where VBA is the answer, and there is no other ubiquitous and compelling option; there isn’t really any place where VB.NET is the one best choice — everything that can be done in VB.NET can also be done in other .NET languages. The decision to use VB.NET comes down to a subjective personal preference — “How do I know which block this end curly braces belongs to?” vs. “My English IsNot Written Like This Then Why Should My Code Be?” Note that the reverse is not true — other .NET languages each bring unique capabilities to the table which VB.NET doesn’t have, and the decision to use them is more concretely justifiable. (For my part, if I have to currently choose between C# and VB.NET, I would choose C# for pattern matching and nullable reference types.)

          I think that VB.NET has been so busy maintaining parity with C# that it hasn’t had a chance to create a “killer app” scenario. And now that officially VB.NET is not moving forward, it never will get that chance.

          NB. I disagree with your contention that most VB programmers are amateurs who need more help than others. A VB programmer with any experience quickly becomes skilled in translating C# code and samples available online into the equivalent in VB.NET, simply because there is a dearth of such resources for VB.NET. And perhaps by the same token, it’s much easier to find collections of tutorials and samples in C#; once the amateur programmer finds such a collection, they’ll make use of the collection instead of searching further.

        • Cygnus Escolar

          If you do not like it, do not use it, if it does not serve you or is not useful, nobody forces you to use it, what difference does it make if it is in the development suite or not? Let it be.

        • Brandon Stewart

          @Chris Pratt,
          I see you in a lot of forums and posts about VB. Are you one of those people who just seek such posts out so that you can make negative comments about it because you personally do not like it? Here’s a thought… if you don’t like Visual Basic, then just don’t use it. Life really is that simple. No, really, it is. You could be spending that wasted time on something more productive and more fun other than bashing something which multitudes of others do like and find extremely useful. Other people using VB doesn’t do anything to hurt you. It doesn’t hold you back or cost you money. As far as the myth that VB programs are mostly bad code, I promise you I can show you just as many poorly written apps in C# as in VB. It is the user who makes a bad product – not the tool being used. I mean, seriously, Dude… it’s almost like someone is paying you to troll forums and blogs to bash VB.

          • Pete Wilson

            Actually, while I don’t agree with the post, I think you are wrong as well. Other people using VB.Net hurts me, because Microsoft is always using the excuse that their development time is limited (when it should more properly be Microsoft is unwilling to invest in more developers) for new features and keeping up with existing features in C#. If the entire VB.Net team migrated (or positions were added and people replaced) to the C# team, it is not unreasonable to think a lot more C# maintenance style development could occur.

        • Peter Ingemann Hansen

          “There’s definitely some use cases where VB is the answer (Office macros, etc.), but it is not a modern language, and should not be being used in modern app development scenarios. If you consider yourself to be a professional programmer and aren’t working on one of the VB niches, you should be moving on to C#.”

          This is pure bullshit.
          I partly agree about VB.NET being a modern language but Microsoft is to blame for that. VB.NET has showed its worth for ages and has showed that it can be implemented in modern frameworks etc. The only reason it’s lacking behind is that Microsoft loves its own spoiled brat C#, and would love to see VB.NET die. So they strip down its functionality and hope that people would move to C#.
          So it isn’t about ‘if you consider yourself a professional programmer’. VB.NET is just as great as C#. There are no religion better than any other and you’re missing the focus if you think that you’re right. VB.NET has exactly the same potential as C# – it’s just about whether or not Microsoft wants that potential to be released. And as for now it seems they don’t. That doesn’t make the language outdated.

          I’ve been using VB.NET for ages. I read and write C# very well. But my brain just loves VB.NET way more than C# and that is how it should be: you should be able to choose what flavor you would want instead of having Microsoft deciding for you. Friends have laughed at me. But when I tell them that both C# and VB.NET can do the exact same they just walk away because I didn’t accept their premise. You have to accept that just as how much you love C# for whatever reason there are people out there that love VB.NET as well.

          • Zehev Spitz

            I think it’s a little (to say the least) simplistic to say that Microsoft loves C# and hates VB. But it is important to realize that shipping C# is what enables entire .NET ecosystem; and if C# ships late, the entire framework has to hold off. As I understand it, because C# and VB are structured together within the Microsoft hierarchy, there is no single group tasked with VB advocacy; and the individual team members consistently get pulled of for other C#- or .NET-related tasks. If Microsoft were to form such a team, or perhaps an outside working group would be formed with the same function, VB.NET would be able to advance.

          • Pete Wilson

            VB.Net and C# do the exact same in that they are both Turing complete. With feature parity dropping away, VB.Net is increasingly behind in its ability to support modern .Net programming, and modern programming in general.

        • Radu Popa

          “Modern” fades, they come and go.
          The term “modern”, while it attracts the drooling crowd, has no actual value. Instead, you should be specific and state where did you try to use Visual Basic (if ever) and found it inferior to C#, as a language.
          And if you think that adding “professional” in your sentence makes you look smarter, you’re wrong. You just alienated all the Python programmers, most of whom might not be “professional” developers (according to your standards) but, using Python, they can easily achieve things you could only dream of.

          A programming language is a tool. A good tool should help you do the job easily and quickly and move out of your way.
          Visual Basic has been meeting those goals better than C# for most programming tasks in this world.

          Why are so many C# devs so afraid of Visual Basic?
          Anthony D Green said it best here and here. Instead of worrying about VB haters, we better rally together, possibly start at Anthony D Green’s excellent blog.


          So, people who don’t need community, need community. Why your way of thinking is The way of thinking? Have you ever thought that we VB.NET developers can read quite easily C# examples without too much fuss? Or that your tools of community are not used so much in VBA/VB6? Clearly I have never answered a single Stack Overflow survey, even if I use it, and since VB is so hated (by people that don’t know anything about it or superficially, especially VB.NET), why would I. As far as telemetry is concerned, yeah, I tried to make Unity projects with VB, that I always had to do it the difficult way, then I finally succumbed to using C# for ease of use (I imagine a better paid C# user doing the reverse with a smile in my face), so how would telemetry show anything if everything pushes us to do it their way.
          Anyway, enough rumblings, MS decided to scrap a fully functional and beautiful language (VB.NET), we need to migrate, fullstop.
          PS. And btw, for VBA, your some cases are vast worlds of cases, not every one out there tries to make the next AI.
          PS2. Why are you even reading these pages if you are not clearly a VB dev (most VB devs are amateurs is a C# stereotype).

      • fernando ricci

        ho iniziato con il gwbasic per poi passare a VB e continuo ancora a programmare con vb6 ma le difficolta sono per il pc a 64 bit, perchè la MS non modifica vb6 per il 64 bit? è inutile cambiare il vb con altre versioni alla 8 alla 10 ecc… non è possibile reiniziare sempre da capo ogni volta.

  • Juan Tapia

    A great decision, Python was filling the empty space that VB.NET started to leave. It has always been an easy language to learn, and fast and productive to program business applications.
    For everything else there is C #, or for almost everything.
    Great news for the community, hopefully they empower VB.Net as an alternative to Python.

  • Aaron Glover

    Does this mean there will not be a version 17 (or any new versions) of the VB Language?

    If so, you might as well shutter the vblang GitHub page.

    • Aaron Glover

      The previous .Net core 3.0 post mentions

      “Visual Basic 16.1 and 16.2 will improve C# interop and add new features”

      Will these versions happen?

      • David

        One assumes so, they stated they sill support .net core 5 – the new C# feature are interop with some of the new .net core features – therefore will support them.

  • Johan Visser

    I propose that with .NET 5.0 you rename Visual Basic to B#
    For a lot of developers (and managers) the Visual Basic name is a bit contaminated.

    B# fits more in the line of current languages (C#, F#, Q#) and it sounds cool ‘Be Sharp’

    • Chris Pratt

      The problem is the language, not the name. VB is virtually primitive compared to languages like C#, and the syntax structure prevents it from growing beyond where it’s at. To promote it to the same level as C# or F# would require that it keep it lockstep with functionality in those languages and it’s fundamentally incapable of doing so. This isn’t an optics issue. VB has the reputation it has for actual reasons.

      • FrozenIcE _

        Primitive is perhaps a bit an overstatement. I don’t see how its syntax structure prevents it from growing at all. There are very few things C# has that VB doesn’t, and it’s not because of the syntax, but because Microsoft chose a few years ago to stop focusing on VB.

      • Taiwo Ayedun

        It isn’t true that VB’s “syntax structure prevents it from growing beyond where it’s at”.

        VB and C# are both procedural languages and are, therefore, structurally similar, except for syntax; there is nothing that can be implemented in C# that can’t be implemented in VB.NET.

        The issue is simply a lack of devotion of resources to taking VB.NET forward.

        • Pete Wilson

          C# is increasingly a object-oriented, functional programming language and much less a procedural language. VB.Net, not so much.

          There is nothing that can be implemented in VB.Net that can’t be implemented in IL Assembly – there is more to a programming language than what it can do. How it does it is arguably a much bigger component of usefulness and power.

      • Nicholas

        Who is Chris Pratt. Are you really a programmer. If yes is C# the only language you have ever programmed in or what. I have done C++, Java, C#, Python and If not i will really be surprised as you are speaking about the syntax of being the limiting factor as to why it is lacking behind and that it is primitive. I can’t believe a “supposed programmer of your caliber” will be speaking like that as i don’t expect even a 1st year university student to be speaking of syntax structure as the cause of limitation in the design of a programming . If that is the case what will you say of Python then???

        It looks like folks who think like you are paying you to keep trolling so Microsoft will ditch it for c#. I am sure you have buried you head in the sand and will doubt if you have or will ever read Anthony D. Greens articles concerning the issues at Microsoft that has led to the state finds itself now.

        I can only say “Shame on you”.

      • George Hubers

        Chris, If you see VB as being primitive when compared to C# then you have no real idea how the two compare. I’m working through a book ‘Pro C#’ to brush up on some of the newer features in .Net. I translate the samples to VB and have yet to run into anything that couldn’t be done with VB (the only issue I’ve had was with Serialization because VS 2019 didn’t have the SOAP Formatter but it worked fine with VS 2017). Over the years I’ve worked with C, C++, C#, Java and others but I always come back to VB. VB just has a better feel to it. When I look at the code in the C based languages I can see what it’s doing. When I look at VB code it tells me what it’s doing.

    • li lee

      Great recommendation
      To fit the new netcore, you can remove the unsuitable syntax and rebuild B #, should Be sharp

    • Steele Price

      B# should be a completely new language “based” on VB.Net with massive breaking changes enabling it to move forward with .Net Core.
      This was the same fight from VB to VB.Net 20 some years ago. In that case we needed/wanted object orientation.
      If backward compatibility is the “problem” B# can fix that and be a parallel to C#, F#, Q#… R#?
      Then again, you might just have yet another mess and fight to contend with and here we are.

  • stelios .

    I did not clearly understand the post.
    From one side it said that is stable and use by many developers and will be supported in .net core
    But from other side said that
    Going forward, we do not plan to evolve Visual Basic as a language.”

    Can anyone in simple words explain if we can continue feel comfortable with VB.NET ?

    Shall we forget and start turning to c#?

    • David

      Stay with, they are talking about language features, not compiler or .net core

      for example:- feature = for each x in y
      compiler feature = await sub()
      .net core feature =
      WinUI feature = Image controls

      • stelios .

        Thank you David but is little not comfortable to know that c# is “eternally” live and other side feeling scared whenever Microsoft end
        (Keeping it alive yes, but not improvements)?
        (Ok,VB.NET 2 years on the stage or 3,4 doesn’t matter) but what next..

        From other side
        C# developers not afraid or worry about the language support, improvements, new features etc.

        By thinking this way it makes me feel like they trying to abandon VB.NET ?

        Unless i misunderstood something

        Isn’t that worth to worry ?

        Thank for your reply.

    • Chris Beach

      Personally, I would start the transition to C#. It’s the lead language and has a more stable future. Maybe start with some of your smaller pieces? Or the oldest most understood.

      • stelios .

        Chris, yes..
        I thought about it many times start transition to c# for smaller apps and slowly get used to it, but after 14 years of coding sometimes is getting little annoying. Syntax and generally to get used to it.

        However i should start at some point

      • David

        But C# is looking old, it has the same baggage that does, it hinders it’s progress – Swift is far better from a language perspective than C#, but is much easier to read in my opinion 🙂

        • Pete Wilson

          I think Swift went in the other direction too far – if it didn’t have the Apple mobile development ecosystem behind it, I doubt if it would be a very popular language. C# has a fairly pragmatic approach (they have broken it a few times lately) and that has made it much less a theoretical development project and more a working language compared to Swift.

          • Troy Robinson

            I have used both and I prefer C#. So, not every other person 😉

          • Pete Wilson

            C# is far more productive for me – and I have done commercial development in both. VB.Net has too many features from .Net and C# that feel tacked on rather than integrated.

    • Chris Pratt

      The message is basically the same as with WinForms and WPF, etc. Microsoft brought support forward into .NET Core to give developers a way to port existing apps with little to no code changes. However, you should not today start a brand new app based on WinForms. It’s the same message with VB. They’re going to support it just enough to port existing VB apps, but you should not be building brand new apps in VB.

      • Steele Price

        I built a new one yesterday. No other language on the planet does what I require: XML Literals and LINQ.
        Use your real name and real HONEST material or go away.

      • Cristian Luis Teixeira

        @ Chris Pratt
        You’re annoying! in fact you have the face of C #, spoiled boy, if you still think you should reaffirm the existence of C # because it was always a copy of Java, there will be! ahahaha C # is a copy, here in this blog you must be remembering when you were a kid and your parents gave you a bicycle that was a copy of a famous bicycle, you still carry this trauma but today it is with C # ahahahahahah

  • David

    This is great news, let’s look what this actually means:-

    * WPF/WinForms fully supported in .net core 5.0 – this is what we wanted – Microsoft gets 5 stars and a whoop whoop 🙂
    * We get full .net core support, a bit late, but the my namespace and visualbasic.dll were a lot harder than thought – Microsoft gets 4.5 stars
    * doesn’t get new features (from 2021?) – that’s okay, I want new features, but it’s a complete language – Microsoft get 4 stars – remember, these are language features, not framework or compiler features
    * If (stressing if) .net core breaks language support with a new feature, might (stressing might) not support that feature. – Microsoft gets 5 stars – (swift might replace C#, stressing might)

    So has a great future, full .net compatibility for at least two years and then it might not be able to access the odd new breaking feature in .net core – if and when that happens and I absolutely need that feature then I can create a C# library for just that – not a big deal, and at that point maybe i’d look at changing languages.

    And in those two years, things may change, they have done many times.

    Thanks for the clarity .Net Team.
    Duckhead Software

    • Zehev Spitz

      No new features means no pattern matching and no nullable reference type handling, each of which fundamentally empowers developers to do more, on the same level as LINQ does (method or keyword syntax).

        • Zehev Spitz

          Pattern matching is a more powerful way to test conditions and extract information when the condition passes — it’s purely a language feature. And unless the CLR’s type system will undergo a radical change, reference types will continue to have null as a possible value; so I can’t imagine how .NET Core 5 — or any future version — could require NRT handling in calling code.

          • Johnnyxp64

            pattern magic in c# 8 looks a mess! more lambda sympols just to make it look smaller in size.. but harder to read and understand what it does! c# is becoming less and less verbal! was successful and great to teach because of the lack of useless symbols like {} ; () and the verbosity!

            then the null reference handle can be done in up to a certain way…thanks to the ?. years ago.

            those are not “features we will miss”. is in what.. version 14-15? c# is just going to 8. has everything c# still doesn’t.

    • Markus Zoschke

      When Kathleen Dollard came out with porting the My-Namespace to .NET Core, how many hands have you seen?
      I don’t know a single VB shop, where this crap has not been banished via coding guidelines.

      So, it’s a rather weird choice to invest in weird and language specific crap, while not investing in nullable refrence types (which is basically an atttributte with a compiler checker, who can and should be language agnostic).

    • Cristian Luis Teixeira


      I will follow your thought! When has any difficulties I will use C # as support.

      That’s right!

      For me C # is just a support for

  • Matthew Herb

    Everyone time I get on a project and I see its in VB.NET its always a bad sign. Knock it off! Anyways, its a pain to get stackoverflow answers when you still insist on VB.NET syntax.

    • Chris Pratt

      Agreed. Whether Microsoft supports it or not, VB is a dead language. You might as well go write a COBOL app. Using VB in new projects is just a developer choosing ease of not having to learn anything new over future support and maintainability. Later, some other developer has to pay for that laziness.

      As a developer, you have a responsibility to stay on top of trends and technology, and adapt and grow as a developer as things change. The winds shifted from VB *long* ago. If you can’t or won’t learn a new language, then you have no right to call yourself a developer.

      • Christopher Brand

        Not really. If your entire companies code base is in, then writing in whatever the language of the day is just creates an unmanageable mess. As a corporation its best by far to stick with one technology. Less training, better for standards, faster for development.

      • Taiwo Ayedun

        I doubt that you actually program in VB.NET. Most of what you write about the language appear anecdotal rather than factual.

        People who use VB.NET have had to learn new language features introduced into the language over time, just as those who prefer C# have had to with that language. Therefore, it’s a fallacy that those who prefer VB.NET are unwilling to learn new things. It’s simply a syntactical preference.

        You’re making a lot of uninformed comments about VB.NET.

        • Steele Price

          Since people like Matt Curland and Dan Appleman first showed us how to effectively and unashamedly tie into ANY lower level Windows feature from VB, we could implement any advanced feature we needed. Clever and outstanding people such as Taiwo built companies around it. Unfortunately those who did accomplish such feats were not given the opportunity to speak without judgement in a general audience. That has nothing to do with the language and is simply a poor choice the community made to shun a set of people interested in a language that made sense to them. I am much more interested in seeing the language given to the Open Source community now. If you hate it, go away. For those who are interested it should be OPEN FOR PRs.

      • Brandon Stewart

        “As a developer, you have a responsibility to stay on top of trends and technology, and adapt and grow as a developer as things change.”

        Actually, you have a responsibility to do what your employer pays you to do. If your employer pays you to develop business apps in C#, then that is the tool you use. There are many industries such as the various fields of engineering and manufacturing where VB is the standard for developing in-house apps and API automation. So, if you employer’s needs require VB, that is your obligation.

        • Steele Price

          A specified technology is rarely the problem. Competent staff are happy to learn new techniques. Showing your peers something is useful has always been a developer’s best tool. Staying the course in the same language is a choice, sometimes not always wise. (written anything in RPG lately? How about COBOL? I’ve seen it in production in 2020.) Replacement always has a cost. Sometimes your employer needs to see that a shift in course is most economical. Other times, especially in critical systems that are not security problems, “if it ain’t broke, don’t fix it” is most certainly economical.

      • Steele Price

        Excuse Me?

        VB is no longer my PRIMARY Language… Neither is C#, or Go… it’s actually Idris.

        I am almost daily conversing with people using F#, Scala and Rust.
        I write examples in JavaScript, VB and C#.
        I flesh out system designs in Haskell.
        I use TypeDefs and StateBox to validate my Type systems.
        We frequently have discussions about proofs in TLA+
        I just trained someone from a C# background how to interpret Python.

        Just because we “like” VB and support it, doesn’t correlate to having vapid ignorance.

      • Cristian Luis Teixeira

        @ Chris Pratt
        Have you ever wondered if banks would follow your example? ahahahahaha

        I think they are paying money to speak C # so well, but first, you need to study the market ahahahaha

  • William -

    Well, you are finally getting it partially right – you should evolve VB along with your frameworks. I don’t think it will hurt Microsoft’s bottom line all that much to create a small team of VB/.NET Core developers to keep the language up to date. Inclusivity should always be a primary objective of technological progress and there are millions of VB programmers out there.

  • Michael Taylor

    So VB is dead then. Not evolving a language means it will fall behind new features of the CLR which means more and more the language will not be sufficient to do modern development.

    I think OSS the code may help but it would need to be stringently curated so the official language doesn’t become a hodgepodge of features like C# has become. C# , since becoming open, has gotten useless features because somebody somewhere thought it was needed and made a PR for it. The language is becoming a mangled mess like C++. At least VB will be saved from this horrific fate. Personally I think C# needs to be locked down as well to prevent this kind of stuff happening in the future.

    I personally find it funny that MS spent lots of resources on building Roslyn to eliminate the need for separate compiler code bases and to simplify maintenance of the languages and now puts VB out to pasture. Isn’t the only difference between the languages (now) is the syntax for the most part with some runtime library additions? Why would expanding VB require any more resources than C# or any of the other languages that suddenly appeared (Q#)? How about taking those folks working on new languages and move them over to support VB?

    This post reminds me of the post a while back about how .NET Framework is dead and .NET Core is the future. I wonder how long MS will wave this flag before the backlash is so great they “hear your feedback” and figure out a different way of killing off the language without actually saying it.

    • Chris Pratt

      The actual syntax of VB is the issue. It literally can’t support modern features because there’s no way to make them work in the syntactical structure. That’s been an issue for a while and is only getting worse with time.

      Also, shifting resources from F#, Q#, etc to support VB is insane. It’s like saying let’s move all the resources from developing smart phones to work on Tandy. The tech is dead, and devoting resources outside of basic support is a waste of resources.

      • Jason Rosenthal

        What are you even talking about? VB programmers use the same keyboard as everyone else. Adding the new nullable features like ??= to VB is similar to adding it to C#

        The problem is the strong coupling of syntax to features like xamarin, ef, windforms code generation that they didn’t have before. Microsoft had this solved in the past with Microsoft Common Intermediate Language. If they remove the strong syntax coupling for code generation there is room to innovate on all languages.

      • Zehev Spitz

        “It literally can’t support modern features because there’s no way to make them work in the syntactical structure.” — Providing some concrete examples would be nice; my experience has been that it’s definitely technically possible to add new features, but that Microsoft is unwilling to invest the resources needed.

        AFAICT the first hurdle in any new feature (after it’s confirmed to be a good idea) is how to express it in a style consistent with the rest of the language. If for example, you’d want to add intersection types, you wouldn’t use Typescript style “Dim a As Integer || String”; you would choose something that fits stylistically with the rest of the language with its heavy usage of keywords — “Dim a As Integer Or String”. There’s a lot of subjective discussion around this, and it takes some time to reach a decision. Perhaps this is what you are referring to.

      • Markus Zoschke

        Why should it not be possible to add the same “?” to nullable reference types in VB?
        Why should it not be possible to insert pattern matching using the seasoned LIKE-operator?
        What is the difference between consuming a Span and a Span(Of T)?

        The reason MS is doing this is, that VB has not much to gain from adding language features. You just cannot pollute an entry level, human readable language like you do with a high-end system language like C#.

        And, apart from Nullable Reference Types, I happen to agree.

        • Taiwo Ayedun

          @Markus Zoschke
          I agree about not polluting a language.

          However, that entry-level people use VB.NET doesn’t make it an entry-level language.

          There are those for whom C# was their first language and they would be entry-level programmers at that point; does that make C# an entry-level language?

          I learnt C, C++ and Pascal in college in introductory CS programming classes. That doesn’t make these languages entry-level languages.

          • Rob

            I use VB.NET all the time at a professional level. It does what is should. My entry level language was 8-bit machine code on a 6510 processor, 36 years ago. VB is easier to read. Machine code was easier to break. I love machine code, I love VB.NET, and any other language I have to use. At the end of the day, they all follow the same fundamental rules, logic. They are basically all the same in a different way. Coding techniques and the latest super fad will always exist and evolve. Logic is logic. Fad’s are a pain in the S**t box, but they push us all forwards. Shame about the cliff!

      • Taiwo Ayedun

        @Chris Pratt
        Name one thing that you can implement in C# that cannot be syntactically supported in VB.NET.

        It’s insane that you keep making these uninformed comments.

        • David Streeter

          Yeah, it’s a very weird thing to say that VB’s syntax holds it back.

          It’s not like C#’s syntax is the same as it was ten or twenty years ago. Look how weird the switch statement in C# looks compared to the more recent additions to the language.

          Microsoft have deliberately held VB back to maintain the syntax. Microsoft have also all but abandoned desktop development. Both WinForms and WPF have been deprecated with no replacement.

    • Christopher Brand

      I agree, a big part of MS’s problem is they throw technologies at the wall and see what sticks. If we as individual developers pick one that is on the wall it may or may not be there in a few years. They need to think more carefully about the products they come up with for us and commit to supporting them for at least a decade or two. We are building commercial products on these technologies and having to re-create the wheel when tech changes is not efficient. The goal of any coder should be for their code to be able to live as long as possible to get the most value out of it.


    I am very very happy to hear these good news.
    I started using vb from version 3.
    Then i used vb6
    And now
    I have a huge enterprise in vb .net which I started before 18 years. And I am still up to now updating it.
    I really love too much this nice simple great language.

  • Edison Henrique Andreassy (GOVBR MTZ - DDP Arquitetura)

    That’s a great news. The support of Windows Forms and ASP.NET Core Web API is really what is blocking us to migrate to .NET Core. We have a very large and stable enterprise solution (> 300 projects and >12,000,000 LoC) that was started in VB 3.0 language in Windows 3.1! We successfully managed to upgrade it to VB 6.0 at the start of 2000s and few years ago to VB.NET. Now we are modernizing it to be native Web applications.

    For us, what is important is platform and library support, not necessarily language feature. But there is something that worry a bit is the lack of support for consuming or creating ref struct (like Span(Of T)) as we have some performance critical aspects parts of our software and we was hopping for.

    For the people that think that the language feature not evolving is a problem, remember that VB.NET compiler is Open Source, and if someone implement something that have large demand, I’m pretty sure Microsoft will consider it. I have contributed myself on porting parts of VB Runtime Library to .NET Core.

  • John Willems

    I am a long time VB/VB.Net developer. Sadly this has been the direction MS has been headed with VB for some. It kind of reminds me of what they did when they abandoned Visual FoxPro years ago.

    I have never taken to C# though I have tried. There have to be millions of apps based on VB both desktop and web currently running around the world. While I don’t have a count, I suspect there are still millions of vb developers worldwide. Some platforms would love to have that size of user base.

    If I am forced to change from VB, I will likely move to Python or PHP. They enjoy good community support and less need for the corporation (Microsoft) to decide what is relevant.

    I truly hopes MS reconsiders its position. Many of us have invested heavily in the language and framework. It would be sad to see that lost because of this decision.

  • Ioannis Ioannou - Software Engineer

    Finally some good news!!!
    @Microsoft you need to support all the VB.NET developers out there as well. VB.NET is a Microsoft signature programming language and should be treated/supported like c# and get all the latest features.

  • Pramod Senevirathne

    This is sad news! VB is an iconic language where a lot of people including my self started out with as kids. I wish there are more Video Training courses on VB so that more developers can learn how a wonderful language Visual Basic is.

  • hitesh davey

    No wonder abt this news; MS itself is falling short of professional VB.NET developers. The majority of top VB.NET lang architects have left or moved to other projects a few yrs back and thus as a result, the only option left is to maintain VB.NET without any enhancements.

    To me; VB language will remain the best programming language ever in the computer science world. There is saying.. Any fool can write code that a computer can understand. Good programmers write code that humans can understand. and VB is the only computer language close to human language.

  • James Rolfe

    “Going forward, we do not plan to evolve Visual Basic as a language.”
    I’ll definitely lose my job before I retire because of this! My current company hires me because I’m the only one in our department who knows how to answer Japanese technical supports in VB.NET. If the company doesn’t need VB anymore, I’ll be totally useless for them. At that time, they will fire me! I won’t switch to C# unless I get a salary that is twice or more than expected. Because I hate (){}; languages. The semicolon at the end of each sentence looks like herpes. I’ll probably look for a Kotlin or Python job next time.

  • Frank Schwab

    This is really bad news. It seems to me the MS people never realized what a great language they have with VB .Net. It is way better, more readable and much less error-prone than C#. C and its descendants are bad programming languages. They encourage programming bugs. One can nearly not see the difference between “if (object.method(parameter).equals(other))” and “if (!object.method(parameter).equals(other))”. It is only a miniscule difference, a strain to the eye. In VB this would read “If object.method(parameter).equals(other) Then” vs. “If Not object.method(parameter).equals(other) Then”. And all these horrible needless () {} and ;.

    VB .Net is so much better. MS should train people in VB .Net, encourage them to use it. Do not leave it at a dead-end.

    • AlexEv

      C# syntax is insult of VB.NET programmers. Why I must finish each command with “;” ? Is computer don’t understand end of command ? This is stupid compiler !
      C# syntax in insult of VB.NET programmers. Is it really concatenate string and adding two digit with the same character “+” ? And even adding event handler with the same “+”.

      This is insult and mockery of human logic at all.

  • Giorgio Novello

    With this decision microsoft die itself, not vb.
    When ms launched c# most programmer migrated to php, while with vb was the first development system.
    Remember this.

    • Paul Cohen

      Maybe this is why Bill Gates retired today from the Microsoft board or why someone had the nerve to announce it. Just a thought. If MS is willing to consider a PR and make sure .NetCore 5.0+ libraries are accessible to VB I have no issue with this.

  • Nicholas Franks

    See, this is what happens when you get rid of Bill Gates…

    It would make sense to just let the community “evolve Visual Basic as a language” since M$FT is just too damn lazy too.

    This is why people are going to upgrade to Linux and Java for development from now on. Some of us are kind of tired of M$FT’s business decisions.

  • Werner242 Muster

    I use 2019 I love this language. It is the best programming language I know. It is understandable and readable. Microsoft has done great programming with With this programming language I can concentrate on the tasks that I have to solve.

  • Brandon Stewart

    I have been on Microsoft’s case about this the last several months and very verbal in my dislike of Microsoft’s silence over the future of VB, as Kathleen Dollard can attest to this. With this announcement, I am very happy now. Despite such commentary by some members in here who seem to not have any realistic comprehension of the business world outside of their own coding laptop, Visual Basic still has its place above all other development systems. For instance, most civil/mechanical/aerospace engineering departments have very little need at all for mobile/table/cloud type software. These devices and operating systems cannot run the processor and graphics intensive software we must use for analytics and 3D design. We use desktop for these things, there are several other fields like ours, and we are not going to change.

    People like Chris Pratt who seem to live in a bubble and can’t realize the needs/requirements of others outside his own apparently limited experience do not get to dictate to those of us in business which practices and/or technologies fit better with our models and industry. I am sure that C# is an amazing language for developing new fang-dangled and cute applications. But shiny new toys are not what our companies need. We need a proven development system which is fast, reliable, and stable. We need apps which are conservative and efficient. Where C# has very little practical use in the types of applications we use, Visual Basic does fit perfectly with our business needs. It has for a long time and continues to do so today.

    I would like to thank Microsoft for taking this incredible step. I have been working on all our libraries to rewrite any code which is reliant on the Framework version of .NET and the VisualBasic.dll runtime. I want to be dependent ONLY on .NET Core, so I am grateful to Microsoft for porting WinForms over to Core. But I want to go even further than this. I want Visual Basic to be completely cross-platform so that we can build GUI apps on Linux and MacOS in addition to Windows. However, because Microsoft has already been nice enough to port WinForms and WPF over to Core, I don’t think it would be fair to ask them to also be burdened with creating templates for building Xamarin apps with VB. Instead, I think since Microsoft has met us half way, we should carry that task ourselves. While I am of the opinion it would be financially advantageous for Microsoft to also develop Xamarin and ASP.NET templates for use with VB, Microsoft does not seem to share my sentiment. Therefore, I feel it should be up to us and to those in the open source community to build these templates ourselves, with help and guidance from the pros at Microsoft who might be willing to volunteer and donate their personal time, of course, then turn over those templates to Microsoft for them to include as options in the Visual Studio installation. In fact, I would like to see Microsoft develop a small web site (moderated by Microsoft employees who volunteer their guidance and expertise) dedicated for this single purpose of getting public input and contributions to open source the development of VB/Xamarin and VB/ASP.NET templates in order to make Visual Basic truly cross-platform. I think us doing it this way would be more than fair since Microsoft has already exerted this much effort and kindness for us. This will probably never happen, but a guy can dream.

    I do agree with Microsoft that the VB language itself does not need to evolve. That is so much of the point of VB to begin with, that people/companies who prefer VB generally don’t like change. The language itself already does pretty much anything anyone might need it to do. So, there is no point in changing things to get folks all riled up the same way as that which occurred with the transition from VB6 to VB.NET. We like it – don’t change it – just make sure it keeps working with future release of Windows 10. With the help of volunteers, we’ll get it (GUI apps) to working on Linux and MacOS. A few more compiler optimizations would be nice to make compiled executables perform even faster would be nice, but I won’t push my luck.

    Again, thank you to Microsoft for this incredible extension of help and faith in your customers.

    • Zehev Spitz

      I don’t think it’s reasonable to depend on Microsoft employees to volunteer their time to moderate a site like that which you propose. And even if you pay them to coordinate VB contributions, Anthony Green makes the case ( that as long as they are not fully and entirely dedicated to VB within Microsoft, they won’t be able to act effectively, both in coordinating contributions and in pushing the language forward; in part because C#’s needs will always take precedence, because C# is what drives .NET forward.

      If there would be such a team within Microsoft, they would be able to coordinate on all fronts — cross platform VB, multiple device types, new language features.

      (As an aside, there have been a number of times in the VB language design repo, where a team member has said, “Sorry for the delay, we’ve been busy with X, we hope to get back to VB language design soon.” It always struck me as slightly strange — aren’t there people dedicated to VB who are paid to sit 9 to 5 and work on VB? Apparently not, and they’re always getting pulled off for other things.)

      “the VB language itself does not need to evolve” — That argument could have been made for Async/Await, for lambda expressions and LINQ, for generics, for nullable value types; and Visual Basic would have been the poorer for it. IMO, pattern matching and nullable reference-type handling each in themselves add so much power to the language, that future generations might look back and say, “How did they manage without these?”

      • Brandon Stewart

        The unfortunate reality to this is, and it’s the reason Microsoft won’t opensource VB6 as well…

        Microsoft wants to push EVERYTHING to cloud-based subscription services. VB is a powerhouse for desktop apps. Microsoft doesn’t want anything to give companies reason to linger in desktop app-ville. Instead, they are goading companies into moving ALL of their data to the cloud. Hence, Microsoft will not opensource VB6 nor evolve VB.NET because they want to reduce the ability of businesses to remain a desktop shop and avoid paying massive subscription (extortion) fees to Microsoft.

        Reasons cloud-based services are stupid.
        1.) The internet infrastructure in most regions is flaky at best. Companies like Comcast are not going to shell out the money necessary to upgrade the data infrastructure sufficient to meet the requirements of doing business over the cloud. My own company has twice suffered data loss when the local internet service went down while transmitting some of our non-sensitive to the cloud. We learned our lesson and dropped our cloud services.
        2. The “cloud” is made up of hardware being driven by software just as are a company’s own personal servers. Because of this, cloud servers are no more dependable and no more secure than your own personal servers. They are subject to the same hardware failures as are business severs. Because data encryption is just software, just as someone can write the software to encrypt your data in the cloud, someone else can also write software to decrypt your data to steal it. Just ask Apple and various credit card companies.
        3. Many businesses like ours have data which we are prohibited by U.S. law and ITAR treaty from connecting to any outside access sources. Our secured servers cannot be connected to the internet or phone lines, and they cannot be networked with any other systems which do have outside access.

        So… this wet dream of Microsoft and other tech giants to force everyone to the “cloud” just is not a reality.

        But anyway… this is why Microsoft wants everything to go “cloud” and mobile – so they can take possession of your data and charge you a subscription fee to access it. The desktop application model and RAD desktop development systems like Visual Basic are a hindrance to Microsoft’s ultimate goals, and that huge cash cow they’re waiting to plunder. So, don’t expect Microsoft to continue evolving VB. And certainly don’t expect them to open source VB6.

        I am keeping an eye on this project (because their existing IDE and languages already rock!).

        But in the meantime, we are transitioning all our systems over to Linux. We are rewriting our apps in Lazarus/ObjectPascal, PHP, MySQL. We are dumping all things Microsoft including Visual Studio and SQL Server. As well, we are converting all our Microsoft Office documents and apps over to LibreOffice. We figure it will take us 2 years to complete, but it will be worth it.

        • Zehev Spitz

          I am not qualified to judge the accuracy of your statements about Microsoft’s cloud goals, but I don’t think it’s relevant here. Why should VB be different from F#, which has strong Microsoft support in spite of the strategy shift to cloud?

          • Brandon Stewart

            My post explained why it is different. VB is a powerhouse for rapidly developing dependable desktop applications. Many industries like mine cannot move to cloud/mobile computing because a.) security issues, and b.) performance issues.

            Neither cloud-based software nor mobile devices have the computing/processing power to perform the type of engineering analytics we do. Granted, VB is not used to develop those types of processor-intensive applications. But those applications which are written in C++ and Assembly do require a desktop platform system to run them. These are 2 issues which Microsoft and other tech giants who are pushing to cloud/subscription service can’t get through their heads. But the point is, because VB is so good at developing desktop applications, its availability (and therefore, the ability to efficiently produce desktop application) will make companies more resistant to moving to cloud-based services.

            Additionally –
            a. F# was originally created to be cross-platform and was geared toward online/mobile development.
            b. VB was not originally created to be cross-platform and was not geared toward online/mobile development.
            c. Because F# was already designed for cloud/mobile development, there is little overhead cost in evolving it.
            d. Because VB must be coaxed to be cross-platform via .NET Core and it must be coaxed to perform cloud/mobile development via ASP templates, it costs WAY too much to evolve VB as such a development system when the overwhelming majority of VB users will stick with developing desktop applications, which of course, will deter companies from moving away from desktop apps. VB is a threat to Microsoft’s end goals.

        • Federico Dutto

          I agree in part … I’m glad there is movement in VB. But they could be more precise, continue with everything, or do not continue. End of discussion. Many times it seems that Microsoft drives some technologies to the detriment of others .. It seems to reinvent the wheel over and over again ..
          I really think that this orientation to C # will have its well-founded reasons, but there is always that feeling that tomorrow, whether for the market, the users or the technology, that it changes the other way and they do not enhance everything done, again from scratch. ..
          We understand that technology advances, but it is always necessary to start from scratch ???
          Although there are examples such as SQL Server that comes from a long long time ago, and they continue to advance and improve over time, but with a focus on azure services …

          • Brandon Stewart

            @Federico Dutto
            I totally agree! I wish Microsoft would just say, we’re done with VB. You opensource folks can have it to do as you will with it. But Microsoft will never do that. As I mentioned in a previous post, VB is so efficient for producing desktop apps, it is an economic threat to Microsoft’s future plans of forcing everyone to cloud-based services because as long as most companies can efficiently produce in-house desktop apps, they’re not going to transition to the cloud.

          • Steele Price

            I look forward to contributing where need be in PRs.
            I am not tied or dependent on Desktop Apps (we do have them…)
            We need VB for XML Literals and it is in our .Net Core Services as a translator for XML Structures.
            I will NOT be going back to XSLT or some contrived nonsense.

  • John Botha

    Sad news! I started with VB5/VBA back in 1998/1999. Like many guys said in comments in previous articles, is to look at Python. Shares a lot of similarities with VB.
    I can code in C / C# but it is not VB! Really sad that we (VB Developers) invested so much time over the years into this great language and it will come to nothing because of some corporate strategy…bet you if Bill was still in charge, this would not have happened!….sad story…really sad story… is all I can say! 🙁

      • George Hubers

        Same here. My first computer, a TRS-80 Model 1 (4K memory / 4K speed – think about that in today’s world), came with Basic and I followed the same path. VB is easy to work with and as capable as any.

  • 杰 陈

    i started my programming since Quick Basic when i was a little kid, and i enjoyed every Basic versions. Visual Basic 5.0, 6.0, and every Visual after 2005. since I am using C# more now during work time, i would love Visual Basic more. if i am going to make a tiny and easy app to helps someone’s life or work, i shall choose Visual Basic to do this. It’s like my mother language, i think and write in it, It’s a home that i am from and i will return to.

  • Ismail Demir

    Opening text is very heartbreaking </3

    “We’ve heard your feedback that you want Visual Basic on .NET Core”

    The guy that wrote this text should be forfeited very hard!

    It can’t be from a VB Developer. Of course you should support VB.Net on .Net Core!

    After 2 years later since Kathleen Dollards post in 2018 hearing this opening text is very heartbreaking. I am dissappointed!

  • Dave Smith

    I have spent many years with VB, starting at VB1,2,3 and then onwards.

    I have many applications, and i really do mean many, some working on one or two pcs, some working on dozens.

    Some working on simple tasks, others doing things you wouldnt believe, like working in a hospital, its the entire PAS system, PDF, Imaging, Scanning, Biometrics, all sorts.

    I tried (vb7) as it was, omg, it was as most people say – BAD – like really BAD.

    That put most of us real VB6 developers off, I write PHP coding, HTML5, etc.

    As a single developer, self employed, who has the time to learn all over again ??

    I’ve tried VB 2008, 2010, 2013 and on and on – but converting my existing applications just constantly fails.

    Some applications have 5 or 6 years worth of coding, I cannot go through and simply try and replace to fit the newer control.

    I’ve tried the XOJO, its slugish and well just not as nice as VB6 was / is

    I still use VB6 every single day, I can quickly without thinking go in, change, update and move on.

    I would like to move to the newer VB – i’ve got the VS 2020 but its just not nice.

    just simple stuff

    vb6 – mousepointer=HourGlass

    now it needs to be;

    Me.Cursor = Cursors.WaitCursor

    of course we were all told to use the methodology that using a static var was a good thing

    HourGlass = 11

    then we could simply replace the value in HourGlass and the entire system would use the new value, great

    but with .NET

    its all around the houses, the IDE is very poor, slugish

    I get that the idea is to write one block of code – fits all devices

    But converting a project that has some 8 million lines of coding in it just isnt a five minute job, on top of learning a whole new language again.

    Sadly, cant retire.

    Anyone got any words of real encouragement ?

    How can i upgrade from VB6 to VS2020, by all accounts i have to upgrade VB6 > Vs2010, then Vs2010>2015, then 2015-2018

    each time things fail to work, require changing in each version

    Has Microsoft really just decided to leave all us true VB6 developers in the dark ?

    Not trying to slag off things, just at the point where really i cant find a way forward.


    • li lee

      I am good at vb6 and, if your software needs to be upgraded, I can help you for a fee, rewrite one by one. is interesting and strong than vb6 ,If you need ,contact me. (# to @)

    • Troy Robinson

      years ago, circa 2009/2010 I helped a large company convert their VB6 code to VB.NET using – it’s not cheap, but it may be an option for you. From there you can convert the code into C# using tools like JetBrains dotPeek and Telerik’s JustDecompile. Just saying….

  • li lee

    I do not know what special features and necessities F# has, how many users?
    It is better to merge its functions into to form a new language B#

    • AlexEv

      MS said than F# use more than 10,000 developers, but strongly use VB.NET (without C#) about 400,000 developers, Very strange decision to sink 400,000 developers and propose new language, isn’t it? But below I share my vision of this MS decision, VB.NET is extremely successful project, than VB.NET doomed to death.

  • AlexEv

    I think, problem of this MS decision is money. MS is greatest bull in IT industry and MS idea is so clear. If capitalization of IT industry will be grow, if price of any new software will be grow, than capitalization of Microsoft will be grow too. This simple idea is clear to any VB.NET developers. – dead more successful technology and support more expensive. VB.NET was created father than C as evolution of C, VB.NET based on C (refuse reverse to human syntax, parentheses and so on), VB,NET is evolution of C to RAPID programing. For example in one my project I have writing 700,000 string of VB.NET code, in other 300,000 string of VB.NET code. Is in the world exists C# programmer who can write the same volume of code and code still clear to understanding and modification? I absolutely sure, NO, its impossible in anti-human languages as C#. And Microsoft understanding this win VB.NET over C#, and close VB.NET projects, because capitalization of Microsoft not will be grow with so amazing language as VB.NET. A background result of Microsoft greed is fate of VB.NET developers, for example now I have no job because I’m strongly VB.NET developer, not C#.

  • Gjuro Kladaric

    guys, guys, guys…. you are so negative… you should have several things cleared in your mind before you discuss…

    1 – Microsoft is an enterprise, founded to earn money. enterprises fight every day not to be forced to file for bankruptcy. therefore, enterprise decisions are financially based.

    2 – VB.NET is not going anywhere. it is still with us and will be for foreseeable future, only it would not follow C# in its further development. it will still be with us in its current capabilities.

    3 – VB.NET is open source. everybody can fork it and further develop it in whatever direction they want. you can even have it for your personal fun so Microsoft can never kill it completely.

    4 – I can’t guarantee that, but I would say that Microsoft never “promised, forever” anything, nor they did so about VB.NET. it is always “plans”, “visions”, “roadmaps”… and that things are valid for the point in time when they were published, not forever.

    5 – since many years ago free versions of visual studio started to appear, income from visual studio sales (and all related language environments) mostly vanished.

    6 – developing and supporting development environments and communities need money… large sums of it…

    7 – would you not do as Microsoft did? namely, support the main development environment that serve most of their customers, and abandon others… nicely, gracefully, gradually, but yes, aggressive development of VB.NET has obviously been stopped… you have ten to twenty years to abandon the ship… how many years would you support a thingie that does not bring you any money?

    8 – I like VB.NET as much as all of you… I switched to it from C#, which I used at the beginning of .NET time, after I discovered that C# is almost nothing like C, which I used previously, and that I like so much more working in VB.NET

    9 – in the end, remember, Microsoft is fighting every day against bankruptcy… and its competitors are all around…

    so, long live VB.NET, in its today form 🙂 I will still enjoy that ride, for years to come


    Wow, you actually told us in a few lines, that you will support .NET Core, but for now, so we don’t get so excited. And you also proclaimed stability as something we always wanted, when the word means actually stagnation and stability as opposed to instability was never an issue. In a few words, you told us, hey we will make those things, ’cause :sigh: we love you strange-guys-that-you-don’t-love-curly-brackets, you and your, ehm, language.
    Does no one love VB.NET in there nowadays?

  • Mark Patterson

    Please reconsider. You’re making a SERIOUS MISTAKE.
    You should rename “Visual Basic” to B# and it should have full parity with C#.
    B# syntax is easier to learn, type, read, and maintain. And you don’t have to type ridiculous semicolons and brackets.

  • Praveena RathnakumarMicrosoft employee

    Hi Team,

    This is on behalf of one of my customer looking to buy “VB APP/LIC 6.4 CM EMBEDDED MVL” – visual basic emmbedded version 6.4 CM.

    I am unable to find a supplier for the same in India. Any touchpoints will help.

  • Leonardo Palomino Vargas

    Microsoft wants developers to migrate to C #, but developers prefer to program in python. was the preferred language to introduce programming to beginners, that was its target market, and for people with little programming skills to program, but because of Microsoft’s disinterest in developing it, the gap left by it is filled by python as the first language for learning. In my country the universities taught as the first language, now it is java or c ++ or python.

  • Ken Ramsey

    Okay, I’ve considered this blog post and read all the comments and concerns.

    About the eternal struggle between VB.NET and C#, well there is no criticism I would lay against VB.NET that I would not also lay against C#. They are both .NET languages exclusively. It was always silly of Microsoft to have created two such animals and set them loose upon the world, when just one would have done fine. This was done for marketing reasons, frankly. At the time Visual Basic was the most widely used computer language in the world (which happened much to everybody’s surprise including Microsoft!). Visual Basic was enlisted into .NET, changed to fit that model, and used as leverage to sell .NET.

    But the fundamental differences between VB.NET and C# have always really been ones of semantics, syntax and visual styles. Both compile down to the same “p-code” or CIL with the exact same common runtime environment and management engines. VB.NET inherits BASIC’s visual style, which follows from the old FORTRAN and Pascal style. C# inherits C’s visual style. It’s ridiculous to argue which of the two styles is more ‘modern’. FORTRAN springs from the 1950s, Pascal from the late 1960s, but C was introduced in 1970. (It’s old enough to be president!).

    If there comes a day when VB.NET cannot consume a .NET assembly, well then it isn’t VB.NET that has been broken, but the fundamental contract of .NET that has been broken. Will that happen? The blog post suggests and promises otherwise. It claims that VB.NET will still be a full partner in the planned .NET 5 release.

    The blog post does announce that VB.NET’s language features are going to be locked. That is not all bad. In fact, FORTRAN and C are two of the most famously resistant languages to any syntactical feature-creep or the incorporation of any “fads” into the language structures. That goes a long way to explain why these two are also the longest-running of any of the major computing languages of significance today. They provide stability, performance, code re-use, and long-time maintenance windows.

    Again, as long as VB.NET can still consume and still produce .NET assemblies, it’s a potent, powerful, useful and relevant language. And it will remain so as long as .NET does. Like it or not, .NET is where its future is tethered.

    • hitesh davey

      as per MS…” Future features of .NET Core that require language changes may not be supported in Visual Basic”
      and I am sure .NET 6 will introduce breaking changes.

  • thomas lelandais

    Hello, I have downloaded preview 6 of .NET 5 but I cannot generate .net core API projects with the VB.NET language as specified at the beginning of this post. do you have anything new about this possibility?

  • Cristian Luis Teixeira

    Hello Community,

    I would like to leave here my suggestion for the end of support

    It may be all that the dialect needs, first to be abandoned by Microsoft and then to be adopted by an active and responsible community;

    Now is the time for programmers who love this dialect to show their strength and ability;

    So I make the following suggestions:

    1) Create a VB family IDE with the name VB ++
    2) Enable VB ++ to face any scenario
    3) Promote IDE VB ++ a lot in schools, companies
    4) Bring the ease of the VB family to Microsoft office competitors
    5) A community that is committed to keeping the dialect alive.
    It all depends much more on lovers, it depends on our Will.

  • Paully Venne

    HEY, I’m just HAPPY VB.NET Core is coming and is going to be around for a long time….. I had thought MS was truly abandoning it in the last few years … it AIN’T OVER YET!

    • Jan Đonny Záruba

      I’m truly sorry that Microsoft is abandoning my favorite language, the language I used even before any .NET has been created. There is no point to fight which language is better, it’s like to fight if Christianity or Islam is better, or whether you should ride Ski or Snowboard.
      Unfortunately due to market circumstances, I do majority of my development in C#, and also good part in JS/TS. I even “speak” several more languages.
      Truly there are some features of C# I really miss in VB
      * Implicit interface implementation
      * Value tupples
      * Interface method with bodies
      * One-line lambda methods
      And there are features of VB I miss in C#
      * Explicit interface implementations with custom name and accessibility
      * Built-in XML support
      * Indexed non-default properties
      There are even some features which C# got inspired from VB, tha VB had for ages and C# added way long after VB
      * Optional parameters
      * Static usings
      * Exception filters
      * Raise accessor for custom events
      There are some silly features in VB that don’t have to be necessarily carried over
      * Modules
      * Unstructured exception handling
      * Built in implicit type conversions
      * Handles
      * Option Compare
      There are some features of underlying CLI/CLR which are exposed by neither C# nor VB language, and they would be of use
      * Possibility of overriding method to have different name than the overridden one (allowed in C++/CLI)
      * Custom property/even accessors
      * Non 0-based arrays
      * Attributes on type parameters
      * By Ref types

      But all these things are not some deeply burned-in limitations of the languages. Both languages are in principle potentially full-featured and having silly features or missing cool features is just unwillingness, lack of resource or lack of consensus of the development team to bring the features in (or to kill them).

      I’m not sure if VB.NET is legally now fully open-sourced. I hope so. And if so, this may be chance to the idle VB community to emancipate and evolve VB further. Fruther than Microsoft ever did. Make it the most fully featured and advanced .NET language (any yes even add pointers support). Add the support for missing platforms, and kill some crazy backward compatibility features. The question is, does the community have the power to do so? Some of the tasks may be quite some amount of work, would the community find some funding to further evelove the language, to pay some developers to give it lot of time? Perhaps under some new sexy name, to differentiate the language from the “official” dead MS version, B# sounds good to confuse enemies, and if it will be marketed as an alternative to Python, we may even wade of the insults that VB is used by ethernal beginners, uneducated coders, it’s immature language etc.

      I suggest we move the discussion to VB “official” GitHub for now, until we’ll be banned from there for trying to keep alive something MS wants to kill.

      • Paully Venne

        Totally fine with me with what MS is doing…. I was worried they would ACTUALLY KILL it….but they are not…. I can work around it those “deal-breakers” you mention ..there’s always refactoring alternatives (e.g. inline XML) that we have to do in C# …. I also do a lot of C# and. happy to know it’s not completely GOING AWAY but will still be an option in Core and most of my code is Framework 2.0 compatible but now can run on Linux?

  • Cujas Library

    I am not a developer. My programming skills and needs are rather basic. I know c#, javascr, python, and tried to learn f#. The easiest and most readable syntax for me is the VB/VBA/VB. NET syntax:
    No curly braces and nested curly braces
    No ; at the end
    No mandatory indentation
    No () for branching or conditions
    More human freindly keywords : if/then, As, End for/End If/End with…

    Why on Earth instead of making VB and VB.Net its main language syntax model to catch with Python and the increasing need for simple syntax, is MS moving to a Javascript like, ugly and cumbersome syntax like c#??!!!
    MS became aware of its lacking behind Python. In order to fix it, it is promotting F#.
    Guys, you already have a widely known and used language that is already easier in its syntax, work on it, enhance it, simplify its syntax, make it a Python like success for non developers and programmers (business, scientists, finance, etc) instead of killing it!!!

    Your strategy is absolutely insane!!

  • Scott Dart

    I am extremely disappointed that you “do not plan to evolve Visual Basic as a Language.”

    This is not customer-centric. VB has a long history and many developers have built countless solutions on the promise made by Microsoft that VB and C# would always be side-by-side.

    For Microsoft to go back on that, after so much investment has been made by the world in Visual Basic, is an insult.

    I want to see Visual Basic evolve right along with C#. Please don’t abandon us. The support for VB in .NET Core 5 is a good start, but let’s keep VB a first-class citizen right up there with C#, please.