Given that VB.NET and C# are almost machine convertible, then
I would say that VB.NET is as grown up as C# regarding full
OOP etc..
Is the reason for you considering not grown up, that they did not
remove all those VBold'isms? If they had that, then they could
probably just as well had dumped the language entirely - VB.NET's
main justification must be the compatibility with VBold.
Mainly it's Microsoft's attitude toward the language. At one of the MVP
summits I went to they were asking for some people to contribute to MSDN
documentation for VB, mainly in code examples. But they wanted to be sure
the examples were done "The VB way." That meant using, for example, MsgBox()
as opposed to MessageBox(). In other words, they were going out of their way
to avoid using the Framework directly and using the VB-happy-smiley-face
methods as much as possible. This sort of thing puts VB users at a huge
disadvantage if they change languages, because they've been shielded from
the Framework as much as possible and now have TWO things to learn: a new
language AND the use of the Framework. A C# person thrust into VB would only
have the language to contend with.
Yes, VB CAN be used in a "grown-up" way, but unfortunately many people
aren't learning to use it that way. I don't even have a problem with the
Microsoft.VisualBasic namespace per se; it's the fact that even new VB users
are still relying on it heavily that bothers me.