Hi Michael -
But the features that C# are missing are not show stoppers. As an example,
in VB you can't use pointers so completely rules out manipulating bitmaps
(or other data) with the same speed as C#.
I have made plenty of applications that have image manipulation needs, and I
have found the graphics classes and routines built into the framework more
than adequate. These drawing routines are available and work at the same
speed whether you are using VB.NET, C#, Cobol for .NET or any other .NET
language. I wouldn't make the assumption that I could create a faster bitmap
routine than the folks at MS in VB.NET, C#, or any other language. This is
not me being an MS fan boy; I can just face the reality that there are a lot
of things that I am good at and can do well, and for other things I'll trust
that the folks at MS have the time, resources, and energy to devote to
researching the best bitmap manipulation approaches.
If you honestly feel that you can manipulate images faster than the routines
built into the framework, then I'll conceed the point. Personally, I have
better things to do with my time, like making sure my applications are
completed on time and under budget.
You still type more in VB. It's the common stuff like dim and directcast
that get in the way.
I meant to mention that I personally find the verbosity beneficial,
especially when revisiting code I haven't looked at in years, or trying to
interpret someone else code--it is inherently self-documenting. Figuring out
which in a long series of what the end brackets are ending which block of
code can be a chore: "which of these five brackets to I have to insert this
line into? Let me scroll up..." I always laugh when I see constructs like
this in "less verbose" C# code:
}//end if
VB code *can* be poorly written but so can C# code. But the big difference
is that VB.net allows much greater scope for poorly written code
especially with the ability to turn option strict off.
Sure, but as per the default installation of VB.NET it's turned ON. You can
also force case-sensitivity, for you folks who claim this is an advantage of
C#. You can also turn these options on or off per file. Honestly, I never
understood this argument--you are saying that having more options is a bad
thing; personally, I feel that this flexibility is just another strength of
VB.
Just because one person likes c# just because they're comfortable with it
does make that true for everyone. I've certainly done a *lot* more VB than
C style programming over the years. Now that I've used C# since 2001 I
realise it fits much better with my style.
That's fine. I've programmed in C#, as well as other syntactically similar
languages such as Java, Javascript, and PHP, and I wish to respectfully
disagree.
Again, I feel this argument is ridiculous, because, ultimately, the bulk of
what we do is calls to the framework. People tend to have go into heated
debates on this subject, when they are comparing apples to apples. I would
understand the level of hostility if we were discussing Java vs. .NET,
ASP.NET vs PHP, or Flash vs Silverlight, but really, we're all users of the
..NET Framework here. This debate is unproductive, and when it comes down to
it, it is a choice that is often made for us; made by the company that we
work for, made by the team we are on, made by the programmer who's code we
are maintaining. Nobody is threatening to take the language away from the
other side.
Again, to answer the asker's original questions, I feel that it's in
everyone's best interest to learn both of the major .NET languages so that
you can easily integrate with any team.
Happy Coding,
-Mark