C# vs VB .NET - As far as I'm concerned, the debate is now *over*
I've ummed and ahhed about the whole C# vs VB .NET thing since first getting into .NET. Although I have a C/C++ background, I moved into VB when working on DNA applications. When moving to .NET, I figured I'd stick with VB .NET. As far as I was concerned, the tools were as good as each other.
Well, there is one problem with VB .NET, although it's really more of a VB .NET and VS .NET "compatibility" problem. When working on VB .NET projects, VS .NET will scan your code to look for errors. On bigger projects, this leads to unreasonable slowdowns of the environment. This bug, although I whinged to Microsoft about it during the Everett beta is till in Everett, so I've been recommending to my clients for a while now that they go with C#.
Thanks to Jonathan Goodyear, I discovered something *very* disturbing. In his blog article "VB .NET Inferiority Complex - My Theory Validated", he pointed me in the direction of a survey that Visual Studio magazine ran of developer salaries in the US.
Here's some data:
C# developer: $98,813
VB .NET developer: $72,959
VB *6* developer: $72,461
I'm *SORRY*!?!? Are you telling me in the US that VB .NET and VB 6 developers have PAY PARITY? I'm based in the UK, so I treat the US as a good indicator of where the market is going to go, and what I'm seeing here tells me that any .NET developer working in VB .NET is making a *BIG MISTAKE*.
It's damn clear that VB .NET developers in the US aren't being rewarded for their efforts.
(For those reading this before my keynote at the .NET X Summer Conference tomorrow, apologies, because I've just spoiled it for you!)
There's an article on Visual Studio Magazine here about why C# developers earn more.