For ordinary purposes, the differences between the languages are
insignificant. Unless you need to run unsafe code blocks, which you can
currently do only in C#, you won't see much difference between them. If your
people are experienced only in VB6 or VBScript, perhaps they'll be more
comfortable in VB.Net; they'll at least be comforted by having access to the
good old VB6-style runtime methods like CSTR() and InStr() and so forth. If,
on the other hand, your peeps have been doing C++ or even have C in their
backgrounds, they may quickly come to prefer C#. In either case, there's a
steep learning curve even for programmers who are extremely fluent in the
older languages. For an experienced programmer, picking up the syntax of a
new language is fairly easy - three days and you've got it. The hurdle is
the framework class library. It's on the same scale as the Java class
library - it has literally thousands of classes to find your way around in.
I estimate that it's a six month to a year project to become practiced at
the journeyman level in the use of the framework class library, if you can
work on it full-time or nearly so. During that year, you're going to write a
lot of code that you'll later want to throw away.
And don't underestimate the need to become fully proficient in
object-oriented programming. It's a crucial and essential skill and it can't
be learned from a "Learn Object-Oriented Programming in 24 Hours" book.
Maybe you and your guys are already there - if you are, good on you, mate.
As to career strategies, there's some evidence that C# programmers are
getting higher salaries than their VB.Net counterparts. There's also that
indefinable cachet that seems to go along with programming with curly braces
and semicolons and case-sensitive names that the C++ programmers of old hold
so dear to their hearts, as symbols of their technical superiority. Along
with zero-based counting in arrays and collections, where VB programmers are
accustomed to start counting with one instead of zero. Now, of course, in
both VB.Net and C# that rational approach to numbering has gone by the
wayside, so it's not a discriminating factor between the languages either.
I guess I'm a case in point. I was a C and C++ programmer long before even
VB 1 came out in 1991. I worked my way up through VB1,2,3,4,5, and 6, using
less and less C over the years as VB became more capable and the need for
coding to the Windows API in C became less necessary. When .Net came along,
I'd been programming almost exclusively in VB for years and years. Now I
switch easily back and forth between VB.Net and C#. If I pick up some sample
code from the net for something I want to do, I use whatever language it
happens to be in. But if I start a new project from scratch, I almost always
start it in C#.
Personally, I'd recommend becoming practiced in both languages. There's so
much code floating around the net, both from Microsoft and from enthusiast
web sites, that if you only know one of the languages fully half of the
resources on the net are unavailable to you. This and this alone makes me
look at the language bigots with a jaundiced eye. And it really makes me sad
when someone comes on one of the .Net newsgroups and pleads with the group
members to translate a piece of code for them from the language they haven't
taken a few days to learn.
Regards,
Tom Dacon
Dacon Software Consulting
"Terry" <xx************ @yahoo.com> wrote in message
news:e8******** ******@TK2MSFTN GP09.phx.gbl...
Hi, I need some feedback.
We are converting to .Net and we are trying to decide on whether to use
VB.net or C#.net.
As far as our current systems, they will probably be rewritten in ASP.Net.
I have looked into both and I don't see anything that would scream out to
use one or the other. So at this point, it is still a toss up.
However, I want to look at the two languages from a different perspective.
That is from a career point of view.
Which has the larger install base. Which has more demand. Are developers
in one paid more than the other.
Any help would be appreciated.
Terry