I will probably get myself in trouble with this post, but a recent ARCast just irritated me like walking through poison ivy in a pair of swimming trunks. C# or VB.NET. The battle rages on. I will say that I prefer C#, but I spend a lot of time writing VB for clients who have that as their standard.
In the podcast Ron's guest Bill McCarthy talks about how great VB.NET is. The funny thing is that what he points out as its strong points are exactly what I dislike about VB. Specifically things like the Handles and Implements keywords. Where he finds that it makes the code more readable I find that it causes me to type things that I already know about the class.
The other point he makes is the My namespace. While he contends that it makes coding more efficient I think in some cases it may put blinders on some developers. Mr. McCarthy says that very few people need to worry about performance these days, the important thing is getting the job done. I completely disagree on this. The majority of problems that I have run into over that past five years have been performance related. To solve these issues you need to know more than just the most commonly used classes and methods contained in the My namespace. You need to be aware that the framework has much more to offer.
One thing that really almost made me heave up my lunch was when he said that it is easier for VB developers to pick up C# then the other way around. I have been mentoring developers in .NET since it was still in beta. Of all the developers that I have worked with the VB developers have been the hardest to get to understand development concepts. Now this is not a reflection of the language as much as some of the people it attracts. The very thing that is touted as VB's strength is also its weakness. Ease of entry allows more people to use the language but with greater numbers also comes a larger amount of flotsam. While it isn't a reason to ditch VB and pick up C#, C-like languages have always had more to learn which I think means at the end only the most serious developers remain.
Ultimately a good developer can write good code in any language. Every language has its place. Heck, even COBOL does a specific job very well. My gripe is with people who think that their language actually is better than other languages because of syntax or one or two features that are not in another language. Let's concentrate on teaching proper design, development and testing practices and quit bickering over languages.