I just read the Silent Majority post by Paul Vick, which challenges conventional wisdom by offering some evidence that VB.NET is more popular than C#. The VB.NET vs C# flame war that ensued in the comment section led me to the following thoughts.
1. The difference between these languages truly is trivial. The recruiters I talked to a few months ago when I was switching jobs from a VB.NET to a C# shop looked more than a little skeptical when I told them that I was just as qualified for a C# position as I was for a VB.NET position. It turns out I was right. It really only did take a few days before I felt as fluent in C# as I did in VB.NET.
By scanning a Cheat Sheet and making occasional use of Reflector or a converter, you should literally be able to pick up the other language in a matter of hours. Ninety percent of programming these days has been abstracted to the base class libraries and there just aren't that many keywords in a programming language to have to relearn.
2. Despite having spent most of my programming career in VB.NET, I now have a clear preference for C#. This is purely subjective, but I really value conciseness. Anything that gives me fewer words to type or scan with my eyes is preferable and it is just painful for me now to go back and see all those gratuitous Dim...As, End, and Overloads
That being said, there are a few things I miss about VB.NET. The biggest one is actually a compiler rather than a language issue. I liked the immediate feedback from background compilation and haven't quite figured out why the C# compiler never included it. I also find myself missing the syntactic sugar of The Handles keyword for declarative wiring of events to functions and the With keyword for using the same object repeatedly.
I definitely don't miss either of these features enough to want to go back to VB.NET and they are pretty trivial when compared to a language feature like anonymous delegates, which C# has and VB.NET doesn't, but I still liked them.
3. If you think the VB/C# debate is still important, then you are seriously out of touch. I find it hard to fathom how someone could possibly get excited about curly braces and dim statements when the rest of the world is busy discussing the inherent weaknesses of strongly typed OO languages when it comes to issues like concurrency and meta-programming.
For all you VB/C# holy warrior relics, may I suggest the following:
Instead of ardently trying to convert your fellow .NET developer to your side of this otherwise trivial language debate, why not join forces and start questioning whether the next versions of either language will be able to compete with dynamic languages like Ruby when it comes to productivity or functional languages like Erlang when it comes to effectively scaling out .NET applications in a multi-core future?
Just a thought.