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. VB.NET vs. C# (0 -1) & depression?!?.... [modified]

VB.NET vs. C# (0 -1) & depression?!?.... [modified]

Scheduled Pinned Locked Moved The Lounge
csharplinqcssvisual-studio
20 Posts 15 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.
  • C Chris Austin

    IMHO they are essentially the same. Personally, I do not care for some of the VB idioms but I figure I could get used to it.

    A human being should be able to change a diaper, plan an invasion, butcher a hog, conn a ship, design a building, write a sonnet, balance accounts, build a wall, set a bone, comfort the dying, take orders, give orders, cooperate, act alone, solve equations, analyze a new problem, pitch manure, program a computer, cook a tasty meal, fight efficiently, die gallantly. Specialization is for insects. - -Lazarus Long

    B Offline
    B Offline
    bartedgerton
    wrote on last edited by
    #5

    The next several months of your life will involve removing a lot of semi-colons and curly braces... Oh, and adding funny little things like "then" and "end if". Good luck.. I don't think there is much difference between the languages (besides the obvious) other than VB runs slower than C#, generally.

    Bart A. Edgerton www.ewebdev.net

    C M 2 Replies Last reply
    0
    • B bartedgerton

      The next several months of your life will involve removing a lot of semi-colons and curly braces... Oh, and adding funny little things like "then" and "end if". Good luck.. I don't think there is much difference between the languages (besides the obvious) other than VB runs slower than C#, generally.

      Bart A. Edgerton www.ewebdev.net

      C Offline
      C Offline
      Chris Austin
      wrote on last edited by
      #6

      bartedgerton wrote:

      The next several months of your life will involve removing a lot of semi-colons and curly braces... Oh, and adding funny little things like "then" and "end if".

      Exactly what I mean. It seems superfluous to me.

      bartedgerton wrote:

      Good luck.. I don't think there is much difference between the languages (besides the obvious) other than VB runs slower than C#, generally.

      Generally I almost never code in .net these day but thanks for the good wishes.

      A human being should be able to change a diaper, plan an invasion, butcher a hog, conn a ship, design a building, write a sonnet, balance accounts, build a wall, set a bone, comfort the dying, take orders, give orders, cooperate, act alone, solve equations, analyze a new problem, pitch manure, program a computer, cook a tasty meal, fight efficiently, die gallantly. Specialization is for insects. - -Lazarus Long

      1 Reply Last reply
      0
      • B bartedgerton

        The next several months of your life will involve removing a lot of semi-colons and curly braces... Oh, and adding funny little things like "then" and "end if". Good luck.. I don't think there is much difference between the languages (besides the obvious) other than VB runs slower than C#, generally.

        Bart A. Edgerton www.ewebdev.net

        M Offline
        M Offline
        marc marie
        wrote on last edited by
        #7

        VB.NET is not slower then C#. this is the VB IL of Hello World .method public static void Main() cil managed { .custom instance void [mscorlib]System.STAThreadAttribute::.ctor() .entrypoint .maxstack 8 L_0000: nop L_0001: ldstr "Hello World" L_0006: call void [mscorlib]System.Console::Write(string) L_000b: nop L_000c: call int32 [mscorlib]System.Console::Read() L_0011: pop L_0012: nop L_0013: ret } This is the C# IL of Hello World .method public hidebysig static void Main() cil managed { .custom instance void [mscorlib]System.STAThreadAttribute::.ctor() .entrypoint .maxstack 8 L_0000: nop L_0001: ldstr "Hello World" L_0006: call void [mscorlib]System.Console::Write(string) L_000b: nop L_000c: call int32 [mscorlib]System.Console::Read() L_0011: pop L_0012: ret } As you can see it, there is nothing which justifies the fact that VB.NET is slower than C #. VB6 was slower then everything but not VB.NET. Marc Robitaille

        C M 2 Replies Last reply
        0
        • M marc marie

          VB.NET is not slower then C#. this is the VB IL of Hello World .method public static void Main() cil managed { .custom instance void [mscorlib]System.STAThreadAttribute::.ctor() .entrypoint .maxstack 8 L_0000: nop L_0001: ldstr "Hello World" L_0006: call void [mscorlib]System.Console::Write(string) L_000b: nop L_000c: call int32 [mscorlib]System.Console::Read() L_0011: pop L_0012: nop L_0013: ret } This is the C# IL of Hello World .method public hidebysig static void Main() cil managed { .custom instance void [mscorlib]System.STAThreadAttribute::.ctor() .entrypoint .maxstack 8 L_0000: nop L_0001: ldstr "Hello World" L_0006: call void [mscorlib]System.Console::Write(string) L_000b: nop L_000c: call int32 [mscorlib]System.Console::Read() L_0011: pop L_0012: ret } As you can see it, there is nothing which justifies the fact that VB.NET is slower than C #. VB6 was slower then everything but not VB.NET. Marc Robitaille

          C Offline
          C Offline
          Chris Austin
          wrote on last edited by
          #8

          Which version of the runtime is this? I remember some of the early .net 1.0 and 1.1 benchmarks that showed vb.net was at times slower.

          A human being should be able to change a diaper, plan an invasion, butcher a hog, conn a ship, design a building, write a sonnet, balance accounts, build a wall, set a bone, comfort the dying, take orders, give orders, cooperate, act alone, solve equations, analyze a new problem, pitch manure, program a computer, cook a tasty meal, fight efficiently, die gallantly. Specialization is for insects. - -Lazarus Long

          1 Reply Last reply
          0
          • M marc marie

            VB.NET is not slower then C#. this is the VB IL of Hello World .method public static void Main() cil managed { .custom instance void [mscorlib]System.STAThreadAttribute::.ctor() .entrypoint .maxstack 8 L_0000: nop L_0001: ldstr "Hello World" L_0006: call void [mscorlib]System.Console::Write(string) L_000b: nop L_000c: call int32 [mscorlib]System.Console::Read() L_0011: pop L_0012: nop L_0013: ret } This is the C# IL of Hello World .method public hidebysig static void Main() cil managed { .custom instance void [mscorlib]System.STAThreadAttribute::.ctor() .entrypoint .maxstack 8 L_0000: nop L_0001: ldstr "Hello World" L_0006: call void [mscorlib]System.Console::Write(string) L_000b: nop L_000c: call int32 [mscorlib]System.Console::Read() L_0011: pop L_0012: ret } As you can see it, there is nothing which justifies the fact that VB.NET is slower than C #. VB6 was slower then everything but not VB.NET. Marc Robitaille

            M Offline
            M Offline
            MidwestLimey
            wrote on last edited by
            #9

            The IDE is, with a sufficiently large solution (say 6+ medium sized projects). The VB back ground compiler can bring my quad core dev box to it's knees at times. That one feature makes VB.Net a lousy choice for enterprise development, well that and the lack of anonymous methods. And lack of ++ / -- operators. Oh, and the appalling casting syntax. Err, the appalling generic syntax too .. I should stop now :)


            I'm largely language agnostic


            After a while they all bug me :doh:


            P 1 Reply Last reply
            0
            • S Super Lloyd

              Hi all, still trying to find a good IT job in the country side (i.e. less than 80.000 people in town). I might move to Ireland soon... :( But there is one last chance I stay in warm and sunny queensland (Australia), I just applied to a job requiring.... VB.NET. The job looks potentially interesting, in Cairns (which might be a bit too big for my health, but the company is right on the border). Now my problem is the job looks midly interesting but they want a ... VB.NET developer. Do you think I will get depressed? Or is VB.NET quite similar save for a different syntax? (I mean does it have the same functionality: i.e generic, LINQ expression, event, attibutes, field, method, lambda expression, operator overriding, I would miss any of those...)

              modified on Thursday, December 13, 2007 11:47:09 AM

              realJSOPR Offline
              realJSOPR Offline
              realJSOP
              wrote on last edited by
              #10

              You'll put your eye out (or at least want to).

              "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
              -----
              "...the staggering layers of obscenity in your statement make it a work of art on so many levels." - Jason Jystad, 10/26/2001

              1 Reply Last reply
              0
              • S Super Lloyd

                Hi all, still trying to find a good IT job in the country side (i.e. less than 80.000 people in town). I might move to Ireland soon... :( But there is one last chance I stay in warm and sunny queensland (Australia), I just applied to a job requiring.... VB.NET. The job looks potentially interesting, in Cairns (which might be a bit too big for my health, but the company is right on the border). Now my problem is the job looks midly interesting but they want a ... VB.NET developer. Do you think I will get depressed? Or is VB.NET quite similar save for a different syntax? (I mean does it have the same functionality: i.e generic, LINQ expression, event, attibutes, field, method, lambda expression, operator overriding, I would miss any of those...)

                modified on Thursday, December 13, 2007 11:47:09 AM

                M Offline
                M Offline
                Mustafa Ismail Mustafa
                wrote on last edited by
                #11

                I get paid a living to code with VB.NET. Moving to it from a plethora of C based languages was hell condensed into human consumable form. It is such a pain not using the curly braces and using round brackets instead of square and the casting. Eventually though you get used to it. This is why now at home or for my MSc I ONLY code in C++ or C#. Because otherwise, I'm going to have a hell of a time going back. However, as much as I'm loathe to admit it, under the hood, there isn't much difference between VB.NET and C#. Indeed, they are one and the same. The IL is practically the same. I do believe that you can code faster with C# constructs and syntax. With regards to the list you named, I can vouch for the existence of all except lambda expressions, and that's because I haven't been able to make the time to see the differences (if any) between C# and VB.NET 3.0.

                "Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the Universe trying to produce bigger and better idiots. So far, the Universe is winning." - Rick Cook "There is no wealth like knowledge, no poverty like ignorance." Ali ibn Abi Talib "Animadvertistine, ubicumque stes, fumum recta in faciem ferri?"

                S 1 Reply Last reply
                0
                • S Super Lloyd

                  Hi all, still trying to find a good IT job in the country side (i.e. less than 80.000 people in town). I might move to Ireland soon... :( But there is one last chance I stay in warm and sunny queensland (Australia), I just applied to a job requiring.... VB.NET. The job looks potentially interesting, in Cairns (which might be a bit too big for my health, but the company is right on the border). Now my problem is the job looks midly interesting but they want a ... VB.NET developer. Do you think I will get depressed? Or is VB.NET quite similar save for a different syntax? (I mean does it have the same functionality: i.e generic, LINQ expression, event, attibutes, field, method, lambda expression, operator overriding, I would miss any of those...)

                  modified on Thursday, December 13, 2007 11:47:09 AM

                  T Offline
                  T Offline
                  Todd Smith
                  wrote on last edited by
                  #12

                  VB.NET and the tools are geared a bit more towards RAD development. That's about the only difference other than the syntax that I'm aware of.

                  Todd Smith

                  1 Reply Last reply
                  0
                  • M MidwestLimey

                    The IDE is, with a sufficiently large solution (say 6+ medium sized projects). The VB back ground compiler can bring my quad core dev box to it's knees at times. That one feature makes VB.Net a lousy choice for enterprise development, well that and the lack of anonymous methods. And lack of ++ / -- operators. Oh, and the appalling casting syntax. Err, the appalling generic syntax too .. I should stop now :)


                    I'm largely language agnostic


                    After a while they all bug me :doh:


                    P Offline
                    P Offline
                    Patrick Etc
                    wrote on last edited by
                    #13

                    MidwestLimey wrote:

                    The IDE is, with a sufficiently large solution (say 6+ medium sized projects).

                    Sometimes the difference REALLY makes me angry. I don't understand why I can open a solution of 10 C# projects in under 5 seconds, but a solution of 4 VB.NET projects takes OVER a MINUTE to open. WHY? Oh, and then there was that 500MB folder of temp files the background compiler creates that I found one day while hunting around in my Application Data folder. Why doesn't it delete these when VS exits? WHY? It's such a stilted language. Things that are so elegant in C# (like delegates and anonymous methods) seem to PURPOSELY be difficult in VB.NET. There's simply no clarity to it at all. Yeah, simple things are fast. Anything you actually want to be well written, isn't. The language is so obfuscated that at least for me, clarity of thought is nearly impossible. C# on the other hand, reflects my internal thought processes almost perfectly. The "Then" and "End If" are superfluous features of a language, and yet they feature prominently in VB.NET. It's like trying to walk down a hallway and crashing into every single potted plant along the way. In short, it is not a language I will use for enterprise development. Its predecessors were envisioned as R&D tools, and that is where it should stay. And the fact that the IL is the same is misleading. Anything compiled in VB.NET also loads several associated VisualBasic assemblies which usurp the normal operation of the CLR, even if you don't actually use anything that calls into the VisualBasic assemblies (that is, all standard .NET classes, none of the VB interop functions). In short.. I hate VB.NET. It is the bane of my existence.


                    It has become appallingly obvious that our technology has exceeded our humanity. - Albert Einstein

                    1 Reply Last reply
                    0
                    • S Super Lloyd

                      Hi all, still trying to find a good IT job in the country side (i.e. less than 80.000 people in town). I might move to Ireland soon... :( But there is one last chance I stay in warm and sunny queensland (Australia), I just applied to a job requiring.... VB.NET. The job looks potentially interesting, in Cairns (which might be a bit too big for my health, but the company is right on the border). Now my problem is the job looks midly interesting but they want a ... VB.NET developer. Do you think I will get depressed? Or is VB.NET quite similar save for a different syntax? (I mean does it have the same functionality: i.e generic, LINQ expression, event, attibutes, field, method, lambda expression, operator overriding, I would miss any of those...)

                      modified on Thursday, December 13, 2007 11:47:09 AM

                      D Offline
                      D Offline
                      Declan Bright
                      wrote on last edited by
                      #14

                      You will adopt to the syntax in no time, I have used both and can easily switch between them now, after about an hour I stop typing semi colons. ;P There are several on-line convertors out there, very useful for converting any helper classes etc that you may have and want to use in the other language. I've used these a few times: CodeTranslator[^] and DeveloperFusion[^]

                      Declan Bright www.declanbright.com

                      1 Reply Last reply
                      0
                      • S Super Lloyd

                        Hi all, still trying to find a good IT job in the country side (i.e. less than 80.000 people in town). I might move to Ireland soon... :( But there is one last chance I stay in warm and sunny queensland (Australia), I just applied to a job requiring.... VB.NET. The job looks potentially interesting, in Cairns (which might be a bit too big for my health, but the company is right on the border). Now my problem is the job looks midly interesting but they want a ... VB.NET developer. Do you think I will get depressed? Or is VB.NET quite similar save for a different syntax? (I mean does it have the same functionality: i.e generic, LINQ expression, event, attibutes, field, method, lambda expression, operator overriding, I would miss any of those...)

                        modified on Thursday, December 13, 2007 11:47:09 AM

                        C Offline
                        C Offline
                        Christian Graus
                        wrote on last edited by
                        #15

                        If you stay away from the Visual Basic namespace, which is where VB6 stuff that MS wanted to ditch but were pressured not to lives, you should be reasonably OK. The main thing is to remember that VB is weakly typed, which can create some very bizarre bugs. And of course, you get optional parameters and what I think is a really nice way of hooking up events. You lose some other stuff, pointers most notably. VB is nasty, I hate it, the syntax is ugly, but it's capable of doing almost anything C# can do, anything it can't do, it can call a C# dll and do it that way.

                        Christian Graus - Microsoft MVP - C++ "also I don't think "TranslateOneToTwoBillion OneHundredAndFortySevenMillion FourHundredAndEightyThreeThousand SixHundredAndFortySeven()" is a very good choice for a function name" - SpacixOne ( offering help to someone who really needed it ) ( spaces added for the benefit of people running at < 1280x1024 )

                        1 Reply Last reply
                        0
                        • S Super Lloyd

                          Hi all, still trying to find a good IT job in the country side (i.e. less than 80.000 people in town). I might move to Ireland soon... :( But there is one last chance I stay in warm and sunny queensland (Australia), I just applied to a job requiring.... VB.NET. The job looks potentially interesting, in Cairns (which might be a bit too big for my health, but the company is right on the border). Now my problem is the job looks midly interesting but they want a ... VB.NET developer. Do you think I will get depressed? Or is VB.NET quite similar save for a different syntax? (I mean does it have the same functionality: i.e generic, LINQ expression, event, attibutes, field, method, lambda expression, operator overriding, I would miss any of those...)

                          modified on Thursday, December 13, 2007 11:47:09 AM

                          M Offline
                          M Offline
                          Marc Clifton
                          wrote on last edited by
                          #16

                          Super Lloyd wrote:

                          I mean does it have the same functionality: i.e generic, LINQ expression, event, attibutes, field, method, lambda expression, operator overriding, I would miss any of those...)

                          Yeah, it's got those, like women all have certain common features. It's personality that matters in the long run, and VB is lacking a compatible personality. Regardless of features, that's sufficient for depression to set in if you were considering a long term relationship. Marc

                          Thyme In The Country Interacx My Blog

                          S 1 Reply Last reply
                          0
                          • S Super Lloyd

                            Hi all, still trying to find a good IT job in the country side (i.e. less than 80.000 people in town). I might move to Ireland soon... :( But there is one last chance I stay in warm and sunny queensland (Australia), I just applied to a job requiring.... VB.NET. The job looks potentially interesting, in Cairns (which might be a bit too big for my health, but the company is right on the border). Now my problem is the job looks midly interesting but they want a ... VB.NET developer. Do you think I will get depressed? Or is VB.NET quite similar save for a different syntax? (I mean does it have the same functionality: i.e generic, LINQ expression, event, attibutes, field, method, lambda expression, operator overriding, I would miss any of those...)

                            modified on Thursday, December 13, 2007 11:47:09 AM

                            K Offline
                            K Offline
                            Kevin McFarlane
                            wrote on last edited by
                            #17

                            I did VB .NET for over a year after formerly doing C#. Now I'm back to C# again. To be honest, despite the many complaints you read on CP about the syntax, I find the most irritating thing about it is the poor IDE code editing integration especially in VS 2005 re: intellisense and code snippets - and one or two other things. I don't know whether VS 2008 has improved in this respect.

                            Kevin

                            F 1 Reply Last reply
                            0
                            • M Mustafa Ismail Mustafa

                              I get paid a living to code with VB.NET. Moving to it from a plethora of C based languages was hell condensed into human consumable form. It is such a pain not using the curly braces and using round brackets instead of square and the casting. Eventually though you get used to it. This is why now at home or for my MSc I ONLY code in C++ or C#. Because otherwise, I'm going to have a hell of a time going back. However, as much as I'm loathe to admit it, under the hood, there isn't much difference between VB.NET and C#. Indeed, they are one and the same. The IL is practically the same. I do believe that you can code faster with C# constructs and syntax. With regards to the list you named, I can vouch for the existence of all except lambda expressions, and that's because I haven't been able to make the time to see the differences (if any) between C# and VB.NET 3.0.

                              "Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the Universe trying to produce bigger and better idiots. So far, the Universe is winning." - Rick Cook "There is no wealth like knowledge, no poverty like ignorance." Ali ibn Abi Talib "Animadvertistine, ubicumque stes, fumum recta in faciem ferri?"

                              S Offline
                              S Offline
                              Super Lloyd
                              wrote on last edited by
                              #18

                              Thanks for checking my list! :-D

                              1 Reply Last reply
                              0
                              • M Marc Clifton

                                Super Lloyd wrote:

                                I mean does it have the same functionality: i.e generic, LINQ expression, event, attibutes, field, method, lambda expression, operator overriding, I would miss any of those...)

                                Yeah, it's got those, like women all have certain common features. It's personality that matters in the long run, and VB is lacking a compatible personality. Regardless of features, that's sufficient for depression to set in if you were considering a long term relationship. Marc

                                Thyme In The Country Interacx My Blog

                                S Offline
                                S Offline
                                Super Lloyd
                                wrote on last edited by
                                #19

                                ho.... you can't span your method call on multiple line unless you add a trainling '_' at the end of the line... I wonder if I should call that weird or annoying?!? :omg:

                                1 Reply Last reply
                                0
                                • K Kevin McFarlane

                                  I did VB .NET for over a year after formerly doing C#. Now I'm back to C# again. To be honest, despite the many complaints you read on CP about the syntax, I find the most irritating thing about it is the poor IDE code editing integration especially in VS 2005 re: intellisense and code snippets - and one or two other things. I don't know whether VS 2008 has improved in this respect.

                                  Kevin

                                  F Offline
                                  F Offline
                                  fredsparkle
                                  wrote on last edited by
                                  #20

                                  I also perfer to code and do initial debuging in C# if I am using .net interfaces. Though since the majority of our bread and butter product is in C++ I use tangible sofware solutions converters to move it to the target language. There are things that do not translate but you learn to work around them. Your mileage will vary but I think their C# to VB converter does a better job then the C++ one.

                                  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