VB.Net - We should all B# (be sharp)

Over the past few years, really since the .Net framework was introduced, there has been much debate and false statements and beliefs surrounding the various .Net languages. I probably should have classified this as a rant, but I have legitimate concerns about how one language is treated differently than another.  More specifically, how VB.Net is treated as if it is an inferior language to that of VC.Net, more commonly known as C#.

 

Let’s break down the basics to see if we can make sense of this.  Now, it’s quite possible I am the only person that will ever read this, but the “rant” portion of this post compels me to write about it anyway.

 

When Basic became Visual Basic, languages like C or C++ became Visual C or Visual C++. Other languages popped up like F# (functional) and  IronPython and IronRuby (dynamic runtime languages) still make use of the .Net frameworks, but also needs the DLR (dynamic language runtime) which sits on top of the .Net framework.  J# or Visual J, was a utility (*probably a better definition) to allow Java programmers to use a Java syntax (which is already pretty close to C#) when writing a .Net application. This will not be available in any Visual Studio releases as its usefulness and usage has declined to the point where they (MS) would rather divert resources to other languages, services, etc.

 

So why does VB get a bad wrap?  Studies have shown wide adoption of both languages, but depending on which study, the results vary quite a bit.  Some show a 50/50 split; others show a drastic 70/30 split, with C# typically having the majority.

 

When VB.Net was introduced, it was to cater to developers who were already familiar with BASIC, so I guess they felt the need to separate it from C#.  As the framework evolved, developers of both languages sought parity between functionality.  C# developers would want functionality found only in VB.Net, and VB.Net developers wanted functionality found only in C#. Now, and hopefully in the future, both languages can share similar praise and prominence, as both can essentially build the same applications.

 

The difference between C# and B# are slight and for the most part, are only separated by syntax.  Of course, it helps if you know how to write in both, but I think B# will be around for quite some time.

Notice how I refer to VB.Net as B#, if I have my way, VB.Net will be referred to as B# - so we can all “be sharp”

A great article on the Coevolution of VB and C# VB and C - Coevolution