VB vs. C#

Published Mon, Oct 22 2007 9:12 | William

As I've said 1,000 times and will say 1,000 times more, C# is just better than VB.NET - it's that simple.  No, really, it is.  Now, you may be calling me a hypocrite b/c of all the times I said "VB.NET vs. C# arguments are moronic. Few people know the freaking framework well enough to give them the right to talk smack and the few differences between the languages aren't worth a cup of copy. Only idiots argue over that.".  But I'm not being hypocritical at all.  After all, I absolutely believe that sentence 100%. Most of the people that get steamed over language debates are the same folks just dying for an identity that they have nothing else to define themselves by.  In highschool, they argued over Nike vs Reebok.  If they couldn't graduate from high school, they debated about Ford vs Chevy (just kidding). In  college they argued about Linux vs Windows (although they typically knew neither well enough to warrant an informed opinion). Now they argue about this.

 Well, as you know, I'm never wrong and my opinions are 100% perfect. And I'm here to tell you, C# is just better.  Does it have features VB.NET doesn't?  One important one but VB.NET has some that C# lacks so that's a draw.  is it easier to write and code? No, unless you already know C style languages. Does it perform better than VB.NET?  Not unless your competing against someone who turns off Option Strict (must resist temptation to take cheap shot at person who tried to get me kicked out of the MVP program over and over, must resist, must resist).

So why is it better?  Simple. C# guys don't have chips on their shoulders.  not sure what it is, but I have yet to hear a C# guy whining about being treated like a second class citizen.  Now, compare that to a VB6 guy when VB came out. "OMG, you mean I can't use Variant?  What am i going to do? Help, get me a petition!"  But they bit the bullet. Then it started "Wahhh, Can you send me your code samples in VB.NET, you only wrote it in C# and you should realize that not everyone knows C#".  But it didn't stop there. "Microsoft doesn't love us, all their code samples are in C#.  And people act like we're not as smart b/c we use VB.NET". This snivelling cause some sort of brain damage and causes otherwise smart people to say really dumb things .  This is, as opposed to otherwise moronic former Klansmen that say really dumb things.

There's just something about MustOverride or End IF that brings out the wuss in folks - because even many though guys I know become snivelling weenies after an hour with VB.NET.  Although I don't have scientific evidence to support it, putting a semicolon on the end of each line forces you to strap a set on and each semicolon tightens up the bolts (yes, I'm aware nuts would have made a very good pun, but I hate that type of humor).  I mean, rumor has it that VB10 Professional is going to include a box of feminine napkins and estrogen treatments for any guy that buys it, as an incentive.  Well, not really , but you'd think so coming from all the whining many VB.NETTers engage in.

Ok, so that's not good enough for you?  What about this?  I use it.  There! 

 My advice to hard core VB.NET guys who don't like the lack of respect... I'd go out and spend 10 minutes on google. i'd collect a whole slew of crap C# code (trust me, there's mountains of it). Every time someone got cocky about C# with me, I'd copy a piece of it and say "You mean, if I used C# it would make me a better programmer, and help me write better and cleaner code - and stop me from doing dumb things - like this....?"  Seriously folks, the only thing dumber than arguing C# vs VB.NET is whining about your treatment. That's b/c it assumes that at some level you buy into the whole thing.   I need to find it but a few years ago, some C# dude got a little huffy with Carl Franklin and Carl decided to set him straight - if I can find his link I'll post it.  Suffice to say that Carl (the VB.NET advocate here) was *not* the one looking stupid at the end of the discussion. That's b/c he knows his stuff and knows that there's just too many evidence based examples to counter with.

-----

On a related note...  I've had many dealings with Bill McCarthy. He's jumped my a55 many times and like all Irish hotheads named Bill, he can't be very quick  on the tr*gg*r . He clearly made a poor decision on his choice of words.  But seriously man, the lynching that's going on is unreal.  Bill isn't a racist and anyone that knows him, particularly from the Coffeehouse knows that.  Christ, he's one of the most PC Sob's you'll run across.  He's not a racist and he didn't mean it the way it came out.  May I point out that while he's definitely spent some time in the U.S., he's uhhh, not from here and doesn't live here. Someone from a different country is a lot less likely to have the understanding of certain words, such as that one.  If Bill actually meant it the way it came out, I'd be the first to call him an a-hole for doing it, name calling of that sort is completely uncool and i have very little tolerance for such things .  But seriously, read through his stuff, ask people that know him , particularly from the Coffeehouse, Bill is a lot of things but a racist isn't one of them.

Now, you'll forgive me while I go off and goad my homie Chris about VB.NET vs C#

 

Comments

# Theo said on October 22, 2007 10:53 AM:

I dunno, Bill. I've been working in C# for the past several weeks, and while I don't mind it stylistically I still prefer VB. I mean, I don't know that one is especially better than the other overall. I just prefer VB because that's the world in which I grew up progrmmatically. We all had to make some serious changes (as you point out) when .Net came out, and I don't really think that was a bad thing.

I agree that the debate is pointless, and as such I don't particpate except in fun. However, I think there might some truth to the statement that VB gets a slightly less robust support from MS. I mean, XNA is C# only, but why? Things like that are why I started getting better at C# in the first place.

As to the post Mr. McCarthy wrote, I understand what he's saying, and I think the reaction to his choice of words is ridiculous. He didn't refer to anyone in a negative fashion; he referred to an inanimate object (VB)  in that fashion. It was clearly an attempt to illustrate to what degree he feels VB is treated badly. I really dislike the fact our culture has decide there are simply words one cannot ever say. Pity, that, thinks I. Imagine what words will one day be disallowed.....

# Aaron Erickson said on October 22, 2007 11:23 AM:

I have a hard enough time defending C# against the Rubyists and dynamic language weenies who suggest that anything that *allows* static typing is... soooooo 2005.  I can't imagine trying to defend VB!

Doing VB these days is a little like wearing white after labor day, almost somewhat of a technical fashion faux pas, despite that it's utility as a language.  You may like it or dislike it, but as a consultant, I have bills to pay :)

As for calling it the N of programming languages, perhaps he meant Naggers (see South Park, Season 11, Episode 1).

# William said on October 22, 2007 2:07 PM:

Theo:  Your points are 100% valid.  I just like writing C# is better b/c it gets indexed and I get people blowing gaskets about it.  C# no doubt gets more love, however I don't know if I'm going to go all bat sh1t about it saying it's that big of a difference.  When's the last time you got to use C# in Reporting Services or Integration Services.  I might have missed it, but Bill didn't make much mention of the many examples that contradict his thesis. That said, he's not wrong that there is more C# love.  But, and i don't have data either way, my suspicion is that it's because largely the market has embraced C# more.  I honestly don't know though - so that's purely conjecture.  In general though, having worked with MS quite a bit, they don't sit around and think about ways to kill adoption and piss of their users.  Often, decisions that piss people off are usually driven by tradeoffs they have to make given x amount of time and y amount of resources.  Sure, marketing steps in and does really stupid things a lot that angers people, but that's a different issue.

Truth is, I can only dream of being such a good coder that my real limitations are based on Vb or C#.  Right now, my limitations are all driven by some big fat goofy guy named Bill.

One your point about the language.  I hate that certain words are treated like that too.  I do however realize that some words more than others, and one word in particular, has been the source of a lot of pain and anguish and I'm just as well to forget it exists. Sure, it's a double standard - imagine gangsta rap that had African-American replace the N word.  I certainly think there are some opportunists that make their livelihood by hopping all over use of that word while totally overlooking much more serious issues. But that IMHO, doesn't make it ok for me to use.  I also think people should be allowed to use it - but personally, I'd have a really hard time mustering an ounce of respect for folks that use it as a slur against others.  Clearly Bill M didn't do that. Clearly he didn't call anyone that. Clearly he wasn't trying to make a racial statement. It was clumsy as hell on his part, but like I said, McCarthy is a lot of things but a racist ain't one of them.

# William said on October 22, 2007 2:10 PM:

I don't get the Rubyists and Dynamic language weenies either.  Mainly b/c I love Ruby and Love dynamic language and for the life of me don't see why it's turned into such a  religious war. And just like I'd say about other languages, I've seen more than my share of gawdawful Ruby code. It's not Ruby's fault some people don't know how to program with it, no more than it's Microsoft's fault people misuse their stuff.  A few weeks ago in fact, I heard a guy make a snide crack about IIS saying "What do you expect, it's a Microsoft product'.  his company produces more bugs than working code and he in particular can't write 15 lines of code without a hack, but b/c he's using Open Source stuff, he thinks he's got room to talk about products that are way better than anything him or his company have ever written. Some folks need to make comments like that to make themselves feel good I guess ;-)

# people » VB vs. C# said on October 23, 2007 2:39 AM:

Pingback from  people » VB vs. C#

# Theo said on October 23, 2007 10:44 AM:

Well, that's a good point. Most of my limitations are definitely the fault of a similar fat guy...his name is Theo, of course.

However, I maintain there aren't any really terribly significant gains to be made by using C# exclusively.

My only other problem is some of the clear snobbery that I have experienced. Recently a gig at work came up, but I was told the head dev on the project was really hard *** about VB being "crap". Sure enough, it's a CSLA based thick client application...something I'd spent the last 6 months on. They are short two devs, but it was felt the learning curve was "too steep" for me. Now, admittedly, there were some other things involved (the codegen they were using, etc.), but I can't help but feel the sting of a C# person talking down to me because I am historically VB person. This is the other part of my reason for pursuing C# so ardently.

# Chris Williams said on October 23, 2007 10:51 AM:

ok, seriously?  You want to go there with me?  *sigh*

Search

This Blog

Tags

Community

Archives

News

My other sites

Cool Stuff

Book Stuff

Security

ORM

Data Access

Funny Stuff

Compact Framework Stuff

Web Casts

My KnowledgeBase Articles

My MVP Profile

Design Patterns

Performance

Debugging

Remoting

My Fellow Authors

My Books

LINQ

Misc

Speech

Syndication

Email Notifications