I was reading yet another VB versus C# rant: I don’t want to get sucked into wading into that, but I will say that anyone who thinks folks that use VB can’t use C# has really got things back the front. Most people who use VB can read and write C# quite well; they choose VB knowing both. Whereas so many C# developers I’ve met have absolutely no idea about VB or concepts such as declarative event handling etc, etc. For them they don’t have the basis of choice.
The reason VB folk have to read and write in C# is because a lot of SDK’s etc are all in C# originally. Even things like the enterprise library provide source code only in C#; this even after Soma promised to do better in regard to that. So for VB folks there is a real need to learn C#.
The big problem though is if you want to use C# source code in your VB project: you often have to re-write it or separate into different assemblies. That’s not productive. What I want is for VB to like C# and vice versa. I don’t mean make them the same, I mean for them to like each other; to get along well inside the same project. I’d like to be able to add a C# class to my VB project and happily compile it. And I bet some C# folk would love to have some concurrent basic or XML literals in their C# projects without all the current barriers.
Maybe the talk of compilers as a service type thing will give us that true cross language project, where VB and C# like each other so much that they then are free to diverge again 🙂