Scott M. said:
Well, I happen to personally agree with you, but there are those that
disagree and think that VB.NET is too verbose and cumbersome. There are
many that believe that C# is more "elegant" and simple. Remember, you did
say that you've worked with VB for quite a while, so you are biased towards
it. I am too
.
I would say that it's not the verbosity of VB.NET which in my view
makes it harder to learn than C# - it's all the "extras" which are part
of it: the odd nature of Nothing when applied to String (where Is and =
do different things for legacy reasons); the way that you can call
static methods as if they were instance methods; the numerous functions
which are mostly there for backwards compatibility, but which you'll
need to have a grip on if you're going to read other people's code
(etc).
C# had a definite advantage in being a new language. It has a few
things left over from C which I'm not too happy with (particularly
regarding switch) but mostly it was able to form a clean break with the
past.
It also doesn't help that VB.NET uses different terminology to what
most other languages use for various things (Nothing instead of null,
shared instead of static, MustInherit instead of abstract, etc). You
need to know the VB.NET terminology in order to write VB.NET, but you
need to know the .NET terminology in order to communicate with anyone
who doesn't use VB.NET.