C# v VB.NET - any research on usage?

R

Robin Tucker

I need to find some documents/research for my manager about VB.NET v C# use.
I've noticed that there are many more people using C# than VB.NET, that
there seem to be more job vacancies specifying C# and projects written with
it.

I would basically like any links you might have to articles with
non-anecdotal evidence for usage patterns, if there are any.

Thanks,


Robin
 
J

jeremiah johnson

i realize this isn't what you asked for, but i have some anecdotal
evidence for VB.

Everywhere I've worked that did MS development work, VB was used *far*
more than C#. Personally, I despise VB and do all .net work in C#, but
i'm clearly in the minority with that attitude.

in the VB world that I've seen, C# is something you graduate to after
long years doing VB work. C# pays more (usually) and is a bit more of a
respected language from what I've seen.

sorry to inject something you didn't ask for, but i felt it was
something you should read, given your thoughts on C# vs VB usage.
 
C

Cor Ligthert [MVP]

Robin,

Your question is probably very regional (country/state) if you say I
see.............., here (Holland) I see it more and more asked like this

..Net Developer (VB, C#, AdoNet etc.)

I hope this helps,

Cor
 
R

Robin Tucker

sorry to inject something you didn't ask for, but i felt it was
something you should read, given your thoughts on C# vs VB usage.


No thats fine. I don't mind anecdotal evidence, it's just not too useful
when discussing which language to use for which project with a line manager.
I'm using VB.NET myself at the moment but whenever I need to incorperate
code from the outside world, the chances are it will be written using C#.
So, actually, my project consists of my main application and associated
libraries, with a few other libraries in C#. I'm not sure the mixture is
too aesthetically pleasing - at least it won't be for the maintenance guy
who comes after me.
 
I

Ian

jeremiah said:
i realize this isn't what you asked for, but i have some anecdotal
evidence for VB.

Everywhere I've worked that did MS development work, VB was used *far*
more than C#. Personally, I despise VB and do all .net work in C#, but
i'm clearly in the minority with that attitude.

I disagree and don't think you are alone. There are thousands of
programmers
who evolved from the 'c++' syntax of programming who favour c#. Whilst
programmers who liked c and c++ put back software engineering decades,
we're thankfully over it now. Most of the features implemented in Ada
are now
standard in modern languages, despite your c++ crowd mentality, and the
only
thing left to get rid of, is the stupid symbolic ambiguous style that
breeds
programming errors.

Fortunately, the days when in a programming language you could have
a line which could semantically and syntactically be valid by changing
a single character are coming to an end.

When (i += j) and (i -= j) and (i == j) and (i != j) and (i == -j) etc
all compiled
there was no chance of reliability, and or productivity, because people
find
it hard to see these errors.


in the VB world that I've seen, C# is something you graduate to after
long years doing VB work. C# pays more (usually) and is a bit more of a
respected language from what I've seen.

Yes it does, but this isn't because of anything inherent in the
language,
a 100 IQ programmer who is an expert in vb.net is more productive
than a 100 IQ c# programmer.

It's a side effect of history. VB was easier to learn but not as
powerful.
c++ was harder to learn but more powerful. Thus the typical c++ becomes
c# guy is more experienced on average.

This may mean that advantage is self fulfilling, but there's no
language
reason for it.
 
M

m.posseth

Hello robin

http://www.advisor.com/Articles.nsf/aid/SHERP42

I've noticed that there are many more people using C# than VB.NET, that
there seem to be more job vacancies specifying C# and projects written
with it.

There seems to be a shift in MCSD certification to C# that is a fact ,
however in usage i believe that it is still 60/40 ( in favor of VB )
probably for the fact that VB is a more forgiving language as others

I would say learn both languages they have both there strong and weakpoints
, i prefer VB only because i have a Basic background however i can also
read and write C# code , but i noticed that i am far more productive in
VB.Net

there is no serious advantage to either language. It is purely down to
which syntax you are happiest with using


regards

Michel Posseth [MCP]
 
A

Andrew Morton

Robin said:
... that there seem to be more job vacancies specifying C#

That could also happen if there was a high turnover of C# programmers.

Andrew
 
M

m.posseth

well i do not see anything bad in this at all , a current project i am
working on has some parts written in C# and some parts written in VB.Net

just for the fact that example code and documentation for some parts of
programming are more common to be delivered in C# as VB.Net ( cryptography ,
Compression etc etc ) in other parts VB is more to be found out there
Remoting , COM interop for instance

so why don`t mix those in a project ( both tasks can also be done in both
languages ) as you would become more productive

regards

I prefer to call myself a VS6 and a VS.net programmer

who just favors VB

Michel Posseth [MCP]
 
D

Denis Dougall

I disagree with some of the points Ian made but from an industry standpoint
I think there are more VB coders because it is an easy language to learn and
tends to develop design methodologies required for using / abusing APIs .
As you travel through C, C++ and end up at whichever .NET language the
knowledge of assemblies and DLLs can only help in your advancement. On a
personal note, my preferred scripting language is jscript, most web facing
containers/apps are Java but I don't know a stitch about J#.. Odd!

The turn over (if defacto) in C# programmers I find interesting but there
will always be a larger pot of VB coders than C# programmers.

Denis
 
J

Jim Underwood

There is a problem with using both languages in a project, or even in a
company.

Certain programmers know certain languages and if everyone writes code in
their personal favorite langauge you end up with 4 programmers each writing
code that only they understand. Maintenance becomes a nightmare as no one
can work on more than one piece of the application.

If everyone in your environment knows C#, Java, VB, etc. then it doesnt
matter which languages you mix and match, but this is seldom the case. It
is important to have standards regarding which langauge should be used in
your environment in order to maintain consistency and maintainability.

Personally, I have no problem switching from VB to C# as it adds to my skill
set, but I would never write code that the rest of the organization does not
know unless there was no choice.


m.posseth said:
well i do not see anything bad in this at all , a current project i am
working on has some parts written in C# and some parts written in VB.Net

just for the fact that example code and documentation for some parts of
programming are more common to be delivered in C# as VB.Net ( cryptography ,
Compression etc etc ) in other parts VB is more to be found out there
Remoting , COM interop for instance

so why don`t mix those in a project ( both tasks can also be done in both
languages ) as you would become more productive

regards

I prefer to call myself a VS6 and a VS.net programmer

who just favors VB

Michel Posseth [MCP]



Robin Tucker said:
No thats fine. I don't mind anecdotal evidence, it's just not too useful
when discussing which language to use for which project with a line
manager. I'm using VB.NET myself at the moment but whenever I need to
incorperate code from the outside world, the chances are it will be
written using C#. So, actually, my project consists of my main application
and associated libraries, with a few other libraries in C#. I'm not sure
the mixture is too aesthetically pleasing - at least it won't be for the
maintenance guy who comes after me.
 
J

James Curran

I have absolutely no evidence to back this up, but I was once told that
VB (all versions combined, not just .Net), is the most popular computer
language in the world, to the point the all others are just statistical
noise (ie, by more that 99:1)

From my own experience, I noticed that VB is most popular with
consultant who are doing one-off projects for small clients who have no
development staff of thier own. C/C++/C# is more popular with large
companies doing in-house development.

--
Truth,
James Curran
[erstwhile VC++ MVP]

Home: www.noveltheory.com Work: www.njtheater.com
Blog: www.honestillusion.com Day Job: www.partsearch.com
 
R

rgreene

Some reasons our shop is using C#:

1. All our software engineers (except me) come from a VC++ background,
and even though most agree VC++ is unproductive in many regards, they
never would and still won't touch VB with an 11ft pole! Why try to
fight other's bias when you have a good way (C#) to work with it...

2. C#.NET is just as easy for a VB6 developer like me to learn as
VB.NET. The challenge in either case is in learning the Framework, IDE
and OO, and in the exposure of much more low-level stuff (such as
hashtbls, static classes and members, and a host of other computer
science concepts).

3. There seems to be a Microsoft bias toward C#:
- Some learning books have C# in the text and VB on the CD only.
- According to numerous threads, C# code in the Visual Studio 2005
release candidate is much more stable than VB code.
- C# was designed with the set of features it needed to take full
advantage of the .NET Framework and CLR, without other historical
baggage!

Good luck...
 
K

Kevin Spencer

You mean your line manager makes decisions based upon the popularity of a
programming language?!

--
HTH,

Kevin Spencer
Microsoft MVP
..Net Developer
A watched clock never boils.
 
J

Jim Underwood

I think his manager is looking for studies showing trends is use, in order
to determine the availability of the skillsets, and therefore the ease of
finding someone who can maintain the code. No matter how well your
application works there will always be some maintenance needed and the app
is worthless if you can't readily find someone to maintain it.
 
K

Kevin Spencer

Well, Jim, I can tell you without any statistics, that there are plenty of
both.

--
HTH,

Kevin Spencer
Microsoft MVP
..Net Developer
A watched clock never boils.
 
R

Robin Tucker

Not really no. But when you are set to give a piece of software a 10 year
life span, you tend to take some of these things into consideration. As an
example, I have a Windows 95 system with some of our software on, written
with 16 bit Visual C++. It is still in widespread use in industry and so I
have to continue to maintain it, even though we have had a 32 bit product
out for some years now.
 
C

Cor Ligthert [MVP]

Robin,

You do let me think about somebody who told that we should keep our
deployment procedures for 8" floppies. (it is a while ago).

After a little bit further investigation I found out that this cost
consuming procedures was used by one customer. Giving that customer a new
computer was less expensive.

Probably not a complete analogy, however sometimes it is good to think in
this way in this kind of situations.

I have seen those linemanager who would keep their old procedures because
those seemed less expensive. However that was mainly because their lack of
knowledge (it is mostly with those who will not admit that)..

In long terms those decisions cost often 100 times more as when it was done
in one time right.

The great term in that is, "don't repair what not is broken". However often
used where people can better say, "Don't lock the stable door before the
seed is stolen".

Just my thought,

Cor
 
K

Kevin Spencer

Hi Robn,

That's helpful information. While both languages are quite likely to stick
around for the foreseeable future, if I had to bet on which one would
outlast the other, I would pick C#. C# has often been termed the "native"
language of .Net, and is definitely preferred at Microsoft over VB.Net.

Now forgive me for going so soon,. but I must get a running start, as I'm
quite likely to be attacked by religious zealots!

--
HTH,

Kevin Spencer
Microsoft MVP
..Net Developer
A watched clock never boils.
 
J

Jon Skeet [C# MVP]

James Curran said:
I have absolutely no evidence to back this up, but I was once told that
VB (all versions combined, not just .Net), is the most popular computer
language in the world, to the point the all others are just statistical
noise (ie, by more that 99:1)

I'm sure that depends on how much it's measured. If you're counting
"people who've used VB" that may well be true, as it's often used by
people who *aren't* professional developers, who just need to scratch
an itch.

If you looked at how much time was spent per language, or how much code
was written per language, I think things would be very different.

(I suspect it also depends on whether you include HTML as a "computer
language :)
 
J

James Curran

I'm sure that depends on how much it's measured. If you're counting
"people who've used VB" that may well be true, as it's often used by
people who *aren't* professional developers, who just need to scratch
an itch.

Absolutely, as I fairly sure that number counts everyone written a macro
in MSWord or Excel.

--
Truth,
James Curran
[erstwhile VC++ MVP]

Home: www.noveltheory.com Work: www.njtheater.com
Blog: www.honestillusion.com Day Job: www.partsearch.com
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top