I ran into a situation where the lack of some features has become somewhat frustrating while developping in VB.NET 2.0.
Since my first day of programming, I've always been a C programmer, and still am. Naturally, I chose C# as my favorite .NET language.
Recently, a customer of mine has obliged that all of his development projects which disregard SharePoint development have to be written in VB.NET 2.0, that is to avoid conflictual systems to come into some problems. That is a legitimate choice of his which I approve somehow, since he's running some old central systems and is slowly migrating toward latest technologies.
As for me, I would have prefered to go with C#, but then, never having done much VB in my life, I see it as an opportunity to learn somethings new, how to handle this and that in VBNET, etc. Except that the syntax is really too verbose for me, which is a pain! I got used to it and that is fine.
However, I recently wanted to use the InternalsVisibleToAttribute which I discovered lastly here on SO. But then, in addition to not being able to have lambda expression that returns no value, which I discovered months ago, today I learn that I can't use the attribute in VBNET!
Here is what I have read in an article:
[...] Sorry VB.Net developers, Microsoft is again shunning you guys and this attribute is NOT available to you.... :(
And here is the link: InternalsVisibleTo: Testing internal methods in .Net 2.0
I have heard from Anders Hejlsberg mouth while watching a Webcast from his presentation of .NET 4.0 Framework that the VBNET team was working or has worked in collaboration with the C# team (Eric Lippert and others) in order to bring VBNET to offer the same features as C# offers.
But then, I say to myself that the VBNET team has a huge step forward to make, if already in .NET 2.0, some of the most important features lacked!
So my question is this:
Why is Microsoft under-supporting or under-developping VBNET?
Will VBNET ever be lacking the C# features?