Contact Us



Thoughts on Software Development

This image is a reference to the Weblog RSS feed.

Michael Stiefel's thoughts and opinions on software development.

Send comments to

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.

Archives

02/29/2004 - 03/06/2004   03/14/2004 - 03/20/2004   06/13/2004 - 06/19/2004   06/27/2004 - 07/03/2004   08/08/2004 - 08/14/2004   10/31/2004 - 11/06/2004   12/12/2004 - 12/18/2004   12/19/2004 - 12/25/2004   03/06/2005 - 03/12/2005   03/27/2005 - 04/02/2005   07/31/2005 - 08/06/2005   10/23/2005 - 10/29/2005   11/13/2005 - 11/19/2005   02/05/2006 - 02/11/2006   03/12/2006 - 03/18/2006  

This page is powered by Blogger. Isn't yours?


All Content (c) 2000 - 2004 Reliable Software, Inc. All rights reserved.