Why newbies should pick C# over VB!
-
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 instead of making questionable assumptions about the noobs ability?
3x12=36 2x12=24 1x12=12 0x12=18
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 -
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
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.
-
Okay, there's two of us now - we need an union or at least a club now!
Regards, Nish
Latest article: Code Project Posts Analyzer for Windows Phone 7 My technology blog: voidnish.wordpress.com
See my post. Make it three.
The funniest thing about this particular signature is that by the time you realise it doesn't say anything it's too late to stop reading it. My latest tip/trick
-
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.
Agree, although I don't see VB going away in the next 6-7 years.
Regards, Nish
Latest article: Code Project Posts Analyzer for Windows Phone 7 My technology blog: voidnish.wordpress.com
-
See my post. Make it three.
The funniest thing about this particular signature is that by the time you realise it doesn't say anything it's too late to stop reading it. My latest tip/trick
Wow, we are almost a registered organization now!
Regards, Nish
Latest article: Code Project Posts Analyzer for Windows Phone 7 My technology blog: voidnish.wordpress.com
-
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.
Nemanja Trifunovic wrote:
BCL itself is written in C#
Really? How'd you find that out?
-
Nemanja Trifunovic wrote:
BCL itself is written in C#
Really? How'd you find that out?
-
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
-
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
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?
-
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, 1997Agreed!
-
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
Another good reason is not to start with VB is because it makes more likely to develop bad habits and practices that are later hard to get rid of. I say this as my own experience.
-
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
Most likely because the vb.net folks have already been productive, completed their projects and are on vacation before deciding what to do next. Meanwhile, the C#ers are still searching for curly braces and brackets in their own code so many of you come out of the closet at a prearranged time to see how others manage. As with any new language either spoken or written you will find there is alwyas a learning curve before you can ask a reasonably good question that actually makes sense. Inexperience is far more noticeable by looking at thread lengths and source code comments. C#ers drag it out with recursive banter while vbers get it right the first time. Lastly, except for semicolons, C# comments can often be converted directly into vb code. Pure simplicity by design.
Dwayne J. Baldwin
-
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?
-
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.
Sorry my friend... But if I have to think that I shouldn't use something because it could be discontinued then I'll have to throw away my car, my laptop, my celphone, because all of them will be gone at some point. Anyway Microsoft will never drop VB because it's the languaje that they really created. All others are copies from Perl and Java. Most programers prefer using C# because it's different from Microsoft and it's possible to use it in UNIX enviroments. I know very well VB, C#, JAVA and some other languajes and that let me choice which is the best for each project. A newbie should start with VB because it's easier to learn adn understand. Then start learning C# and from there any other languaje will be a piece of cake. Remember that what matters for a good programer is the logics, not the languaje.
-
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
I was a VB dev when 90% of the MSDN examples were in C++ (I translated the ones I needed to VB). Then .NET came along and MSDN did a paradigm shift and 90% of the MSDN examples were suddenly in C# (I translated the ones I needed to VB). Nowadays things are better for the VB guys, nearly all MSDN examples are in VB, C#, and C++. Just over a year ago I became a C# dev. I had learned it mostly through converting C# MSDN examples to VB (which I was working in at the time), and the new project I had been transferred to was in C#. The shift was, for me, pretty natural and comfortable. The syntax differences between VB and C# are relatively minimal. I do personally like the succinctness of the C# syntax (VB has a pretty verbose syntax). But what you need to realize from the perspective of a programming nOOb is that BASIC (Beginner's All-purpose Symbolic Instruction Code) was specifically designed (at Dartmouth College in 1964 - which makes it 7 years older than C) from the ground up as a tool for teaching the principles of computer programming to non-science/non-mathematics students (hence its verbose syntax). Remember that Microsoft's very first product, before Windows and MS-DOS, was BASIC. That being said, C++ was Microsoft's darling for years (following Pascal which they used to write the first versions of Windows - hence the pascal parameter passing convention which still survives in Windows APIs), when C# came along it became the new darling, and VB has been the red-headed stepchild. Early versions of VB in .NET were not quite as capable as C#. There were things (not many, but some) that you could do in C# that were significantly more difficult, if not impossible in VB. The early C# compiler even created more efficient MISL code than the VB compiler. Since Visual Studio 2005 all of that has changed. There is currently nothing that can be done in C# that can't also be done in VB, the compilers produce equivalent MISL, VB has finally become a full fledged member of the Microsoft development family (again). Although, at this point, I personally prefer C#, I believe that from the perspective of someone making their first foray into programming, you would be hard pressed to find a more suitable language than VB. Due to its verbose nature it is relatively easy to learn, it is currently as powerful as C#, and once the basics of good programming and principles of good design are learned, the transition to other languages (especially .NET ones) is relatively trivial.
Kevin Rucker, Applic
-
True... I used to be primarily a VB developer, but once I moved to C# in the CLR 1.0 days, I never looked back. So I know the VB syntax, for the most part, but I moved to C# before I started using generics, and long before LINQ came along and added anonymous methods... So I still have to do a translation in my head when trying to describe anything complex.
Proud to have finally moved to the A-Ark. Which one are you in?
Author of the Guardians Saga (Sci-Fi/Fantasy novels)In my case, I know both really well because SQL Server 2005's SSIS script tasks only support VB. I always take a shower afterward, though, so it's OK. I'm not contagious.
-
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
The simple reason is because people will respect you if you choose C#. I've seen too many VB developers write terrible programs where they treat everything as an object. You average C# developer knows a little or a lot about what goes on under the hood of .Net, your average VB developer doesn't.
-
Agree, although I don't see VB going away in the next 6-7 years.
Regards, Nish
Latest article: Code Project Posts Analyzer for Windows Phone 7 My technology blog: voidnish.wordpress.com
Although I too have switched to C# from VB.Net (for anything new) I don't see either of them going away at all. Everybody always seems worried about this kind of thing. Just use the tool you like best and let it be, eh? Microsoft has shown absolutely no evidence (that I can see anyway) that it plans to deprecate VB.Net, there's too big a user community behind it. Since it's .Net it's not going to be left behind the same way VB6 was. Even there notice how long VB6 has hung on. Heck ... we still have a bunch of subsystems in our product based on it and they just ain't going to get converted, there's no business case for that. The core intelligence in our product is also in VB.Net. I'd love to rewrite it in C# (to get the old VB legacy techniques out of it if nothing else) but that just ain't going to happen. I suspect we're not alone. However ... lest I be painted as being "off-topic" - I agree, a developer just entering .Net would probably be better served by learning C# than he would VB.Net if he isn't already a VB experienced coder or doesn't have to worry about maintaining a large base of VB code as I do. After converting myself I discovered that I was able to think more clearly in OO under C# than I could VB - maybe because the syntax seems better suited to it (?). It might also be that before I spent 10+ years in VB that I coded for 20 years in C. I always did like C syntax - it seems more powerful or, maybe, more expressive perhaps. -Max :D
modified on Tuesday, February 8, 2011 11:27 AM
-
A more straight foward reason to avoid VB is, we should avoid VB.
Starting to think people post kid pics in their profiles because that was the last time they were cute - Jeremy.
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
-
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?
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