If you want "world-class" ide, use vb.net (I say this only with envy of the
vb.net ide as I tend to write more c# code). As was said at a recent dotnet
user's group meeting I attended in Dallas, Texas:
"All .Net languages are created equal" -- "But not all IDE's are created
equal"
For example, you seldom have to type out an enum name in vb.net, it knows
automagically. It compiles as you code and highlights errors (which is a lot
better than the vb6 where it wouldn't let you leave a line with an error -
very annoying, but also an advantage over C# because errors as you code are
easily visible in the Tasks box. And if there are no errors in the Tasks box
as you code, then you're pretty much guaranteed that it will compile fine).
I could name many other exmaples, including properties, if / end if, event
handling for windows / web forms, implementing methods of parent classes,
etc.
However, there are some things you can do in C# that you cannot do in
vb.net. For example, if you want/need operator overloading or unsafe code
(pointers) then c# is the way to go. So far, I've only ever overloaded ==
and !=, and could have done just as well with .Equals() had that been my
only option. But some projects (math-oriented especially) would benefit from
the overloading. And if you (like me) have a C++ and/or Java background, the
{}'s will probably "feel" better than If__ End If, Sub__ End Sub, etc.
I admit my list above is 99% about the developer - not necessarily the
client. I can't think of too many things that would actually affect a
client, and I think that's because the end result will be pretty much the
same to them.