It's sad to see VB.net being treated as a second class citizen on this platform and ironic to see little GAMBAS be a better option for BASIC programming on Linux, given the resources.
Why is this "sad"? VB.NET offers little (anything?) over C#. I've never seen a bit of VB.NET you couldn't transpile into perfectly readable C# outside of really gross and bad implicit type conversions around Booleans.
If Xamarin should care about VB.NET, it should be better at things than C# is.
About the only thing I'm aware of that VB.Net has that I really like is an XML Literal syntax that seems to have been inspired by E4X ... that's about it, C# has adopted all the other features that VB had over it. And with LINQ to XML, it's even more limited in use.
It offers the ability to run VB.NET codebases. Transpiling them into C# offers cost with little benefit (for stable code that is rarely updated), while running it on Mono allows for hosting infrastructure upgrades.
But if anyone cared, they would do it. No one cares, so it does not get done.
It is slightly easier to read than C style languages (like C#). Also the VB.net specific libraries (Microsoft.VisualBasic namespace) have some nice functionality in them not found in the mainline .Net framework (although most are just quality of life stuff, not core functionality).
Disclaimer: Am a C# programmer and haven't used VB.net in a few years.
It's got some other nice syntactic sugar, like checked exceptions and XML literals. Nothing game-changing, but stuff I do occasionally miss when working in C#.
It used to be that VB.NET's late binding features made interacting with COM objects way easier, but C# sorted that out when `dynamic` came along.
Now the only difference that I'd say is really substantive is C#'s unsafe blocks. However, I should immediately follow that up by saying that in the past 5 years I think I've written a grand total of one unsafe block that turned out to be a keeper, and the only reason I'm not embarrassed to admit that I even bother with unsafe blocks is that I have no shame.
I think C# 6 has exception filters; interesting that they took so long. VB was also on the right-ish track with optional parameters. It's hilarious, in hindsight, how terribly wrong the C# design was on that feature. And C# still got it wrong by not providing a way to indicate the lack of value, instead of compiling a default into the callsite.