A few weeks ago I got involved in a small project - a funny, little
online game. For me what's so special about this project is
that it shall be written in VB.NET. As a C# developer I didn't
write a single line of VB before. So this is a special challenge for
me. Ok, it is not that I didn't know anything about it. At least I read
VB code from time to time in books and articles. And I have a BASIC
background from my first years programming on my Commodore 64.
So I decided to just jump into the water. By all means learning another programming language can't be a bad idea.
So
after the initial requirement gatherings for the project I started
coding. And what then came was a very big surprise. I didn't have any
problems. It only took some examples from the MSDN Library to get the
hang of the VB syntax. I had to find out about event handling and the
module thing. Visual Studio dealt with the rest. I am truely amazed
about the help VS is giving with VB development. The automatic
completion of statements allows for really fast coding. This was a
whole new experience for me.
Coding VB.NET really is a pleasure
for me. But to be honest the main reason for this is Visual Studio.NET
and not the language itself. Getting a grip on VB hasn't been as
challenging as I expected. In fact for me there is no real difference
to developing in C#. Of course the syntax is different but it is still
all about classes, fields and properties. So I was wandering what's all
the fuss about VB.NET vs. C#. Where are the real differences where are
the advantages over C#. There have to be reasons for VB developers to
use VB.NET instead C#.
So I asked this Question in a VB
newsgroup: "What are the advantages of VB.NET over C#?" I was hoping
for some enlightening answers, but the answers haven't been very
satisfactory. Of course there were the usual debates about the syntax
of C# - curly brackets, semicolons and case sensitivity. But this is
not what I was interested in. I expected this sort of discussion. I
wanted to know about things you can do with VB.NET you can't do with
C#. So when I filter out all the syntax stuff, the resulting list is
this:
- Late Binding as integrated language instrument
- Parameterized properties
- "With" statement
- Optional parameters
Personally I don't like the with statement. And I can do well without optional parameters.
The
list surely is far from being complete. But that's what I got. So
biggest advantage is the comfort Visual Studio provides with developing
VB.
Concerning the debate about VB syntax vs. C# syntax I sensed an
aggressive tone on the VB camp. They stated that VB is much more
readable. This may be right - for them. But this doesn't necessarily
applies for everyone else. I tried to convince them that VB isn't
really more readably for me. Note, that I didn't try to convince them that C# is more readable than VB. I said that I prefer curly brackets and case sensitivity.
So dear VB developer, do me a favor and don't tell me what I can read better. I will decide this for myself.
To summarize: There is absolutely no need for language wars. Just
try out the different languages and decide for yourself which one suits
you best.
Here is a very good article on codeproject that compares VB.NET and C# (via Carl Franklin).
Oh btw, please feel free to expand my list of VB advantages over C#.
I'm very interested and I'm pretty sure there are some more points.