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. Dumb VB and C++ fact of the Day

Dumb VB and C++ fact of the Day

Scheduled Pinned Locked Moved The Lounge
c++visual-studiotools
61 Posts 30 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.
  • M Matt McGuire

    I used to be like you years ago, but after a couple decades of coding, i have learned to be more flexible in what i use to get the job done.

    John Simmons / outlaw programmer wrote:

    Because of the first two letters in its name. I thought I' made that clear.

    by the sound of it, you haven't used it, or at least not enough to see some of the benefits that VB.net offers that differentiates it from C#. C# and VB.net are both good languages, and they both have their strengths and weaknesses. I use them both, and ADA, javascript, c, c++, D, Rust,HTML and a few others i dabble in; they all have their own uses. if you want to bash on VB6 go for it, that should have died over 10 years ago. but VB.net is not VB6

    R Offline
    R Offline
    realJSOP
    wrote on last edited by
    #50

    Matt McGuire wrote:

    by the sound of it, you haven't used it, or at least not enough to see some of the benefits that VB.net offers that differentiates it from C#.

    Once again, and for the last time, I *HAVE* used VB.Net, and it is still crap, just like it's predecessor, VB6.

    Matt McGuire wrote:

    if you want to bash on VB6 go for it,

    I suppose I could equate that with "divine dispensation", but I didn't need it to start with. VB apologists make me laugh out-f*ckin-loud...

    ".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
    -----
    When you pry the gun from my cold dead hands, be careful - the barrel will be very hot. - JSOP, 2013

    M 1 Reply Last reply
    0
    • R realJSOP

      Member 7989122 wrote:

      As a general rule, people showing the kind of hashness as you do, toward one tool (or standard, or whatever) tend to have a poor understanding of how to use it. Or they consider it out of its intended scope of usage.

      Or like me, they simply want to trigger the commie hippies that love it.

      Member 7989122 wrote:

      A number of years ago ... blah f*ckin blah ... That the end users understand what's going on.

      (yawn)

      Member 7989122 wrote:

      I never used VB,

      Count your blessings. I've had to use VB, VBscript, VBA, and VB.net. I've been a programmer for almost 40 years, and I think that makes me qualified to identify crap when I see it. It's like the MS Access of computer languages.

      ".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
      -----
      When you pry the gun from my cold dead hands, be careful - the barrel will be very hot. - JSOP, 2013

      M Offline
      M Offline
      Mark Miller
      wrote on last edited by
      #51

      John Simmons / outlaw programmer wrote:

      It's like the MS Access of computer languages.

      Or as I like to call it "MS Abscess"... X|

      Sincerely, -Mark mamiller@rhsnet.org

      1 Reply Last reply
      0
      • R realJSOP

        In point of fact, I've worked in every evil incarnation of it, but more importantly, I've worked with better languages, so I know from where I speak. Even if I hadn't, I'm old, so I'm entitled to criticize anything I want. Oh, and you can use your cute little disappointment emoji till the cows come home. I don't give two sh|ts about it. (I can say that because I'm old, too.)

        ".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
        -----
        When you pry the gun from my cold dead hands, be careful - the barrel will be very hot. - JSOP, 2013

        S Offline
        S Offline
        Slow Eddie
        wrote on last edited by
        #52

        You are not the only "Old Guy". I am 70 in a few months. I have been working in Basic (GW-Basic) since 1978. I have made a very good living with it, and have happy clients running their businesses all over the Southeast and Central U.S. with my programs. Being "Old" does not entitle you to anything, except the knowledge you will die soon. The emoji was for you, because you sound like a fan-boy millennial in your post. BTW, I am converting my programs to C#, and have found it is more verbose,and does not handle Dates worth a cr@p. I'm doing that so when I finally drop dead at the keyboard, my clients will be able to find one of the younger guys around that know C# to support them. I notice you failed to mention any of the so-called "better" languages you work in. I'd be interested to know what language/framework du-jour you currently like. Get over it, it's all just syntax, in the final analysis. The tool you use is not important, only the product you create

        Oy! Haters gonna hate.

        1 Reply Last reply
        0
        • R realJSOP

          Matt McGuire wrote:

          by the sound of it, you haven't used it, or at least not enough to see some of the benefits that VB.net offers that differentiates it from C#.

          Once again, and for the last time, I *HAVE* used VB.Net, and it is still crap, just like it's predecessor, VB6.

          Matt McGuire wrote:

          if you want to bash on VB6 go for it,

          I suppose I could equate that with "divine dispensation", but I didn't need it to start with. VB apologists make me laugh out-f*ckin-loud...

          ".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
          -----
          When you pry the gun from my cold dead hands, be careful - the barrel will be very hot. - JSOP, 2013

          M Offline
          M Offline
          Matt McGuire
          wrote on last edited by
          #53

          Look I'm not here to convince you otherwise, you have your standpoint and i will respect that, even if i don't agree with it. My only request is to not bash on others for their personal preferences. if there was constructive criticism over a language feature, I have no issue with, but to say something is just "crap" is not helpful and will lead to angering others for no purpose what so ever.

          1 Reply Last reply
          0
          • P Peter Adam

            VB is used in-house, making the software carrying the company forward. C-ish languages used by experts, for boxed software, and for contractor work, carrying their company forward.

            M Offline
            M Offline
            Matt McGuire
            wrote on last edited by
            #54

            I would debate that, this stems from the old long debate of VB6 vs. C++. I use to develop industrial control systems that controlled directly to the IO with VB.Net and had several hundred installations. the difference between c# and vb.net is not a lot. both are good languages, and both had good features, both have their own benefits, what it actually comes down to is do you prefer "{}" or "if, end if"; it still compiles down to the same IL.

            1 Reply Last reply
            0
            • C Chris Maunder

              There's no Visual Basic 13.0 nor C++ 13.0. They went from VB 12.0 in VS 2013 to VB 14.0 in VS 2015, and Visual C++ 12.0 in VS 2013 to Visual C++ 14.0 in VS 2015. [Edited to add the C++ factoid. Yeah, this is my afternoon of productivity]

              cheers Chris Maunder

              J Offline
              J Offline
              Jim Meadors
              wrote on last edited by
              #55

              Wow! Looking at this thread suggests that any VB facts should be posted in Soapbox :laugh:

              <sig notetoself="think of a better signature"> <first>Jim</first> <last>Meadors</last> </sig>

              1 Reply Last reply
              0
              • P Peter Adam

                ... except when you accidentally close the wrong block, and spends hours to find out why it is not working.

                D Offline
                D Offline
                Daniel Wilianto
                wrote on last edited by
                #56

                I have never experienced that. You should never too. If you indent parent block and children block properly.

                1 Reply Last reply
                0
                • C Chris Maunder

                  There's no Visual Basic 13.0 nor C++ 13.0. They went from VB 12.0 in VS 2013 to VB 14.0 in VS 2015, and Visual C++ 12.0 in VS 2013 to Visual C++ 14.0 in VS 2015. [Edited to add the C++ factoid. Yeah, this is my afternoon of productivity]

                  cheers Chris Maunder

                  M Offline
                  M Offline
                  Member 9167057
                  wrote on last edited by
                  #57

                  I remember a company needing to change a product name in China as the original name contained 250 which reads as "bad luck" or "death" (one of those) in Chinese. My favorite is still the MR2 car which sold rather poorly in France.

                  1 Reply Last reply
                  0
                  • O obermd

                    I'd have to argue that VBA is a real programming language, but that it's limited by the host application. VBA in Excel is extremely powerful. VBA in Word has been lobotomized. VB6 was good for what it was intended to do and represents a completely different era of Windows programming.

                    Z Offline
                    Z Offline
                    ZevSpitz
                    wrote on last edited by
                    #58

                    You mean the Excel and Word object models, respectively. You can easily access the Word object model from Excel, and the Excel object model from Word. You can also access both object models from an external program/script -- .NET languages, Python, VBScript, JScript and others. I think the limitations of these object models are independent of the language. VBA (and VB6) is limited in that it doesn't have a first-class-function mechanism (AddressOf doesn't count, as AFAICT there is no way to call such a function pointer from VBA), nor does it have a lambda function syntax. This means that LINQ/FP-style data processing is impossible in VBA/VB6, and filtering / sorting / projecting any collection of data involves nested For Each and conditional blocks.

                    1 Reply Last reply
                    0
                    • R realJSOP

                      ZevSpitz wrote:

                      I'm curious to know why you feel that way about VB.NET

                      Because the name starts with "VB".

                      ZevSpitz wrote:

                      which can express virtually everything that C# can; and like other .NET languages can make use of (almost all of) the types in the .NET Framework.

                      The words "virtually" and "almost" should be indicators for you...

                      ZevSpitz wrote:

                      There are obviously various small differences (VB.NET allows inferring the delegate type, allows assigning a numeric string to a number, etc.)

                      "Inferring" and being typeless do not make VB a better idea. Unless you're a commie... or liberal...

                      ".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
                      -----
                      When you pry the gun from my cold dead hands, be careful - the barrel will be very hot. - JSOP, 2013

                      Z Offline
                      Z Offline
                      ZevSpitz
                      wrote on last edited by
                      #59

                      John Simmons / outlaw programmer wrote:

                      Because the name starts with "VB".

                      Because you don't like the name? It seems to me your dislike is far to strong to be justified by this.

                      John Simmons / outlaw programmer wrote:

                      The words "virtually" and "almost" should be indicators for you...

                      I was referring specifically to pattern matching and types that make use of Span, which are both relatively new features in C# and .NET in general. Unsafe code is also something that C# has which VB.NET doesn't. IMO, pattern matching is as much a game-changer as LINQ, in writing expressive code, and it is quite unfortunate that it is not yet in VB.NET. But I think the others are relatively edge cases. Your average business developer, targeting a Web stack or desktop application, doesn't need the higher performance of Span, or unsafe programming -- not in C# and not in VB.NET. Are you aware of other differences in day-to-day usage? Please feel free to correct me.

                      John Simmons / outlaw programmer wrote:

                      "Inferring" and being typeless do not make VB a better idea.

                      I think that inferring the type in general is a good idea (using `var` in C# or `auto` in C++), because the code becomes more declarative -- focused on the intent of the code, and less focused on the mechanism the code will use. It's true that when every byte matters, it may be important to specify the type as byte, but again, I think these are relatively edge cases. But I didn't say I think these are good things; only that these are things that work in VB.NET and will not work when transferring this knowledge over to C#. (In fact, inferring delegate types from lambda expressions might involve a serious performance hit. If I have a database with a million records, and I use an ORM to extract the records which match a certain condition:

                      Dim qry As IQueryable(Of Person)

                      'fill qry

                      Dim filter = Function(x As Person) x.LastName.StartsWith("A")
                      Dim results = qry.Where(filter)

                      this code will use the Enumerable.Where extension method (which takes a delegate instance and not an expression), retrieve all the records in the database, and filter them in memory in the application code, all without any error. C# will not allow this, and force you to explicitly type filter as

                      1 Reply Last reply
                      0
                      • C Chris Maunder

                        There's no Visual Basic 13.0 nor C++ 13.0. They went from VB 12.0 in VS 2013 to VB 14.0 in VS 2015, and Visual C++ 12.0 in VS 2013 to Visual C++ 14.0 in VS 2015. [Edited to add the C++ factoid. Yeah, this is my afternoon of productivity]

                        cheers Chris Maunder

                        M Offline
                        M Offline
                        MarcusCole6833
                        wrote on last edited by
                        #60

                        just like high rise buildings!!

                        1 Reply Last reply
                        0
                        • K kalberts

                          As a general rule, people showing the kind of hashness as you do, toward one tool (or standard, or whatever) tend to have a poor understanding of how to use it. Or they consider it out of its intended scope of usage. A number of years ago, I switched jobs, from a Solaris environment to a non-*nix-environment: I really never made friends with Solaris. Nor with the company standard editor emacs. I made both crash quite regularly. More than once, I demonstrated to my colleauges what I had been doing. They looked over my shoulder, and screamed out: Hey, you mustn't do THAT! What the h** did you do that for? Well, I did it to show you how I made Solaris crash (or emacs)... This happened several times, and every time they made me the cruel sinner who didn't know to behave, and ruined their concept of Solaris as the worlds most rock solid OS. Well, it was - as long as you didn't do anything that could make it crash... In my new job, they were running a different OS (this was before Windows became the only alternative; it was in mincomputer/supermini area), which crashed several times a day. The Unix educated sysops did everything to make Sintran III appear as if it were Unix. I happened to know Sintran III well, so, as a left hand job, I became sort of sysops supervisor, telling them the proper way to maintain a Sintran III machine. I spent a week or two cleaning up the procedures. Three months later, some people were still complaining about the frequent crashes, and I had to drag them over to show them the system logs: The system hadn't had a single stop for three months. Systems, languages, methods ... may be severely misused, abused, used in inappropriate ways or for inappropriate purposes. That doesn't mean the poor abused thing is evil, despisable or even bad. What you could say is that "X is not suitable for application Y, because it lacks a suitable way of doing A, B and C" (maybe it does have a provision, but for reasons 1, 2 and 3, that provision does not fulfill our requirements). Any system, language or method that is widely used, is well suited for a certain class of tasks. Otherwise it wouldn't have been widely used. There may be other tools that would also be satisfactory. If you went into those environments using the tool you hate, presenting your arguments, you might learn that you hate reasons are not valid there. E.g. lots of software people argue for open source, but lots of tool users would never ever consider looking at the source code of the tool. Or cost: You may

                          T Offline
                          T Offline
                          TheGreatAndPowerfulOz
                          wrote on last edited by
                          #61

                          Just because you can use a shovel for pounding nails and "everyone" else is doing it too, doesn't mean it's a good thing.

                          #SupportHeForShe Government can give you nothing but what it takes from somebody else. A government big enough to give you everything you want is big enough to take everything you've got, including your freedom.-Ezra Taft Benson You must accept 1 of 2 basic premises: Either we are alone in the universe or we are not alone. Either way, the implications are staggering!-Wernher von Braun

                          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