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 newbies should pick C# over VB!

Why newbies should pick C# over VB!

Scheduled Pinned Locked Moved The Lounge
csharpphpcom
51 Posts 26 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.
  • D DanielDyson

    My main reson for recommending C# over VB is one of culture. When .NET first arrived those who went into C# tended to come from the advanced worlds of Java, Delphi and C++. Those who went to VB.NET tended to be those used to using VB. At the risk of offending some people, there were a lot of VB programmers who were inexperienced, not formally trained, or even informally trained for that matter. In a way that was what was great about VB. Anyone could do it. So you got bob the accountant upstairs hacking together a quick VB app, and I think my step mother threw something together in VB once. As I say. Anyone could do. This could not be said for C++, Java or Delphi. People from those worlds just tended to be more professional because they were generally professional programmers. So on the whole, VB programmers are unprofessional hackers and C# programmers are experienced, professional, seasoned coding gods. Who would you want to learn from?

    A Offline
    A Offline
    Alan Burkhart
    wrote on last edited by
    #33

    DanielDyson wrote:

    So on the whole, VB programmers are unprofessional hackers and C# programmers are experienced, professional, seasoned coding gods.

    Gods? Why don't you go ahead and replace your office chair with a golden throne while you're at it. As one who codes strictly as a diversion (I'm not a "professional" programmer), I enjoy VB. I started out with BASIC back in the '80s and when I downloaded VS 2003 VB seemed like a natural choice. It's an easy language to learn and also quite a capable language. If one wishes to advance from VB to a more powerful language, one should skip C# entirely and move to C++. I say this because VB can do just about anything C# can do. Switching from VB to C# simply means you have to learn a new syntax without any significant gains in the capability of the language. If I find myself in the mood for curly braces and semi-colons, I'll go write some Javascript. :)

    Everybody SHUT UP until I finish my coffee...

    D K 2 Replies Last reply
    0
    • A Alan Burkhart

      DanielDyson wrote:

      So on the whole, VB programmers are unprofessional hackers and C# programmers are experienced, professional, seasoned coding gods.

      Gods? Why don't you go ahead and replace your office chair with a golden throne while you're at it. As one who codes strictly as a diversion (I'm not a "professional" programmer), I enjoy VB. I started out with BASIC back in the '80s and when I downloaded VS 2003 VB seemed like a natural choice. It's an easy language to learn and also quite a capable language. If one wishes to advance from VB to a more powerful language, one should skip C# entirely and move to C++. I say this because VB can do just about anything C# can do. Switching from VB to C# simply means you have to learn a new syntax without any significant gains in the capability of the language. If I find myself in the mood for curly braces and semi-colons, I'll go write some Javascript. :)

      Everybody SHUT UP until I finish my coffee...

      D Offline
      D Offline
      DanielDyson
      wrote on last edited by
      #34

      hehe! I thought my post might get such a response. I didn't suggest "Switching from VB to C#". The question was simply about what a complete beginner should start with. Now. With the benefit of hindsight.

      A 1 Reply Last reply
      0
      • L Lost User

        DanielDyson wrote:

        So on the whole, VB programmers are unprofessional hackers and C# programmers are experienced, professional, seasoned coding gods.

        Ehh ... I can't say I agree with that. There are other reasons why a developer might go to VB. For example: I wrote C/C++/ASM/FORTRAN for 20 years writing everything from device drivers to O/S multitasking executives to applications. Then I took a position where I needed to develop applications code to run in the Windows environment. As it turned out, VB gave me a breather from having to deal with the low-level details of screen control, hardware interrupts and the like. I was able to focus strictly on the prototyping and actual development of the Windows client application and leave the low-level alone for a change. VB was an excellent tool for an experienced developer like myself to use in a transition from low-level coding to applications layer in Windows. I used VB, then VB.Net for close to 12 years. Our core business logic is written in VB.Net. I assure you, it ain't simpleton code; we have clients with 10,000 employees who's paychecks depend on the accuracy of a very complex system written in that code. I make six figures maintaining that code base. As a 35-year veteran of programming I wouldn't consider myself an "unprofessional hacker". Neither do the people I've been employed with. I know you were speaking in generalities here but to generalize that any professional is a "hacker" based on his choice of tools is immature and completely out-of-line, IMHO. -Max

        D Offline
        D Offline
        DanielDyson
        wrote on last edited by
        #35

        Hi Max I meant no disrespect to you individually. There are a lot of well seasoned VB professionals out there. I just believe that proportionaly, there are more good C# programmers and more poor VB programmers. Clearly you are not one of the later,and when you chose VB you were already an experienced programmer. Going back to the original post, I still believe that a newbie should start with C#, unless they have the good fortune to land a job learning from the likes of yourself, in which case they probably wouldn't have a choice anyway. But given the choice... -Dan

        L 1 Reply Last reply
        0
        • D DanielDyson

          Hi Max I meant no disrespect to you individually. There are a lot of well seasoned VB professionals out there. I just believe that proportionaly, there are more good C# programmers and more poor VB programmers. Clearly you are not one of the later,and when you chose VB you were already an experienced programmer. Going back to the original post, I still believe that a newbie should start with C#, unless they have the good fortune to land a job learning from the likes of yourself, in which case they probably wouldn't have a choice anyway. But given the choice... -Dan

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

          Dan, No problem - I wasn't upset, I just felt that generalization was pushing it a bit. I agree - if someone is just starting out, particularly with .Net, C# would be a better bet. I was resistive to switching to it a year or two ago myself having gotten used to VB (in both flavors). However I started developing my own product and decided to educate myself on C# (having written C for many years) to see if I was missing anything. I bought several professional books geared for VS2008 in C# to "force" myself to work with it. I'm glad I did. My new code is far more concise than it might have been with VB.Net. Since "converting" to C# I seem to now be able to conceptualize OO concepts a bit easier. It's not that you "can't" do same in VB.Net (I have, in fact when modifying our legacy code) - the C# syntax just "speaks" it better if that makes any sense. So, I generally agree with the thread topic. Thanks, -Max :D

          K 1 Reply Last reply
          0
          • D DanielDyson

            hehe! I thought my post might get such a response. I didn't suggest "Switching from VB to C#". The question was simply about what a complete beginner should start with. Now. With the benefit of hindsight.

            A Offline
            A Offline
            Alan Burkhart
            wrote on last edited by
            #37

            DanielDyson wrote:

            hehe! I thought my post might get such a response.

            I figured you were just fishing for a response, so I thought I'd make sure you at least got a bite. All in good fun. I've been content with VB for a long time. Were I to pursue employment as a programmer, I'd probably download C# and spend a month frying my brain to learn it. Not because it's all that much better than VB, but because it's come to be an expected part of a programmer's resume. MS clearly states on their VS website that VB is for new or casual programmers. I fit neatly in the casual category. Aside from the occasional upload to CP, my projects [^] rarely leave my hard drive. By the way, the pawn shop here in town is running a special on royal scepters. Want me to send some pics for your perusal? :laugh:

            Everybody SHUT UP until I finish my coffee...

            D 1 Reply Last reply
            0
            • R realJSOP

              It's a simple (and free) matter to convert from C# to VB... I answer some questions the way you described, not because I don't know the VB syntax, but becauise it's faster to provide the answer in terms of C# because that's just the way I think. Since .Net is .Net regardless of the language, and if the questioner wants to do the conversion work, the answer is there.

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

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

              And if they don't want to do the conversion work, the second word is " 'em ". First not KSF.

              1 Reply Last reply
              0
              • R realJSOP

                Dan Neely wrote:

                It's generally trivial for an experienced dev to do the conversion; but newbies aren't experienced and generally don't know the available tools. Besides which, if it really was that easy, why don't you do it for them

                Because I don't want to look like I'm advocating the continued use of VB.

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

                P Offline
                P Offline
                programmervb netc
                wrote on last edited by
                #39

                There is nothing wrong with VB.NET and I said VB.NET as a language the problem lies in the fact that so many VB6 developers converted to it and don't know what they are doing. Personally I love both C# and VB.NET and hate VB6 with a passion. Humble Programmer

                1 Reply Last reply
                0
                • A Alan Burkhart

                  DanielDyson wrote:

                  hehe! I thought my post might get such a response.

                  I figured you were just fishing for a response, so I thought I'd make sure you at least got a bite. All in good fun. I've been content with VB for a long time. Were I to pursue employment as a programmer, I'd probably download C# and spend a month frying my brain to learn it. Not because it's all that much better than VB, but because it's come to be an expected part of a programmer's resume. MS clearly states on their VS website that VB is for new or casual programmers. I fit neatly in the casual category. Aside from the occasional upload to CP, my projects [^] rarely leave my hard drive. By the way, the pawn shop here in town is running a special on royal scepters. Want me to send some pics for your perusal? :laugh:

                  Everybody SHUT UP until I finish my coffee...

                  D Offline
                  D Offline
                  DanielDyson
                  wrote on last edited by
                  #40

                  lmao. That's ok, I used my omnipresence to check them out already.

                  A 1 Reply Last reply
                  0
                  • D DanielDyson

                    lmao. That's ok, I used my omnipresence to check them out already.

                    A Offline
                    A Offline
                    Alan Burkhart
                    wrote on last edited by
                    #41

                    DanielDyson wrote:

                    lmao. That's ok, I used my omnipresence to check them out already.

                    Private Sub CheckScepters() Handles Btn_SceptChk.Click
                    For Each s As Scepter In PawnShop.Scepters
                    Dim bmp as New Bitmap(s.Image)
                    Microsoft.VisualBasic.GodlyFunctions.SendToCP(bmp)
                    Next
                    End Sub

                    See how easy it is with VB? :cool:

                    Everybody SHUT UP until I finish my coffee...

                    1 Reply Last reply
                    0
                    • N Nemanja Trifunovic

                      All differences in the languages aside (are there any ;P ), the main reason to pick C# for .NET development is that C# is the .NET language. All other languages may be dropped down the road, but C# will be alive as long as .NET is alive. BCL itself is written in C#, and Microsoft is using C# in some of its products (mostly servers). It is not going away. The same goes for Java on JVM. There are much nicer JVM languages than Java (Scala, Clojure, Fantom, ...) but Java is the JVM language and picking anything else for JVM development is an unnecessary risk.

                      utf8-cpp

                      K Offline
                      K Offline
                      KP Lee
                      wrote on last edited by
                      #42

                      Nemanja Trifunovic wrote:

                      All differences in the languages aside (are there any

                      There is one major one I can think of. I did an integer divide in VB.NET and started swearing at the language because it rounded up. That was before I found out you have to use a special divide symbol a=2/3 (a is 1) a=2\3 (a, like every other right thinking language is 0) The only other difference I've found is syntax. That, of course is major. PS I have to raise my hand at sometimes trying to help in VB.NET when I don't belong there either. (Definitely not, as an expert.)

                      1 Reply Last reply
                      0
                      • L Lost User

                        VuNic wrote:

                        A more straight foward reason to avoid VB is, we should avoid VB.

                        Aside from sounding like a language bigot, could you elaborate? Why? As I said in an earlier post it's probably best to start off as a C# developer if you don't already have VB experience, perhaps, but I wouldn't be dogmatic about it. Both of the languages work fine. -Max

                        K Offline
                        K Offline
                        KP Lee
                        wrote on last edited by
                        #43

                        Max Peck wrote:

                        Aside from sounding like a language bigot

                        I can't think of a reason why. Both languages compile into MSIL. Their performance stats are declared to be the same and when I converted from VB.NET to C# one set of code and ran it, they had a difference in seconds. (Using code that ran in minutes and running twice in the same code produced the same differences in performance.)

                        1 Reply Last reply
                        0
                        • L Lost User

                          Dan, No problem - I wasn't upset, I just felt that generalization was pushing it a bit. I agree - if someone is just starting out, particularly with .Net, C# would be a better bet. I was resistive to switching to it a year or two ago myself having gotten used to VB (in both flavors). However I started developing my own product and decided to educate myself on C# (having written C for many years) to see if I was missing anything. I bought several professional books geared for VS2008 in C# to "force" myself to work with it. I'm glad I did. My new code is far more concise than it might have been with VB.Net. Since "converting" to C# I seem to now be able to conceptualize OO concepts a bit easier. It's not that you "can't" do same in VB.Net (I have, in fact when modifying our legacy code) - the C# syntax just "speaks" it better if that makes any sense. So, I generally agree with the thread topic. Thanks, -Max :D

                          K Offline
                          K Offline
                          KP Lee
                          wrote on last edited by
                          #44

                          Wow, a good way of describing the differences between VB.NET and C#! I didn't see it myself because I first learned C# and then VB.NET. (First knowing FORTRAN, COBOL, PLI, REXX, CLIST, etc. Then starting to learn C++.) I also knew VB.NET was cludged together from VB script which wasn't OO oriented and typeless, so I ignored the fact that the OO part of VB.NET was nearly hidden.

                          1 Reply Last reply
                          0
                          • R realJSOP

                            Dan Neely wrote:

                            It's generally trivial for an experienced dev to do the conversion; but newbies aren't experienced and generally don't know the available tools. Besides which, if it really was that easy, why don't you do it for them

                            Because I don't want to look like I'm advocating the continued use of VB.

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

                            T Offline
                            T Offline
                            TheRegan
                            wrote on last edited by
                            #45

                            Well said!

                            1 Reply Last reply
                            0
                            • A Alan Burkhart

                              DanielDyson wrote:

                              So on the whole, VB programmers are unprofessional hackers and C# programmers are experienced, professional, seasoned coding gods.

                              Gods? Why don't you go ahead and replace your office chair with a golden throne while you're at it. As one who codes strictly as a diversion (I'm not a "professional" programmer), I enjoy VB. I started out with BASIC back in the '80s and when I downloaded VS 2003 VB seemed like a natural choice. It's an easy language to learn and also quite a capable language. If one wishes to advance from VB to a more powerful language, one should skip C# entirely and move to C++. I say this because VB can do just about anything C# can do. Switching from VB to C# simply means you have to learn a new syntax without any significant gains in the capability of the language. If I find myself in the mood for curly braces and semi-colons, I'll go write some Javascript. :)

                              Everybody SHUT UP until I finish my coffee...

                              K Offline
                              K Offline
                              KP Lee
                              wrote on last edited by
                              #46

                              Why not skip C++ and go directly to assembler or machine language?

                              A 1 Reply Last reply
                              0
                              • K KP Lee

                                Why not skip C++ and go directly to assembler or machine language?

                                A Offline
                                A Offline
                                Alan Burkhart
                                wrote on last edited by
                                #47

                                KP Lee wrote:

                                Why not skip C++ and go directly to assembler or machine language?

                                Back during the Dark Ages, I tried learning Assembly on my trusty old TRS-80. After about a week I did in fact manage to put a dot in the middle of the screen.

                                Everybody SHUT UP until I finish my coffee...

                                K 1 Reply Last reply
                                0
                                • N Nish Nishant

                                  Here's a very good reason for newbies to use C# as opposed to VB.NET. When you ask questions in a forum, you'll find that there are more people answering questions who are familiar with C# than there are VB guys. And while this is potentially a controversial thing to say, the typical C# developer who's answering questions is bound to give better and more accurate answers than the typical VB developer. Note how I said typical - there are several bad C# devs answering questions too, although percentage wise, there are many more bad VB answerers. What prompted this post is that I've frequently seen VB questions taking longer to get answered because most of the guys answering there don't know VB syntax. Or sometimes the guy answering has to prefix his answer with, "I don't really know VB syntax, but in C# you can do it this way, and hopefully you can convert that to VB..."

                                  Regards, Nish


                                  Latest article: Code Project Posts Analyzer for Windows Phone 7 My technology blog: voidnish.wordpress.com

                                  C Offline
                                  C Offline
                                  chaq686
                                  wrote on last edited by
                                  #48

                                  Because C# is similar to Java. So if newbies get C#, java would be a piece of cake in a near future. Don't get me wrong, VB is very useful when user has to do or use some scripts or macros on office, and can make your life easier. But if you are developing a new software C# is better, because its syntax is less complicated.

                                  1 Reply Last reply
                                  0
                                  • A Alan Burkhart

                                    KP Lee wrote:

                                    Why not skip C++ and go directly to assembler or machine language?

                                    Back during the Dark Ages, I tried learning Assembly on my trusty old TRS-80. After about a week I did in fact manage to put a dot in the middle of the screen.

                                    Everybody SHUT UP until I finish my coffee...

                                    K Offline
                                    K Offline
                                    KP Lee
                                    wrote on last edited by
                                    #49

                                    Alan Burkhart wrote:

                                    Dark Ages, ... trusty old TRS-80

                                    Wow, if that is the dark ages, would 1973 be the stone age? I could create a dot then too. Just ask the computer to command the printer to print "." :laugh: (I know, the dot you are talking about is a graphical image on a screen.) In '73 you didn't combine the word "computer" with "graph" or "screen". In '73, a screen was 20 foot by 30 foot in a movie theater.

                                    A 1 Reply Last reply
                                    0
                                    • K KP Lee

                                      Alan Burkhart wrote:

                                      Dark Ages, ... trusty old TRS-80

                                      Wow, if that is the dark ages, would 1973 be the stone age? I could create a dot then too. Just ask the computer to command the printer to print "." :laugh: (I know, the dot you are talking about is a graphical image on a screen.) In '73 you didn't combine the word "computer" with "graph" or "screen". In '73, a screen was 20 foot by 30 foot in a movie theater.

                                      A Offline
                                      A Offline
                                      Alan Burkhart
                                      wrote on last edited by
                                      #50

                                      Sometimes I miss those days. Home/small business computing was fresh and new. Different operating systems vying for a place in the future. Many people scoffed at the new "IBM PC" and said it'd never make it. I was stubborn for a time, writing viable (at the time) applications for the TRS-80. I finally saw the handwriting on the wall and switched to a DOS machine. That was the only time I ever programmed for a living. And I don't care what anyone else says about them - in its time, the old TRS-80 was a pretty darn good computer.

                                      Everybody SHUT UP until I finish my coffee...

                                      1 Reply Last reply
                                      0
                                      • N Nish Nishant

                                        Here's a very good reason for newbies to use C# as opposed to VB.NET. When you ask questions in a forum, you'll find that there are more people answering questions who are familiar with C# than there are VB guys. And while this is potentially a controversial thing to say, the typical C# developer who's answering questions is bound to give better and more accurate answers than the typical VB developer. Note how I said typical - there are several bad C# devs answering questions too, although percentage wise, there are many more bad VB answerers. What prompted this post is that I've frequently seen VB questions taking longer to get answered because most of the guys answering there don't know VB syntax. Or sometimes the guy answering has to prefix his answer with, "I don't really know VB syntax, but in C# you can do it this way, and hopefully you can convert that to VB..."

                                        Regards, Nish


                                        Latest article: Code Project Posts Analyzer for Windows Phone 7 My technology blog: voidnish.wordpress.com

                                        X Offline
                                        X Offline
                                        XDotNet
                                        wrote on last edited by
                                        #51

                                        Actually, i've learned more by doing C# to VB conversions. Instead of copy/pasting code, i've had to really understand what the code was doing to re-create it in VB.

                                        A Cup empty of myself.

                                        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