- VB.NET supports both static and dynamic typing.
- VB.NET is a functional language, supporting local type inference, anonymous functions, monads, and language integrated comonads (even Lisp can be more complex and verbose than VB.NET with LINQ).
- VB.NET does project-wide namespace imports. C# doesn't.
- VB.NET is no more or less verbose than C#. Haskell and F# however, are indeed a lot less verbose.
This list isn't complete. There are also a metric ton of readability issues in Java and C# that VB.NET doesn't have (braces, == and =, ! instead of Not, seperate keywords for inheritance and interface implementation, and so on). I also concede that I learnt Pascal before learning C (and prefer Pascal to C). The fact that Pascal and VB.NET share syntactical smilarities (type declarations follow variable and function names, the Not keyword) is probably not an insignificant factor.
Remember - the only thing your favourite language has going for it, is that it's your favourite language ;-)