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. Why is VB being forsaken?

Why is VB being forsaken?

Scheduled Pinned Locked Moved The Lounge
csharplearningc++dotnet
103 Posts 50 Posters 4 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.
  • A Alan Meadows

    Re StringBuilder versus appending text in VB... in VB6, there were several examples of doing an initially large string variable where you kept track of your own location within the string and used mid$ to place an appended string at the end of what was already there. This was only about a hundred times faster than stringA = stringB & stringC stuff. But, VB.Net obviously includes StringBuilder. The reason I (a former Microsoft Visual Basic MVP) went to C# was the arguement that learning the framework and OOP through C# was a better way than relying on VB6 preocedural styles to get into Dot Net. Best decision I ever made.

    O Offline
    O Offline
    Oakman
    wrote on last edited by
    #50

    Alan Meadows wrote:

    learning the framework and OOP through C# was a better way than relying on VB6 preocedural styles

    One of the books I'll never throw away was my autographed copy of Deborah Kurata's "OOP in VB6" Now she was ten times the programmer than most of us (including myself) ever hope to be, and she had no problem programming in OOP or in teaching others (again including myself) that nothing in VB6 forced a procedural programming style on the developer, except laziness Since starting to work in .NET, I have seen many examples of people using C# and VB.NET to behave in a procedural manner because they are ignorant. (Most of em are written by converted COBOL programmers.) My point is that the language then, and then language now, does not make you into an object-oriented programmer - only the willingness/eagerness to learn something new (which requires the ability to admit you don't already know everything - something that I have long noted is a problem among programmers and other IT folk.) I congratulate you on your willingness to learn something new, even if I don't think yours was the only way to do it.

    Alan Meadows wrote:

    Best decision I ever made.

    A decision each of us makes for himself. Mine was to learn C# and make sure I stayed current in both languages. The framework is the same in both languages and once you know both, one is far more hire-able.

    The 3-legged stool of understanding is held up by history, languages, and mathematics. Equipped with these three you can learn anything you want to learn. But if you lack any one of them you are just another ignorant peasant with dung on your boots. R. A. H.

    1 Reply Last reply
    0
    • D db7uk

      indeed. but who in the world concats numbers and strings in that manner anyway. :-D

      O Offline
      O Offline
      Oakman
      wrote on last edited by
      #51

      db7uk wrote:

      indeed. but who in the world concats numbers and strings in that manner anyway.

      Your personal experience does not sum up the total of all of humankind. In case you have no knowledge of your tools, every computer that runs assembler deep down in it guts, operates in exactly the manner you seem to think doesn't exist

      The 3-legged stool of understanding is held up by history, languages, and mathematics. Equipped with these three you can learn anything you want to learn. But if you lack any one of them you are just another ignorant peasant with dung on your boots. R. A. H.

      D 1 Reply Last reply
      0
      • O Oakman

        db7uk wrote:

        indeed. but who in the world concats numbers and strings in that manner anyway.

        Your personal experience does not sum up the total of all of humankind. In case you have no knowledge of your tools, every computer that runs assembler deep down in it guts, operates in exactly the manner you seem to think doesn't exist

        The 3-legged stool of understanding is held up by history, languages, and mathematics. Equipped with these three you can learn anything you want to learn. But if you lack any one of them you are just another ignorant peasant with dung on your boots. R. A. H.

        D Offline
        D Offline
        db7uk
        wrote on last edited by
        #52

        Oh dear me. Very Sigmund Freud :sigh:

        O 1 Reply Last reply
        0
        • P PIEBALDconsult

          jim norcal wrote:

          stop using it

          Absolutely. I'm a C/C# guy, but I've been doing VB.net for just about a year now and it's just horrible. Whenever I try to write C# I have trouble. Just last week I tried to access an item in a Dictionary with parentheses instead of brackets and couldn't understand the error it caused. VB use has even affected my health -- I've never had indigestion, but I was diagnosed with gastritis last week. C# is just a way better language. :thumbsup:

          N Offline
          N Offline
          Not Active
          wrote on last edited by
          #53

          Agreed. Compared with the clean syntax of C#, VB.NET is horrid. Though, aside from these aesthetic, the major issue I've encountered is with the skills and abilities of those using VB compared with those coming from OO backgrounds.


          I know the language. I've read a book. - _Madmatt

          O P 2 Replies Last reply
          0
          • R realJSOP

            In VB, it's "&", not "+", and I use StringBuilder (or String.Format()) in new code. I almost never use string concatenation. I have a rule that dictates never go back and change existing code (if I didn't originally write the file) unless changing the method is a part of the maintenance process. At that point, I may replace existing string concatenation with appropriate code, depending on a) how big the method is, and whether or ot I'm under an extreme time crunch.

            ".45 ACP - because shooting twice is just silly" - JSOP, 2010
            -----
            You can never have too much ammo - unless you're swimming, or on fire. - JSOP, 2010
            -----
            "Why don't you tie a kerosene-soaked rag around your ankles so the ants won't climb up and eat your candy ass." - Dale Earnhardt, 1997

            O Offline
            O Offline
            Oakman
            wrote on last edited by
            #54

            John Simmons / outlaw programmer wrote:

            In VB, it's "&", not "+"

            No actually, in VB.NET it's both.

            John Simmons / outlaw programmer wrote:

            I use StringBuilder

            'Twasn't always the case, though, was it?

            John Simmons / outlaw programmer wrote:

            I almost never use string concatenation.

            I use it constantly, but then we probably work on very different types of programs.

            The 3-legged stool of understanding is held up by history, languages, and mathematics. Equipped with these three you can learn anything you want to learn. But if you lack any one of them you are just another ignorant peasant with dung on your boots. R. A. H.

            1 Reply Last reply
            0
            • N Not Active

              jim norcal wrote:

              So, what am I supposed to do? Just stop using it

              Yes. Speaking from my recent and on-going experience of working, or attempting to, with a VB.NET project, the code is poorly sturctured, undocumented, unsecure and performs poorly. In general it has been my experince that C# developers are more versed in OO and actually code using these principles. In this recent project there are ~5000 lines of VB.NET in two files. I reengineered using C# with a nTeired approach so that it now has 17 files with ~3000 lines, including unit tests. This is why VB.NET can, and should, be phased out. Not that the language itself is bad, the developers using it, IMO, mostly, don't have the skills, training, or experience to write software in the best manner. C# is also more closely related to other langauages, such as JavaScript, so the transition between them in a web application would be much easier and developers more productive.


              I know the language. I've read a book. - _Madmatt

              A Offline
              A Offline
              agolddog
              wrote on last edited by
              #55

              For anyone reading Mark's response, it's important to note his qualifier, "In general". What he says is true. This is not to say that every VB programmer is less sophisticated than every C# programmer; there are some very good developers who happen to prefer VB. However, in the general sense, my experience has also been that people who develop in VB don't have has strong a grasp of the underlying fundamentals as those in C#. Thus, their applications are not as robust. For me, it seems as if the tools which go along with VB just don't work quite as well as with C#. Intellisense, for example: it seems as if, once I've made a syntax error in VB, inellisense just quits working, and it's more forgiving in C#.

              O 1 Reply Last reply
              0
              • N Not Active

                Agreed. Compared with the clean syntax of C#, VB.NET is horrid. Though, aside from these aesthetic, the major issue I've encountered is with the skills and abilities of those using VB compared with those coming from OO backgrounds.


                I know the language. I've read a book. - _Madmatt

                O Offline
                O Offline
                Oakman
                wrote on last edited by
                #56

                Mark Nischalke wrote:

                Compared with the clean syntax of C#, VB.NET is horrid.

                One of the silliest things some folks do is think that their personal preferences are actually laws of nature. When someone is used to reading one language and has trouble with the other that defines not the language, but the programmer.

                The 3-legged stool of understanding is held up by history, languages, and mathematics. Equipped with these three you can learn anything you want to learn. But if you lack any one of them you are just another ignorant peasant with dung on your boots. R. A. H.

                N P 2 Replies Last reply
                0
                • M MSBassSinger

                  I started VB with 1, after years of programming in FORTRAN, COBOL, Clipper, and QuickBasic. I never did use procedural programming, but did modular programming. That made the transition to OOP inVB4 through 6 pretty easy. Since my VB6 programs were OO, they ported easily to VB.NET. I also learned C# several years ago. I program in C# where I work since C# is the comfortable choice for the decision makers with a Java and C background. I program in VB.NET for my own development. I find VB.NET to be more productive, even in complex n-tiered apps. VB.NET does everything C# does, so why should I program in a 1960s throwback style when I can program in a simpler, more powerful syntax? I hear the anti-VB folks talk about C# being more "elegant". Huh? What does that mean? My wife and daughter are elegant. I don't want my language of choice to be girly or curly. :) I think "elegant" is used in the context of programming languages when one is unable to give a coherent reason for using a language. Simply put, if Java or C/C++ is your background, then use C#. If VB6 is your background, then use VB.NET. If you want to be mire hirable, know both well. After all, 80% of being an excellent .NET developer is knowing the framework.

                  O Offline
                  O Offline
                  Oakman
                  wrote on last edited by
                  #57

                  MSBassSinger wrote:

                  I started VB with 1,

                  I started with VB for DOS - now that was a strange animal!

                  The 3-legged stool of understanding is held up by history, languages, and mathematics. Equipped with these three you can learn anything you want to learn. But if you lack any one of them you are just another ignorant peasant with dung on your boots. R. A. H.

                  1 Reply Last reply
                  0
                  • N Not Active

                    kenSemantics wrote:

                    VB does it for you.

                    Yes VB does a lot for you, but that is a problem. It allows for stupid things to be done without the developer having to actually think about what they are doing.


                    I know the language. I've read a book. - _Madmatt

                    O Offline
                    O Offline
                    Oakman
                    wrote on last edited by
                    #58

                    Mark Nischalke wrote:

                    It allows for stupid things to be done without the developer having to actually think about what they are doing.

                    I have seen some really horrifying code written by developers (who obviously weren't thinking) in C#. You seem to want to blame the language for the faults of the programmer. In truth, inferior programmers will write inferior code in any language and superior programmers will write superior code in any language.

                    The 3-legged stool of understanding is held up by history, languages, and mathematics. Equipped with these three you can learn anything you want to learn. But if you lack any one of them you are just another ignorant peasant with dung on your boots. R. A. H.

                    N 1 Reply Last reply
                    0
                    • A agolddog

                      For anyone reading Mark's response, it's important to note his qualifier, "In general". What he says is true. This is not to say that every VB programmer is less sophisticated than every C# programmer; there are some very good developers who happen to prefer VB. However, in the general sense, my experience has also been that people who develop in VB don't have has strong a grasp of the underlying fundamentals as those in C#. Thus, their applications are not as robust. For me, it seems as if the tools which go along with VB just don't work quite as well as with C#. Intellisense, for example: it seems as if, once I've made a syntax error in VB, inellisense just quits working, and it's more forgiving in C#.

                      O Offline
                      O Offline
                      Oakman
                      wrote on last edited by
                      #59

                      agolddog wrote:

                      For me, it seems as if the tools which go along with VB just don't work quite as well as with C#. Intellisense, for example: it seems as if, once I've made a syntax error in VB, inellisense just quits working, and it's more forgiving in C#.

                      That is just plain silly. You don't want immediate feedback when you have typed bad code??? You are right, since intellisense in C# is far less aware of what is being written, C#, much more often than VB.NET, must compile bad code before spotting an error. I have never regarded that as a feature to be touted, but a failing that must be borne.

                      The 3-legged stool of understanding is held up by history, languages, and mathematics. Equipped with these three you can learn anything you want to learn. But if you lack any one of them you are just another ignorant peasant with dung on your boots. R. A. H.

                      N 1 Reply Last reply
                      0
                      • D db7uk

                        Oh dear me. Very Sigmund Freud :sigh:

                        O Offline
                        O Offline
                        Oakman
                        wrote on last edited by
                        #60

                        :zzz:

                        The 3-legged stool of understanding is held up by history, languages, and mathematics. Equipped with these three you can learn anything you want to learn. But if you lack any one of them you are just another ignorant peasant with dung on your boots. R. A. H.

                        1 Reply Last reply
                        0
                        • J John Stewien

                          That was me. Until I learned SQL, which is fun.

                          R Offline
                          R Offline
                          Renzo Ciafardone
                          wrote on last edited by
                          #61

                          Exactly how can SQL be compared to any programming language? Since, you know.. it is not a programming language. ANSI/ISO SQL is not Turing complete. Now if you are speaking about some "real" programming language that is an expansion of SQL that is another subject. But SQL on its own is not a programming language, it is a language... just not a programming one :D.

                          J 1 Reply Last reply
                          0
                          • R Renzo Ciafardone

                            Exactly how can SQL be compared to any programming language? Since, you know.. it is not a programming language. ANSI/ISO SQL is not Turing complete. Now if you are speaking about some "real" programming language that is an expansion of SQL that is another subject. But SQL on its own is not a programming language, it is a language... just not a programming one :D.

                            J Offline
                            J Offline
                            John Stewien
                            wrote on last edited by
                            #62

                            It's a transform language, it transforms tables of data into other tables of data. Queries can be optimised, there are various key words for performing different functions, there's maths, filtering, and formatting, it's just that the inputs and outputs are limited to tabular format. Some problems are tricky and require programmer skill to solve.

                            1 Reply Last reply
                            0
                            • O Oakman

                              Mark Nischalke wrote:

                              Compared with the clean syntax of C#, VB.NET is horrid.

                              One of the silliest things some folks do is think that their personal preferences are actually laws of nature. When someone is used to reading one language and has trouble with the other that defines not the language, but the programmer.

                              The 3-legged stool of understanding is held up by history, languages, and mathematics. Equipped with these three you can learn anything you want to learn. But if you lack any one of them you are just another ignorant peasant with dung on your boots. R. A. H.

                              N Offline
                              N Offline
                              Not Active
                              wrote on last edited by
                              #63

                              Oakman wrote:

                              One of the silliest things

                              So your arguement is my stated personal opinion is "silly" and I'm at fault for perfering one over the other? Good arguement. A really a good way to have an open and mature discussion. :rolleyes:


                              I know the language. I've read a book. - _Madmatt

                              O 1 Reply Last reply
                              0
                              • J jim norcal

                                All the programming I have done has been with VB then VB.NET. Microsoft keeps continues to develop and release it along side C# and the rest. However, over the last few years, I have seen very little new information out there regarding VB. Very few articles on Code Project and other sites. Oh, and I'm a subscriber to MSDN magazine and I haven't seen a single line of VB.NET code in .. in .. I can't even remember the last issue. I can say at least the last four issues there hasn't been anything in VB.NET. It's all been C#, C++ and even F# but no VB! Is Microsoft trying to push it to the side so it whithers and dies and hope that no one notices or pays attention? Even here on Code Project I've noted next to nothing new on VB. Every week I get the newsletter with all the new articles and rarely do I see anything on VB.NET. There may be one article among the 30 C# articles but that's on a good week. So, what am I supposed to do? Just stop using it, pick up a "Learning C# For Lonely, Left Behind VB.NET Programmers" and just think of VB.NET as fond memories of long ago? I have a hard time with such a concept. VB.NET has evolved into a good language and is capable of doing pretty much anything C# can do (using the .net framework, of course) so why isn't it promoted more by MS and others?

                                S Offline
                                S Offline
                                shiznit770
                                wrote on last edited by
                                #64

                                I started programming 3 years ago with VB.NET and encountered the same things you are seeing now. It won't change. VB developers are generally less likely to put content online. Limiting yourself consuming just VB or C# articles is just silly. Here's a cheat sheet to get things started. If you embrace both languages equally you should have no problem applying C# articles to your VB development.

                                1 Reply Last reply
                                0
                                • N Not Active

                                  Oakman wrote:

                                  One of the silliest things

                                  So your arguement is my stated personal opinion is "silly" and I'm at fault for perfering one over the other? Good arguement. A really a good way to have an open and mature discussion. :rolleyes:


                                  I know the language. I've read a book. - _Madmatt

                                  O Offline
                                  O Offline
                                  Oakman
                                  wrote on last edited by
                                  #65

                                  Mark Nischalke wrote:

                                  So your arguement is my stated personal opinion is "silly" and I'm at fault for perfering one over the other?

                                  Nope. I'll type slower so maybe you'll understand. ;) When someone expresses his personal opinion as if it is a law of nature, he is being silly. When a programmers blames the language for the mistakes he makes, he is being silly. Now, if the shoe fits, then by all means wear it. If not, then deal with the points I made rather than acting as if I attacked you rather than your argument.

                                  The 3-legged stool of understanding is held up by history, languages, and mathematics. Equipped with these three you can learn anything you want to learn. But if you lack any one of them you are just another ignorant peasant with dung on your boots. R. A. H.

                                  1 Reply Last reply
                                  0
                                  • O Oakman

                                    agolddog wrote:

                                    For me, it seems as if the tools which go along with VB just don't work quite as well as with C#. Intellisense, for example: it seems as if, once I've made a syntax error in VB, inellisense just quits working, and it's more forgiving in C#.

                                    That is just plain silly. You don't want immediate feedback when you have typed bad code??? You are right, since intellisense in C# is far less aware of what is being written, C#, much more often than VB.NET, must compile bad code before spotting an error. I have never regarded that as a feature to be touted, but a failing that must be borne.

                                    The 3-legged stool of understanding is held up by history, languages, and mathematics. Equipped with these three you can learn anything you want to learn. But if you lack any one of them you are just another ignorant peasant with dung on your boots. R. A. H.

                                    N Offline
                                    N Offline
                                    Not Active
                                    wrote on last edited by
                                    #66

                                    Oakman wrote:

                                    That is just plain silly.

                                    A very mature attitude.

                                    Oakman wrote:

                                    You don't want immediate feedback when you have typed bad code???

                                    Then how do you explain this? In VB.NET this won't flag anything in intellisence nor when compiled. It will throw an exception at runtime.

                                    Dim i As Integer
                                    Dim x As String
                                    i = 0
                                    x = "foo"
                                    If i = x Then
                                    End If

                                    In C# intellisence will show the error and it won't compile.

                                    int i = 0;
                                    string x = "foo";
                                    if(i == x)
                                    {
                                    }

                                    Oakman wrote:

                                    since intellisense in C# is far less aware of what is being written, C#, much more often than VB.NET, must compile bad code before spotting an error.

                                    Care to re-state this?


                                    I know the language. I've read a book. - _Madmatt

                                    L O 2 Replies Last reply
                                    0
                                    • O Oakman

                                      Mark Nischalke wrote:

                                      It allows for stupid things to be done without the developer having to actually think about what they are doing.

                                      I have seen some really horrifying code written by developers (who obviously weren't thinking) in C#. You seem to want to blame the language for the faults of the programmer. In truth, inferior programmers will write inferior code in any language and superior programmers will write superior code in any language.

                                      The 3-legged stool of understanding is held up by history, languages, and mathematics. Equipped with these three you can learn anything you want to learn. But if you lack any one of them you are just another ignorant peasant with dung on your boots. R. A. H.

                                      N Offline
                                      N Offline
                                      Not Active
                                      wrote on last edited by
                                      #67

                                      Oakman wrote:

                                      You seem to want to blame the language for the faults of the programmer

                                      I think you should read my comments more carefully. http://www.codeproject.com/Lounge.aspx?msg=3978112#xx3978112xx[^] "Not that the language itself is bad, the developers using it, IMO, mostly, don't have the skills, training, or experience to write software in the best manner."


                                      I know the language. I've read a book. - _Madmatt

                                      O 1 Reply Last reply
                                      0
                                      • N Not Active

                                        kenSemantics wrote:

                                        VB does it for you.

                                        Yes VB does a lot for you, but that is a problem. It allows for stupid things to be done without the developer having to actually think about what they are doing.


                                        I know the language. I've read a book. - _Madmatt

                                        K Offline
                                        K Offline
                                        kenSemantics
                                        wrote on last edited by
                                        #68

                                        really, isnt it the responsibility of the developer to take care of what he is writing? if the language does something without his knowing then he is just a bad programmer.

                                        N 1 Reply Last reply
                                        0
                                        • J jim norcal

                                          All the programming I have done has been with VB then VB.NET. Microsoft keeps continues to develop and release it along side C# and the rest. However, over the last few years, I have seen very little new information out there regarding VB. Very few articles on Code Project and other sites. Oh, and I'm a subscriber to MSDN magazine and I haven't seen a single line of VB.NET code in .. in .. I can't even remember the last issue. I can say at least the last four issues there hasn't been anything in VB.NET. It's all been C#, C++ and even F# but no VB! Is Microsoft trying to push it to the side so it whithers and dies and hope that no one notices or pays attention? Even here on Code Project I've noted next to nothing new on VB. Every week I get the newsletter with all the new articles and rarely do I see anything on VB.NET. There may be one article among the 30 C# articles but that's on a good week. So, what am I supposed to do? Just stop using it, pick up a "Learning C# For Lonely, Left Behind VB.NET Programmers" and just think of VB.NET as fond memories of long ago? I have a hard time with such a concept. VB.NET has evolved into a good language and is capable of doing pretty much anything C# can do (using the .net framework, of course) so why isn't it promoted more by MS and others?

                                          L Offline
                                          L Offline
                                          ljw1004
                                          wrote on last edited by
                                          #69

                                          I'm Lucian Wischik, the VB language PM at Microsoft. Since VS2010 we've put a huge amount of resources behind VB. We haven't announced all the new features, but here are just some of the new VB features we've already announced: * Async programming, developed absolutely equally with C#. * Iterators, like C#, but also allowing lambda iterators and yield inside try blocks which C# doesn't have. * VBCore - removes the dependency on Microsoft.VisualBasic.dll, so VB is as easy for 3rd-parties to use as C#. * New platforms - VB support added to Windows Phone 7, to the Micro Framework (i.e. Netduino), to XNA. * (and smaller fixes, like no longer prettylisting that blasted "ByVal" in front of everything, and emitting minimally-qualified names) And of course all of these features benefit from the things we know and love about VB, like QuickFixes and XML. Here's an interesting code snippet which ties together several unique VB features at the same time:

                                          Sub Main()
                                          Dim xml =

                                                <%= Iterator Function()
                                                      For Each robot In {"alpha", "beta", "gamma"}
                                                        Yield *   Robot <%= robot %> reporting in for duty
                                                      Next
                                                    End Function()
                                                 %>
                                          

                                          Console.WriteLine(xml)
                                          End Sub

                                          What this shows is code that on the surface looks similar in structure to ASP/PHP, but is actually fully typesafe. Personally, I've switched over all my hobby web-services from python to this kind of VB because I can code them quicker and with fewer bugs thanks to the type safety. -- Lucian Wischik, VB language PM

                                          R 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