Visual Basic support planned for .NET 5.0

.NET Team

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

173 comments

Leave a comment

    • Edward A
      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.

      • Avatar
        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#.

        • Avatar
          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.

        • Avatar
          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.

          • Avatar
            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.

    • Avatar
      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 vb.net 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 vb.net chatter could influence Microsoft. Yes we all want to see “Microsoft will make vb.net the same/better than C#” but that’s never going to happen due to legacy inside vb.net.

    • Avatar
      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 !!!

      • Avatar
        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
    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.

    • Avatar
      David

      I’m assuming visual studio has telemetry and Microsoft knows exactly how many developers use vb.net 🙂 but for forums and blogs there is no exclusionary club that prevents anyone blogging or joining forums, vb.net 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”

      vb.net 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.

    • Avatar
      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.

      • Avatar
        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#.

        • Avatar
          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.

        • Avatar
          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.

          • Avatar
            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.

        • Avatar
          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.

          • Avatar
            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.

          • Avatar
            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
          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.

        • Avatar
          d.kakolyris@yahoo.gr

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

      • Avatar
        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.

  • Avatar
    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.

  • Avatar
    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’

    • Avatar
      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.

      • Avatar
        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.

      • Avatar
        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.

        • Avatar
          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.

      • Avatar
        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 VB.net. If not i will really be surprised as you are speaking about the syntax of vb.net 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 vb.net. 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 vb.net finds itself now.

        I can only say “Shame on you”.

      • Avatar
        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.

    • Avatar
      Steele Price

      NO!
      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.

  • Avatar
    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#?

    • Avatar
      David

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

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

      • Avatar
        stelios .

        Thank you David but is little not comfortable to know that c# is “eternally” live and other side feeling scared whenever Microsoft end vb.net
        (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.

    • Avatar
      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.

  • Avatar
    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
    * VB.net 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, vb.net might (stressing might) not support that feature. – Microsoft gets 5 stars – (swift might replace C#, stressing might)

    So vb.net 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

        • Avatar
          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
            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! vb.net 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 vb.net up to a certain way…thanks to the ?. years ago.

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

    • Avatar
      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).

    • Avatar
      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.

      • Avatar
        Christopher Brand

        Not really. If your entire companies code base is in vb.net, 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.

      • Avatar
        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.

        • Avatar
          Steele Price

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

      • Avatar
        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.

        • Avatar
          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.

      • Avatar
        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.

  • Avatar
    William - EasyKeys.com

    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.

  • Avatar
    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.

    • Avatar
      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.

      • Avatar
        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.

      • Avatar
        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.

      • Avatar
        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.

        • Avatar
          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
            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!

        • David Streeter
          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.

    • Avatar
      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.

  • Avatar
    BELAL JANNAN

    I am very very happy to hear these good news.
    I started using vb from version 3.
    Then i used vb6
    And now vb.net.
    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.

  • Avatar
    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
    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 VB.net language and framework. It would be sad to see that lost because of this decision.

  • Avatar
    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.

  • Avatar
    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.

  • Avatar
    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.

  • Avatar
    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.

  • Avatar
    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.

    • Avatar
      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.

    • Avatar
      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.

  • Avatar
    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
    Werner242 Muster

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

  • Avatar
    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.

    • Avatar
      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 (https://anthonydgreen.net/2020/03/15/a-primer-on-why-the-chronic-suffering-of-the-vb-net-community-is-neither-necessary-nor-a-matter-of-expense-or-practicality/) 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?”

      • Avatar
        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.

        However…
        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.

        • Avatar
          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?

          • Avatar
            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.

        • Avatar
          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 …

          • Avatar
            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.

          • Avatar
            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.

  • Avatar
    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! 🙁

  • Avatar
    杰 陈

    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 Basic.net 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.

  • Avatar
    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!

  • Avatar
    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 VB.net (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.

    thanks

    • Troy Robinson
      Troy Robinson

      years ago, circa 2009/2010 I helped a large company convert their VB6 code to VB.NET using vbmigrationpartner.net – 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….

    • Avatar
      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.

  • Avatar
    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
    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

  • Avatar
    d.kakolyris@yahoo.gr

    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?

  • Avatar
    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.

  • Avatar
    Praveena RathnakumarMicrosoft logo

    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.

  • Avatar
    Leonardo Palomino Vargas

    Microsoft wants VB.net developers to migrate to C #, but developers prefer to program in python. VB.net 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 vb.net it is filled by python as the first language for learning. In my country the universities taught vb.net as the first language, now it is java or c ++ or python.

  • Avatar
    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.

  • Avatar
    Cristian Luis Teixeira

    Hello Community
    I would like to leave here my suggestion for the end of VB.net support

    Perhaps it is all that the dialect needs, to be abandoned and then to be adopted by an active and responsible community;

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

    With a loving and active community we can do anything with VB.net

    The world is full of fashion, and perhaps with a change in marketing, leaving a long-term dialect that can cope with any change is a great strategy

    Programmers are tired of changing syntax hourly, there is a large number that would like to be faithful to their chosen language.
    So I make the following suggestions:

    1) Make VB.net open source
    2) Change the name to eternal VB or VB++
    3) Eternal VB being an IDE
    4) Eternal VB to be ready for any project
    5) Keep the syntax style
    6) Maintain object-oriented programming
    7) Maintain our programming style
    8) Create dialect dissemination in companies and universities since the first years of study
    9) The community is committed to keeping the dialect alive and competitive.

    It all depends much more on Vb.net lovers than on Microsot.
    It depends on our Will.
    Those are my suggestions
    Sorry for my weak English
    If someone masters English and Portuguese feel free to write these suggestions again, I will leave the original text in Portuguese.

    Texto Original

    Olá Comunidade
    Gostaria de deixar aqui minha sugestão para o fim do suporte do VB.net
    Talvez seja tudo que o dialeto precisa, ser abandonado e depois ser adotado por uma comunidade ativa e responsável;
    Talvez esse seja o momento de os programadores amantes desse dialeto mostrar sua força e capacidade;
    Com uma comunidade amante e ativa podemos fazer qualquer coisa com o VB.net
    O mundo está cheio de modismo, e talvez com uma mudança de marketing deixar um dialeto de longo prazo que possa enfrentar qualquer mudança seja uma ótima estratégia
    Os programadores estão cansados de hora em hora mudar de sintaxe, existe um numero grande que gostaria de ser fiel ao seu idioma escolhido.
    Então faço as seguintes sugestões:
    1) Tornar o código aberto do VB.net
    2) Mudar o nome para VB eterno
    3) VB eterno ser uma IDE
    4) VB eterno estar pronto para qualquer projeto
    5) Manter o estilo da sintaxe
    6) Manter a programação orientada a objetos
    7) Manter nosso estilo de programação
    8) Criar divulgação do dialeto em empresas e universidades desde os primeiros anos de estudo
    9) A comunidade se comprometer em manter o dialeto vivo e competitivo.
    Isso tudo depende muito mais dos amantes do Vb.net do que da Microsot.
    Depende de nossa Vontade.
    Essas são minhas sugestões
    Desculpe pelo meu inglês fraco
    Caso alguém domine o inglês e português fique a vontade para escrever novamente essas sugestões, vou deixar o texto original em português

  • Avatar
    Cristian Luis Teixeira

    Welcome to Vb.net, I think we can now change your name to VB Eterno.

    But I have a question … is it worth it to continue being a Microsoft customer? today was vb.net and tomorrow it could be (C #) to be discontinued …

    is it not time to look for a supplier that has a longer permanence curve for its products? or a vendor that always prefers to update its programming language to always be competitive?

    On this issue, I prefer IDE like Delphi or even Python, which I imagine to have lived about 30 years and will live another 60 years and which maintains compatibility since its versions, and I don’t think Delphi will change its name in 20 years.

    Could it be that not us programmers change suppliers?

    texto original
    Seja muito bem vindo Vb.net, acho que agora podemos mudar seu nome para VB Eterno.

    Mas estou com uma dúvida… será que vale a pena continuar sendo cliente da Microsoft? hoje foi o vb.net e amanhã pode ser o c# a ser descontinuado…

    será que não é hora de buscar um fornecedor que tenha maior curva de permanência de seus produtos? ou um fornecedor que prefira sempre atualizar sua linguagem de programação para ser sempre ser competitiva?

    Nessa questão prefiro IDE como Delphi ou até mesmo Python, que imagino ter vivido uns 30 anos e irá viver mais 60 anos e que mantem compatibilidade desde suas versões, e não acho que o Delphi daqui a 20 anos irá mudar de nome.

    Será mesmo que não de nós programadores mudarmos de fornecedor?

    • Avatar
      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.
      https://github.com/dotnet/vblang

  • Avatar
    Cristian Luis Teixeira

    I will leave one more thought that I have. This discussion is based on which dialect is best (Vb.net and C #) Let me make an analogy. Let’s imagine the car market, we have:

    1º automobile chain:

    • We have the engineers who design the vehicles

    2nd automobile chain:

    • Self-employed sellers;
    • Maintenance mechanics;
    • Sales dealerships;
    • Professional drivers;
    • Amateur drivers;
    • Automotive painters;
    • Automotive washers;
    • And others I don’t remember now

    The comments here are only talking about the 1st chain, this means that the level of the conversation is focused only on the development of new vehicles and the definition of which is the best tool to use (VB.net and C #).
    The 2nd chain is concerned with solving the day-to-day difficulties and they are not even able to comment on this discussion forum, why? Because they are not designers and their main function is to solve the problem with EMERGENCY.
    Observing the 1st and 2nd chains all work with vehicles in different activities

    VB.net focuses on the 2nd chain and there are great programmers, but they are focused on business and not on creating new resources, are they smaller programmers? Of course not, but they are performing other tasks and prefer VB.net because it is more productive, stable and has a humanized language.

    Perhaps the programmer who is in the 1st chain does not even dream of what the programmer in the 2nd chain is able to accomplish, he faces real problems every day in the most diverse ways and uses the language that the programmer in the 1st chain would be envied.

    Microsoft is shooting itself in the foot by making that decision.

    2nd string programmers will not migrate to C #, they will go to Python precisely because of the same characteristics that VB.net has today. (productivity, ease and humanized language)

    Programmers from the 1st chain worldwide will not migrate to C # because MS is not reliable and has an uncertain life cycle of its products, in this sense, it is better to stay in Java or C ++, they are more reliable and not demonstrate in discontinuing their products but always evolving their product.

    “Today was VB.net and tomorrow it could be C # …”

    In a short time, if VB.net is lucky enough to be really adopted by an active and strong community, the most used language ranking indicators will always alternate between the 1st and 2nd place between VB.net and Python, which are humanized dialects.

    The syntax of the C family (C ++, Java, C # and others) is only of interest to programmers in the 1st automobile chain.
    And I say more, both VB.net and Python will still have to face the Outsystems platform.
    The great mass of programmers wants simplicity and that VB.net is better than C #.

    Just like the professional driver just wants to drive and not worry about which engineering materials and techniques were used in the development of the car. Note that in this case the term professional was also used for the programmer of the 2nd automobile chain.

    if you are still in doubt, let us do a test.

    Create a social media campaign asking $ 1 a month for the VB.net community to keep VB.net competitive and modern at all times, probably the community development team would be 3 times bigger than MS’s C # development team.

  • Avatar
    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…
    Etc

    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!!