Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • World
  • Users
  • Groups
Skins
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Code Project
  1. Home
  2. The Lounge
  3. So... Is Visual Basic officially dead?

So... Is Visual Basic officially dead?

Scheduled Pinned Locked Moved The Lounge
csharpasp-netjavascriptwpfcloud
58 Posts 36 Posters 0 Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • S Slow Eddie

    Sometimes I feel like I am beating a dead Horse. :( First, Haters are going to hate. Second, programmers, for the most part, like and defend the language they know best, and disparage almost every other. Third, VB isn't "cool" anymore. Fourth, the main problem with VB is the word "Basic" in the name. Particularly the "B" which stands for "Beginners". For Sander. No, it is not dead. See steveb's post above about MSIL. For Griff I sincerely, greatly appreciate your knowledge, wisdom, and the fact you help a whole lot of people in this site, myself included. However, if you don't like "OnError Resume Next", or "OnError GoTo" (which is also found in C#), then DON'T USE THEM. Saying that VB should be dropped because of those statements, is like saying all tigers, extremely beautiful animals, should be killed because they might bite your head off when you try to pet them. Or saying that most women should be killed because they are a PITA. IMO this is not only foolish, but ridiculous. Finally, I am pretty sure that quite a lot of businesses are still using VB6 and VB.net to run their business, if not the majority. And I apologize for not being one of the "cool kids" and being subject to my second observation above myself.

    Sometimes one man's trash is just trash, but not in the case of VB.

    Sander RosselS Offline
    Sander RosselS Offline
    Sander Rossel
    wrote on last edited by
    #20

    Yeah, I agree with you on all points.

    Slow Eddie wrote:

    For Sander. No, it is not dead. See steveb's post above about MSIL.

    See my reply though. The tooling seems to lag behind and Microsoft seems to not update VB anymore, making the gap with C# even bigger in the future. Sure it's not "dead" because many people and companies still use it, but it doesn't seem like a good alternative for new development anymore. In the end, VB.NET can do everything C# can (or it could a few years ago) and you can write good and bad code in both languages, but how long will this be true? So by "dead" I mean Microsoft isn't actively developing it anymore, making it a no-go for new development.

    Best, Sander Azure DevOps Succinctly (free eBook) Azure Serverless Succinctly (free eBook) Migrating Apps to the Cloud with Azure arrgh.js - Bringing LINQ to JavaScript

    1 Reply Last reply
    0
    • S Slow Eddie

      Sometimes I feel like I am beating a dead Horse. :( First, Haters are going to hate. Second, programmers, for the most part, like and defend the language they know best, and disparage almost every other. Third, VB isn't "cool" anymore. Fourth, the main problem with VB is the word "Basic" in the name. Particularly the "B" which stands for "Beginners". For Sander. No, it is not dead. See steveb's post above about MSIL. For Griff I sincerely, greatly appreciate your knowledge, wisdom, and the fact you help a whole lot of people in this site, myself included. However, if you don't like "OnError Resume Next", or "OnError GoTo" (which is also found in C#), then DON'T USE THEM. Saying that VB should be dropped because of those statements, is like saying all tigers, extremely beautiful animals, should be killed because they might bite your head off when you try to pet them. Or saying that most women should be killed because they are a PITA. IMO this is not only foolish, but ridiculous. Finally, I am pretty sure that quite a lot of businesses are still using VB6 and VB.net to run their business, if not the majority. And I apologize for not being one of the "cool kids" and being subject to my second observation above myself.

      Sometimes one man's trash is just trash, but not in the case of VB.

      D Offline
      D Offline
      Delphi 7 Solutions
      wrote on last edited by
      #21

      I agree that that is no good reason to hate a language. I remember having to do some changes in a VB6 project many many years ago, there was a dynamic form, which means that when the user chooses a value from a combobox than some controls could be created at runtim (depending on the choice) I don't remember if it gave a compile error or a runtime error, what I do remember is that it did not worked as we expected, so we called for microsoft support which the company paid for. Their answer was that this is by design, VB did not allow creating controls in the closeup event of a combobox... I did not liked the language before this, but at that time I did became a real hater. There are so many examples of stuff in this language that was unbelievable, there are so many reasons not to like it. But agreed, the reasons you mention are not reasons to hate it.

      1 Reply Last reply
      0
      • Sander RosselS Sander Rossel

        I'm working for a customer who uses Visual Basic. VB was my first language so I don't mind too much, although after years of C# it feels a bit bloated and archaic at times. I still have another VB project as well, so at least I knew what to expect. It's an old web forms project though, so all in all it's pretty meh X| So anyway, I had to start a new project (not something they do often, they basically have the one monolith) and thought I'd pick a VB project template since that's what the client is using. I have VB templates for WPF, WCF, Console, Library, WinForms and Test projects But as soon as I filter on the more modern project types, like Web, Web API, Cloud, Games or Blazor, I get zero templates. Ended up picking C# instead, as those are readily available. I remember reading Microsoft isn't actively developing VB anymore and I'm pretty sure the earlier version of .NET Core did not support VB. When googling the subject I find a mix of "VB dead" and "VB coming to .NET (Core)", but evidence would suggest it never actually came to .NET (Core). All in all it seems to me like Microsoft pulled the plug or is this wishful thinking?

        Best, Sander Azure DevOps Succinctly (free eBook) Azure Serverless Succinctly (free eBook) Migrating Apps to the Cloud with Azure arrgh.js - Bringing LINQ to JavaScript

        D Offline
        D Offline
        Delphi 7 Solutions
        wrote on last edited by
        #22

        was it ever really alive then ?

        1 Reply Last reply
        0
        • L Lost User

          It pioneered component (vs object) oriented development; a pattern which is useful today.

          "Before entering on an understanding, I have meditated for a long time, and have foreseen what might happen. It is not genius which reveals to me suddenly, secretly, what I have to say or to do in a circumstance unexpected by other people; it is reflection, it is meditation." - Napoleon I

          U Offline
          U Offline
          User 13269747
          wrote on last edited by
          #23

          Quote:

          It pioneered component (vs object) oriented development; a pattern which is useful today.

          I'm pretty certain that it did not; unless my memory is failing me (and at this age that is very possible), components were part of the Windows tech stack since '92 (COM and/or OLE). VB, like other Windows programming language tools, could use them. IOW, they were installed with Windows, not with VB. VB was just the most popular way of writing Windows programs for well over a decade.

          L 1 Reply Last reply
          0
          • H Herman T Instance

            I wouldn't mourn. It was in the eighties when I wrote:

            10 PRINT "Herman is the best !!1!!1!11!";;;;;
            20 GOTO 10

            In Word you can only store 2 bytes. That is why I use Writer.

            D Offline
            D Offline
            deere_guy
            wrote on last edited by
            #24

            Yes, and we still light candles when the lights go out.

            1 Reply Last reply
            0
            • Sander RosselS Sander Rossel

              I'm working for a customer who uses Visual Basic. VB was my first language so I don't mind too much, although after years of C# it feels a bit bloated and archaic at times. I still have another VB project as well, so at least I knew what to expect. It's an old web forms project though, so all in all it's pretty meh X| So anyway, I had to start a new project (not something they do often, they basically have the one monolith) and thought I'd pick a VB project template since that's what the client is using. I have VB templates for WPF, WCF, Console, Library, WinForms and Test projects But as soon as I filter on the more modern project types, like Web, Web API, Cloud, Games or Blazor, I get zero templates. Ended up picking C# instead, as those are readily available. I remember reading Microsoft isn't actively developing VB anymore and I'm pretty sure the earlier version of .NET Core did not support VB. When googling the subject I find a mix of "VB dead" and "VB coming to .NET (Core)", but evidence would suggest it never actually came to .NET (Core). All in all it seems to me like Microsoft pulled the plug or is this wishful thinking?

              Best, Sander Azure DevOps Succinctly (free eBook) Azure Serverless Succinctly (free eBook) Migrating Apps to the Cloud with Azure arrgh.js - Bringing LINQ to JavaScript

              M Offline
              M Offline
              Matt Bond
              wrote on last edited by
              #25

              VB.NET and VB, probably are dead-ish as everyone above has discussed. VBA, which is VB for Office apps, is most definitely not.

              Bond Keep all things as simple as possible, but no simpler. -said someone, somewhere

              D 1 Reply Last reply
              0
              • Sander RosselS Sander Rossel

                I'm working for a customer who uses Visual Basic. VB was my first language so I don't mind too much, although after years of C# it feels a bit bloated and archaic at times. I still have another VB project as well, so at least I knew what to expect. It's an old web forms project though, so all in all it's pretty meh X| So anyway, I had to start a new project (not something they do often, they basically have the one monolith) and thought I'd pick a VB project template since that's what the client is using. I have VB templates for WPF, WCF, Console, Library, WinForms and Test projects But as soon as I filter on the more modern project types, like Web, Web API, Cloud, Games or Blazor, I get zero templates. Ended up picking C# instead, as those are readily available. I remember reading Microsoft isn't actively developing VB anymore and I'm pretty sure the earlier version of .NET Core did not support VB. When googling the subject I find a mix of "VB dead" and "VB coming to .NET (Core)", but evidence would suggest it never actually came to .NET (Core). All in all it seems to me like Microsoft pulled the plug or is this wishful thinking?

                Best, Sander Azure DevOps Succinctly (free eBook) Azure Serverless Succinctly (free eBook) Migrating Apps to the Cloud with Azure arrgh.js - Bringing LINQ to JavaScript

                K Offline
                K Offline
                Keefer S
                wrote on last edited by
                #26

                We started using C# many years ago (10 years or so). Although we've had to continually adjust/tweak our dependencies, mainly due to interactions with SQL Server and backup functions, it has done the job for us. I learned VB in college, but we are strictly C# now. We moved away from WinForms due to some inherent functionality restrictions that were cramping our style.

                D 1 Reply Last reply
                0
                • OriginalGriffO OriginalGriff

                  And VB has On Error Resume Next which is a damn good reason for killing it! :-D

                  "I have no idea what I did, but I'm taking full credit for it." - ThisOldTony "Common sense is so rare these days, it should be classified as a super power" - Random T-shirt AntiTwitter: @DalekDave is now a follower!

                  O Offline
                  O Offline
                  obermd
                  wrote on last edited by
                  #27

                  When you have a series of

                  try { dosomething() } catch {}

                  statements in a row then on error resume next is a wonderful syntactic sugar to clean up your code. And yes, there are places where this syntax is appropriate.

                  OriginalGriffO 1 Reply Last reply
                  0
                  • Sander RosselS Sander Rossel

                    It's more down to the editors and compilers supporting the language. I could undoubtedly compile my own VB files and run them on .NET 6 (I'm assuming the resulting MSIL will run fine, but it isn't guaranteed as Microsoft seems to have dropped support). However, Visual Studio doesn't support VB projects anymore, so I'd have to do it all manually, which is a pain, and not viable for a professional project. And, as said, it's not VB.NET generating the MSIL, but the compiler, and when Microsoft drops support for that, it could be possible that VB.NET becomes incompatible with newer versions of the framework.

                    Best, Sander Azure DevOps Succinctly (free eBook) Azure Serverless Succinctly (free eBook) Migrating Apps to the Cloud with Azure arrgh.js - Bringing LINQ to JavaScript

                    O Offline
                    O Offline
                    obermd
                    wrote on last edited by
                    #28

                    I have VS 2022 and it supports VB.

                    D 1 Reply Last reply
                    0
                    • P PIEBALDconsult

                      Well, C# allows a few things which VB doesn't.

                      O Offline
                      O Offline
                      obermd
                      wrote on last edited by
                      #29

                      VB is still far better at parsing stringly typed data sets than any other language. The C* functions in VB hide hundreds of lines of code complexity for parsing strings into fundamental data types.

                      P S 2 Replies Last reply
                      0
                      • Sander RosselS Sander Rossel

                        I'm working for a customer who uses Visual Basic. VB was my first language so I don't mind too much, although after years of C# it feels a bit bloated and archaic at times. I still have another VB project as well, so at least I knew what to expect. It's an old web forms project though, so all in all it's pretty meh X| So anyway, I had to start a new project (not something they do often, they basically have the one monolith) and thought I'd pick a VB project template since that's what the client is using. I have VB templates for WPF, WCF, Console, Library, WinForms and Test projects But as soon as I filter on the more modern project types, like Web, Web API, Cloud, Games or Blazor, I get zero templates. Ended up picking C# instead, as those are readily available. I remember reading Microsoft isn't actively developing VB anymore and I'm pretty sure the earlier version of .NET Core did not support VB. When googling the subject I find a mix of "VB dead" and "VB coming to .NET (Core)", but evidence would suggest it never actually came to .NET (Core). All in all it seems to me like Microsoft pulled the plug or is this wishful thinking?

                        Best, Sander Azure DevOps Succinctly (free eBook) Azure Serverless Succinctly (free eBook) Migrating Apps to the Cloud with Azure arrgh.js - Bringing LINQ to JavaScript

                        B Offline
                        B Offline
                        BrianC75
                        wrote on last edited by
                        #30

                        When I attended Microsoft Ignite in 2019, I won a t-shirt that said "Kill VB, before it kills you!" Sounds like someone at MS saved my life :laugh:

                        D 1 Reply Last reply
                        0
                        • Greg UtasG Greg Utas

                          When I was in high school, some wizard wrote a Fortran program nicknamed The Black Death. It entered an infinite loop that printed solid lines of asterisks. It was soon outdone by The White Death, which entered an infinite loop that "printed" form feeds.

                          Robust Services Core | Software Techniques for Lemmings | Articles
                          The fox knows many things, but the hedgehog knows one big thing.

                          B Offline
                          B Offline
                          Bruce Patin
                          wrote on last edited by
                          #31

                          I worked in IBM for a few years, and once, dispatch got a call to hurry up and come fix their printer, because it was having a carriage runaway, and it was already on its second box!

                          1 Reply Last reply
                          0
                          • U User 13269747

                            Quote:

                            It pioneered component (vs object) oriented development; a pattern which is useful today.

                            I'm pretty certain that it did not; unless my memory is failing me (and at this age that is very possible), components were part of the Windows tech stack since '92 (COM and/or OLE). VB, like other Windows programming language tools, could use them. IOW, they were installed with Windows, not with VB. VB was just the most popular way of writing Windows programs for well over a decade.

                            L Offline
                            L Offline
                            Lost User
                            wrote on last edited by
                            #32

                            Component-based "architecture" was about reuse; not "COM" or "OLE" in particular. VB was popular because of drag and drop (components). The "RecordSet" (a component) was fundamental to sane client-server development.

                            "Before entering on an understanding, I have meditated for a long time, and have foreseen what might happen. It is not genius which reveals to me suddenly, secretly, what I have to say or to do in a circumstance unexpected by other people; it is reflection, it is meditation." - Napoleon I

                            D 1 Reply Last reply
                            0
                            • O obermd

                              When you have a series of

                              try { dosomething() } catch {}

                              statements in a row then on error resume next is a wonderful syntactic sugar to clean up your code. And yes, there are places where this syntax is appropriate.

                              OriginalGriffO Offline
                              OriginalGriffO Offline
                              OriginalGriff
                              wrote on last edited by
                              #33

                              That syntax is never appropriate, because you are swallowing exceptions and have no way to find out they occurred, much less what might have caused them. At the very least, log the error detail before you swallow it - but then it wouldn't be On Error Resume Next, would it ...

                              "I have no idea what I did, but I'm taking full credit for it." - ThisOldTony "Common sense is so rare these days, it should be classified as a super power" - Random T-shirt AntiTwitter: @DalekDave is now a follower!

                              "I have no idea what I did, but I'm taking full credit for it." - ThisOldTony
                              "Common sense is so rare these days, it should be classified as a super power" - Random T-shirt

                              P M 2 Replies Last reply
                              0
                              • S Slow Eddie

                                Sometimes I feel like I am beating a dead Horse. :( First, Haters are going to hate. Second, programmers, for the most part, like and defend the language they know best, and disparage almost every other. Third, VB isn't "cool" anymore. Fourth, the main problem with VB is the word "Basic" in the name. Particularly the "B" which stands for "Beginners". For Sander. No, it is not dead. See steveb's post above about MSIL. For Griff I sincerely, greatly appreciate your knowledge, wisdom, and the fact you help a whole lot of people in this site, myself included. However, if you don't like "OnError Resume Next", or "OnError GoTo" (which is also found in C#), then DON'T USE THEM. Saying that VB should be dropped because of those statements, is like saying all tigers, extremely beautiful animals, should be killed because they might bite your head off when you try to pet them. Or saying that most women should be killed because they are a PITA. IMO this is not only foolish, but ridiculous. Finally, I am pretty sure that quite a lot of businesses are still using VB6 and VB.net to run their business, if not the majority. And I apologize for not being one of the "cool kids" and being subject to my second observation above myself.

                                Sometimes one man's trash is just trash, but not in the case of VB.

                                L Offline
                                L Offline
                                Lost User
                                wrote on last edited by
                                #34

                                I believe the largest "railroad" in North America runs COBOL and IMS for it's backend and VB for it's front end (because I worked on that project and can't see the effort required to change).

                                "Before entering on an understanding, I have meditated for a long time, and have foreseen what might happen. It is not genius which reveals to me suddenly, secretly, what I have to say or to do in a circumstance unexpected by other people; it is reflection, it is meditation." - Napoleon I

                                1 Reply Last reply
                                0
                                • L Lost User

                                  It pioneered component (vs object) oriented development; a pattern which is useful today.

                                  "Before entering on an understanding, I have meditated for a long time, and have foreseen what might happen. It is not genius which reveals to me suddenly, secretly, what I have to say or to do in a circumstance unexpected by other people; it is reflection, it is meditation." - Napoleon I

                                  A Offline
                                  A Offline
                                  Alan Horton 2022
                                  wrote on last edited by
                                  #35

                                  Quite a few folks don't know that MarshalByReferrence has been around for decades all the wat back to the Win 9X days... And everyone has forgotten the real roots in COM!

                                  1 Reply Last reply
                                  0
                                  • OriginalGriffO OriginalGriff

                                    That syntax is never appropriate, because you are swallowing exceptions and have no way to find out they occurred, much less what might have caused them. At the very least, log the error detail before you swallow it - but then it wouldn't be On Error Resume Next, would it ...

                                    "I have no idea what I did, but I'm taking full credit for it." - ThisOldTony "Common sense is so rare these days, it should be classified as a super power" - Random T-shirt AntiTwitter: @DalekDave is now a follower!

                                    P Offline
                                    P Offline
                                    PIEBALDconsult
                                    wrote on last edited by
                                    #36

                                    OriginalGriff wrote:

                                    is never appropriate

                                    Uh, no. But there should be a comment to state that it is appropriate for that code. Some of what I'm doing now is ignoring Exceptions because that's what works best. Just yesterday I wrote:

                                    try
                                    {
                                    this.buffer.Append ( Char ) ;
                                    }
                                    catch ( System.ArgumentOutOfRangeException )
                                    {
                                    /* Hit the end of the StringBuilder, ignore */
                                    }

                                    Which allows the caller to provide a limit to how many characters are allowed in the StringBuilder as appropriate. Yes, this is not a catch-all, but I have those as well as appropriate.

                                    OriginalGriffO 1 Reply Last reply
                                    0
                                    • O obermd

                                      VB is still far better at parsing stringly typed data sets than any other language. The C* functions in VB hide hundreds of lines of code complexity for parsing strings into fundamental data types.

                                      P Offline
                                      P Offline
                                      PIEBALDconsult
                                      wrote on last edited by
                                      #37

                                      Probably not something I would use. In my opinion, the one thing VB does better than C# is how Extension Methods are defined.

                                      1 Reply Last reply
                                      0
                                      • Sander RosselS Sander Rossel

                                        I'm working for a customer who uses Visual Basic. VB was my first language so I don't mind too much, although after years of C# it feels a bit bloated and archaic at times. I still have another VB project as well, so at least I knew what to expect. It's an old web forms project though, so all in all it's pretty meh X| So anyway, I had to start a new project (not something they do often, they basically have the one monolith) and thought I'd pick a VB project template since that's what the client is using. I have VB templates for WPF, WCF, Console, Library, WinForms and Test projects But as soon as I filter on the more modern project types, like Web, Web API, Cloud, Games or Blazor, I get zero templates. Ended up picking C# instead, as those are readily available. I remember reading Microsoft isn't actively developing VB anymore and I'm pretty sure the earlier version of .NET Core did not support VB. When googling the subject I find a mix of "VB dead" and "VB coming to .NET (Core)", but evidence would suggest it never actually came to .NET (Core). All in all it seems to me like Microsoft pulled the plug or is this wishful thinking?

                                        Best, Sander Azure DevOps Succinctly (free eBook) Azure Serverless Succinctly (free eBook) Migrating Apps to the Cloud with Azure arrgh.js - Bringing LINQ to JavaScript

                                        FreedMallocF Offline
                                        FreedMallocF Offline
                                        FreedMalloc
                                        wrote on last edited by
                                        #38

                                        It's just pinin' for the fjords. :-\

                                        1 Reply Last reply
                                        0
                                        • P PIEBALDconsult

                                          OriginalGriff wrote:

                                          is never appropriate

                                          Uh, no. But there should be a comment to state that it is appropriate for that code. Some of what I'm doing now is ignoring Exceptions because that's what works best. Just yesterday I wrote:

                                          try
                                          {
                                          this.buffer.Append ( Char ) ;
                                          }
                                          catch ( System.ArgumentOutOfRangeException )
                                          {
                                          /* Hit the end of the StringBuilder, ignore */
                                          }

                                          Which allows the caller to provide a limit to how many characters are allowed in the StringBuilder as appropriate. Yes, this is not a catch-all, but I have those as well as appropriate.

                                          OriginalGriffO Offline
                                          OriginalGriffO Offline
                                          OriginalGriff
                                          wrote on last edited by
                                          #39

                                          And what you are doing is not On Error Resume Next either: you are ignoring a specific error, and marking why in the code. I do the same under some circumstances. That's not the same as a blanket "Ignore all errors from now on", or putting try...catch() around each line of code! :-D

                                          "I have no idea what I did, but I'm taking full credit for it." - ThisOldTony "Common sense is so rare these days, it should be classified as a super power" - Random T-shirt AntiTwitter: @DalekDave is now a follower!

                                          "I have no idea what I did, but I'm taking full credit for it." - ThisOldTony
                                          "Common sense is so rare these days, it should be classified as a super power" - Random T-shirt

                                          1 Reply Last reply
                                          0
                                          Reply
                                          • Reply as topic
                                          Log in to reply
                                          • Oldest to Newest
                                          • Newest to Oldest
                                          • Most Votes


                                          • Login

                                          • Don't have an account? Register

                                          • Login or register to search.
                                          • First post
                                            Last post
                                          0
                                          • Categories
                                          • Recent
                                          • Tags
                                          • Popular
                                          • World
                                          • Users
                                          • Groups