Sunday, February 29, 2004 |
|
|
When the speakers on the .NET track of the Syscon Edge 2004 conference got together, Carl Franklin and I were talking about why people think that C# is the "official language" for .NET. I told him that even though most of my consulting is in C#, I think that attitude is wrong. I believe it is important to elaborate why I feel this way.
People who feel that VB.NET is an inferior language to C#, or that somehow C# is a "better language", or the "official language" for accessing the .NET Framework Class Library are just plain wrong. My personal opinion is that I prefer C# to VB.NET because I like the compact syntax among other things, but that is a personal judgement.
People who talk that way about VB.NET are confusing three issues.
First suitability to access the Framework Class Library (FCL). Every example in my book "Application Development Using C# and .NET" has been translated into VB.NET and works exactly the same way. I have used the same courseware for both C# training and VB.NET training with the only difference that the examples were in the different languages. From the point of view of the FCL, everything C# can do, VB.NET can do as well.
Second issue: suitability to a given task. Equality before the FCL, or the Common Language Runtime is not everything. Perl.NET can do things that C# cannot. Does that make Perl.NET a better language than C#? No. It just makes it a better choice in some cases. If you need to use unsafe mode, you need C#. You cannot overload operators in VB.NET. You might find VB.NET's late binding feature more convenient than using the reflection API in C#. You might like background compilation in VB.NET. It is is possible, that for certain features the IL that C# generates is more efficient than the IL that VB.NET does. I do not know if this is true, but even if it is, it probably does not matter for most applications. After all, in some performance situations managed C++ is better than C#. For people interested in the differences between the languages look at O'Reilly's C# and VB.NET Conversion pocket reference.
FInally: de gustibus non disputandum est, there are matters of personal preference. I like C#'s compactness. I think it has certain advantages, but that is a matter of taste. Taste is important even in technical matters, but do not confuse taste with other factors, or mistake taste for intuition.
I wish VB.NET programmers a long and productive life. VB.NET programmers should not feel inferior.
|
|
|
|
|
|
|
|
Archive |
April, 2013 (1) |
March, 2013 (1) |
July, 2012 (1) |
June, 2012 (1) |
May, 2012 (3) |
March, 2012 (2) |
February, 2012 (1) |
January, 2012 (1) |
October, 2011 (1) |
May, 2011 (1) |
January, 2011 (1) |
December, 2010 (1) |
November, 2010 (1) |
September, 2010 (2) |
August, 2010 (1) |
July, 2010 (1) |
March, 2010 (1) |
December, 2009 (2) |
November, 2009 (3) |
October, 2009 (2) |
August, 2009 (2) |
July, 2009 (1) |
June, 2009 (2) |
May, 2009 (3) |
January, 2009 (3) |
October, 2008 (1) |
September, 2008 (2) |
August, 2008 (1) |
June, 2008 (1) |
April, 2008 (1) |
March, 2008 (3) |
February, 2008 (2) |
January, 2008 (1) |
November, 2007 (1) |
October, 2007 (1) |
August, 2007 (1) |
May, 2007 (1) |
October, 2006 (1) |
September, 2006 (2) |
August, 2006 (1) |
July, 2006 (1) |
June, 2006 (8) |
February, 2006 (1) |
November, 2005 (1) |
October, 2005 (1) |
August, 2005 (1) |
March, 2005 (2) |
December, 2004 (2) |
November, 2004 (1) |
August, 2004 (1) |
June, 2004 (2) |
March, 2004 (1) |
February, 2004 (1) |
|
|
|
|
Themes |
Pick a theme:
|
|
|
|