Why I like C# but prefer to develop with VB.NET

This is coming from someone that developed in a C/C++ UNIX environment for years but now develops in VB.NET and have had some exposure to C# for a period of time.

OK lets get one thing straight. C++ developers are the kings of the hill. For many reasons that I'm not going to go into here. If you have to aptitude and the heart to be a C++ developer, God Bless You. But for us second tier developers who prefer things alittle easier, many of us are .NET developers. In the .NET world there are basically two dominent languages the ever popular C# nad VB.NET. I have only heard of one place developing in J#. That might be the only place in the world too. I you use J# I would love to heard from you. Please tell me why.

Why C# is so popular


C# is very popular these days and I wonder why sometime. I believe it is because of the C in C sharp. I think if you put C or ++ in any language name and the majority of developers will jump into it. Great marketing Microsoft! Why you may ask? Because like I said in the beginning, C++ developers are the kings of the hill. Everyone wants to be associated with a language that is believed to be the most challanging, and the closest thing to being a C++ developer is being a C# developer. If every C# developer was honest with themselves they would tell you, I never really got C++ and C# is the closest .NET language to it and VB is viewed as a beginner language.(I will touch on that later). So that is why I develop in C#. Plus every employer is jumping into it and it pays more.

Why I like C#


There are two features in C# I wish was in VB.NET
1. The @ string literal

To me this has to be the best feature in C#.
It's simple, effective and sensible.

@”c:\somepath\someotherpath\myapp.exe”

or @”This is a just some text
and on it goes
and on
like the energizer bunny

2. The USING statement

using (C c = new C())
{
c.UseLimitedResource();
}
Console.WriteLine("Now outside using statement.");
Console.ReadLine();

I like it because it disposes variables automatically! I realy wish this was in VB.NET

Other than that, it cool to say you develop in C something but at the end of the day it is no real difference between C# and any other .NET language.

Why I prefer VB.NET


Sad to say VB over the years has been branded as a non object oriented beginner language. You can argue whether that is true or not but VB.NET is far from that. I would say 95% of what you can do in C# can be done in VB.NET. But what VB.NET gives you that C# does not is what was a big deal back in the day, but not now is CODE READABILITY. Forget the cute curly braces and semicolons and the short-handing of everything. VB.NET is easy to understand when first looked at by anyone, your grandmother or mother. (I'm not insulting anyones intelligence) Code readability seemed to have went out with the dot coms of the 90s. It seems like know one maintains code anymore. It seems like code is developed, it may get used for about 2 years, something new comes along and then it get thrown away because it is considered old. Another reason is that it is easier to learn. The learning curve is short for people that have a programming aptitude. I believe CODE READABILITY and LEARNING CURVE is critical when deciding what language to choose for your development shop. Now let me go on to my side note about F#.

Prediction: F# will be a bust


F# is being talked about now as the next great language in the .NET world. Because there is not a C or ++ in the name it will not take off and developers will not jump into it. When I see F# I think of Fortran but actually it comes from another language which at one time was referenced on Wikipedia but Microsoft must thought it would hurt the language popularity and now I cannot find it. But it was derived from one of the other old-time great languages and it was not Fortran. If you think any language developed today is developed from scratch without a base language concept you are very misled in your thinking.

Until next time...

Comments

Popular Posts