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.

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

    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
    • 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
      #34

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

                  B Offline
                  B Offline
                  BryanFazekas
                  wrote on last edited by
                  #40

                  Eddy, well said! I recall creating Windows applications prior to VB3 ... GAWD! That was ugly. The rise of VB brought about far quicker development times as we didn't have to re-create the wheel by inventing new atoms each time. I also recall other vendors playing catch-up, trying to emulate VB's drag-n-drop. Other vendors saw some success, but VB set the stage for modern development. After MS terminated VB6, I stuck with it for several years, then tried VB.NET for a year. I saw the handwriting on the wall, jumped to C#, and that's been my primary language since then. VB.NET is not dead, but support for it is less and less each year -- at this point I'd not bother with it. But I also have a consultant's POV, so anything that doesn't increase my marketability loses my interest.

                  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

                    P Offline
                    P Offline
                    pvmarshall
                    wrote on last edited by
                    #41

                    I don't believe most of the people making comments especially the most negative have ever written anything in VB much less VB.NET. I understand why people might prefer C# if they are coming from C programming background. Moving to VB.NET was a big change from VB6 as I needed to learn about OOP. I wonder how many replying even know that VB.NET is OOP. I have been using visual basic since about 1992 VB3 thru VB6 and Visual Studio 2017 VB.Net. I write code to test hardware that I design. Over the years it has been radios for the military and Aviation. I like VB and currently VB.Net because anyone with some programming exposure can read my code like a test procedure.

                    pmarshall

                    Sander RosselS 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

                      C Offline
                      C Offline
                      Choroid
                      wrote on last edited by
                      #42

                      I have a complete collection of MS Visual Basic 6.0 with Library and Visual Studio 6.0 and More books than I care to admit to all this was purchased before I had the internet. Never was able to load it on New Windows 7 32 bit Machine even with great suggestions from Slow Eddie Make you a great deal like FREE just pay shipping I still write with VS 2019 and VB.Net WinForms apps with SQLite it is fun because I know a lot from what I learned using VB 6. Basic taught a lot of us coding in the beginning of your coding careers So it deserves some respect. But as progress moves forward and New Projects require more workable languages professional programmers embrace new languages. Clients do not always understand the need for a rewrite in a more workable language. Perhaps I will take some time this Winter to learn C# For now I am trying to build a Desk and looking at Track Saws and building a MFT style cutting station

                      1 Reply Last reply
                      0
                      • O obermd

                        I have VS 2022 and it supports VB.

                        D Offline
                        D Offline
                        DanW52
                        wrote on last edited by
                        #43

                        Visual Studio does support VB.Net - but it has never supported VB (Visual Basic 6, Visual Basic 5, etc.).

                        1 Reply Last reply
                        0
                        • L Lost User

                          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 Offline
                          D Offline
                          DanW52
                          wrote on last edited by
                          #44

                          I used DragNDrop in a Windows Forms project using VB.Net (which will also work using C#). It's definitely a nice feature.

                          1 Reply Last reply
                          0
                          • K Keefer S

                            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 Offline
                            D Offline
                            DanW52
                            wrote on last edited by
                            #45

                            What were the functionality issues that were the problem? I use Windows Forms!

                            1 Reply Last reply
                            0
                            • M Matt Bond

                              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 Offline
                              D Offline
                              DanW52
                              wrote on last edited by
                              #46

                              Wherever VB.Net is currently used it will continue to be available. But when MS comes up with something new, then probably only C# will be available.

                              1 Reply Last reply
                              0
                              • B BrianC75

                                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 Offline
                                D Offline
                                DanW52
                                wrote on last edited by
                                #47

                                They meant Visual Basic 6 - at that time. MS's goal was to replace VB6 as a stand-alone application with VB.Net as part of what's now Visual Studio.

                                B 1 Reply Last reply
                                0
                                • D DanW52

                                  They meant Visual Basic 6 - at that time. MS's goal was to replace VB6 as a stand-alone application with VB.Net as part of what's now Visual Studio.

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

                                  This was in 2019, and Ignite was purely about .NET technologies, so no, it had absolutely nothing to do with VB6. Microsoft has lamented having to keep VB in .NET for YEARS. They want it gone.

                                  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.

                                    D Offline
                                    D Offline
                                    dandy72
                                    wrote on last edited by
                                    #49

                                    My favorite was a program that recursively created a bunch of folders with names borrowing characters from the extended ASCII set in the user's home folder. That was back in the Novell Netware days, working on DOS, so you couldn't easily batch-delete folders. I just left the program in my share (everybody's folders were public to everyone). I wanted to prove that idiots will run unknown EXEs from unknown folders...and they did not disappoint. Eventually the admin got tired of calling out people asking why they had a bunch of non-sense folders eating up his disk space.

                                    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

                                      C Offline
                                      C Offline
                                      Charlie Bill
                                      wrote on last edited by
                                      #50

                                      No, the tooling is still available, it's just no longer obvious: How to Do Web Forms in VS 2022 (Even Though Microsoft Recommends Blazor/.NET 6) -- Visual Studio Magazine[^]

                                      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

                                        B Offline
                                        B Offline
                                        Brian L Hughes
                                        wrote on last edited by
                                        #51

                                        Public Sub btnOK_Click(s as Object, e as EventArgs) handles btnOK.Click End Sub versus btnOK.Click +=new eventhandler(btnOK_Click); // always miles away from the code, if you hand code it and accidentally make VS handle it for you in the GUI you can break your form until you fix it by hand in designer.cs You can even declare this in VB Public m_OK as Button WithEvents ' and the above vb code still works fine. So I think in general VB.Net handles events much more elegant than C#. I've got a huge c# app that has only hand coded "+= new eventhandlers, none were established with the crazy c# GUI. I think it's just too much of a PITA to maintain the code base with the GUI because I have both GUI drag drop controls on forms and many, quite a few, of the embedded form controls where in VB I used to get to say "withevents" with ease. This app was originally written in VB.Net and it was a PITA to convert it! Most of my other c# apps use a combination of hand written events and GUI maintained ones. I coded in VB for the Navy starting in 1995 up until 2017 and only after retiring did I start using C#. I absolutely depend now on C# syntax being close to my old friend c && c++ which I have been using since 1987. VB requires so much typing... Coding in Assembler was like running naked on a tropical island! We can only dream about such unbound less freedom.

                                        Sander RosselS 1 Reply Last reply
                                        0
                                        • B Brian L Hughes

                                          Public Sub btnOK_Click(s as Object, e as EventArgs) handles btnOK.Click End Sub versus btnOK.Click +=new eventhandler(btnOK_Click); // always miles away from the code, if you hand code it and accidentally make VS handle it for you in the GUI you can break your form until you fix it by hand in designer.cs You can even declare this in VB Public m_OK as Button WithEvents ' and the above vb code still works fine. So I think in general VB.Net handles events much more elegant than C#. I've got a huge c# app that has only hand coded "+= new eventhandlers, none were established with the crazy c# GUI. I think it's just too much of a PITA to maintain the code base with the GUI because I have both GUI drag drop controls on forms and many, quite a few, of the embedded form controls where in VB I used to get to say "withevents" with ease. This app was originally written in VB.Net and it was a PITA to convert it! Most of my other c# apps use a combination of hand written events and GUI maintained ones. I coded in VB for the Navy starting in 1995 up until 2017 and only after retiring did I start using C#. I absolutely depend now on C# syntax being close to my old friend c && c++ which I have been using since 1987. VB requires so much typing... Coding in Assembler was like running naked on a tropical island! We can only dream about such unbound less freedom.

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

                                          Yeah, I never use events in web development. Preferred the VB way when doing WinForms 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
                                          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