VB.NET and C#: 2 different CSM of the same ASM?

In these last days I’ve been extremely busy working in my next book (which is going to be on LINQ) converting all the code from C# to VB.NET and adding some word docs  for VB.NET programmers. Comparing both languages leads me to thinking that they’re getting closer and closer with each release. In the current version, I think that it’s fair to say that C# has more features than VB.NET (for instance, C# supports anonymous methods and its Lambda support is superior), but there is also some cool stuff which C# doesn’t support (ex.: XML literals).

However, I’ve noticed that several things which aren’t still available on VB.NET have already been announced for VB.NET 10 (for instance, it seems like VB 10 will support automatic properties). In practice, this means that with the next release, the differences between the two languages will really be minimum. Is it possible that, in  a near future, both languages will end up working over the same abstract syntax model? In others words, will C# and VB.NET end up being two concrete syntax models that are mapped into a common abstract syntax model? Probably not, but that would be interesting…


~ by Luis Abreu on March 7, 2009.

One Response to “VB.NET and C#: 2 different CSM of the same ASM?”

  1. Even though 2010 will see them synching up, I forsee a significant divergance in the future for the two languages. Unlike the C# folks, VB”s designers are attracted to the higher level shiny stuff.


Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s

%d bloggers like this: