The Demise of C#

K

Kevin Spencer

About 2 years ago, and as recently as perhaps 1 year ago, I can recall
seeing many posts about what language to use with ASP.Net. The consensus was
that employers paid more for C# programmers, and it seems that C# became the
darling of the ASP.Net crowd.

In the meantime, I have observed an interesting phenomenon. Originally,
employers hired programmers who used C# because it was based on C, and the
prevailing opinion was (and may still be) that C# developers were better
because they must have known and/or practiced C or C++ at some time, which
would make them better programmers overall. C and C++ are hard-core
programming languages compared to VB.

However, now that nearly everyone has jumped on the C# bandwagon, it seems
to me that the distinction between the languages has nearly disappeared, at
least in terms of evaluating programmers for hire. There seem to be almost
as many clueless C# developers out there as VB.Net developers. Many C#
developers today are basically VB.Net developers using a different syntax. I
wonder if the employers have become aware of this trend?

--

Kevin Spencer
Microsoft MVP
..Net Developer
Neither a follower nor a lender be.
 
S

Steve C. Orr [MVP, MCSD]

When it comes to ASP.NET development, I'd think VB developers stand the
better chance of being more experienced, since classic ASP used VBScript.
C++ programmers, while they might be smart people, don't necessarily know
anything about web development, so C++ experience wouldn't necessarily
impress me when interviewing for a web developer. C++ experience would
probably only excite me if I was hiring a developer for creating low level
software such drivers.

Then again, I've always been more of a VB guy so perhaps I'm biased. But my
experience tells me you don't need to be from C land to be a solid
developer. That's really little more than a stereotype, and prospective
employees shouldn't be evaluated based on assumptions and stereotypes.
 
S

Smithers

Two random thoughts on this:

..NET is simply too intimidating for many of the incompetent VB developers
(which is not all VB developers). They had their fun with VB6 - but .NET is
simply too much for the incompetent ones - regardless of .NET languagage (C#
or VB.NET). This point is beyond my opinion - as over the past couple of
years various industry journals have documented how Microsoft is trying to
dumb down VB.NET in an effort to get more people to migrate to .NET (because
the VB6 crowd didn't come running as initially hoped for by Microsoft). Just
look at the features they're adding to VB.NET.

IMHO, the incompetence you are seeing more of is people jumping to Web
development from desktop/thick client application development. Take any
"hard core" C++ developer awash in all his/her OOP glory: If this person has
never developed for the Web and has instead spent a career doing low-level
programming (device drivers, etc), and throw them into a Web Application,
they'll probably be asking a lot of dumb questions - of the same sort you
are currently attributing to the VB6 crowd. IMHO, it's the application type
(Web vs desktop), not the prior language.

FWIW

-Smithers
 
K

Kevin Spencer

Oh, I agree, Steve. There are plenty of good VB developers out there (such
as yourself!).

I also agree that a solid understanding of HTML, HTTP, and the web are very
important to ASP.Net (critically important, actually).
But my
experience tells me you don't need to be from C land to be a solid
developer.

I agree here as well, with one caveat: You don't need to know C to be a
solid developer, but it sure helps! I could elaborate on why, but again, I'm
really not interested in a debate about languages!
prospective employees shouldn't be evaluated based on assumptions and
stereotypes.

I've always agreed with that point!

Actually, I wasn't trying to dredge up the old argument about which language
is "better." I was actually remarking on the trend toward hiring developers
who know C#, and whether it was valid or not any more.

My point is NOT that a VB developer is necessarily not as strong as a C#
developer. However, at one point there was at least some statistical
evidence that C# developers were more likely to be skilled than VB
developers, due to their background, hence the trend. You know the old
adage: The race is not always to the swift, nor the battle to the strong,
but that's how you bet. I just don't believe that the language is useful any
more as a general (statistical) measuring stick.

And I'm wondering what the hiring trend is these days, whether it has
adjusted with the times. My guess would be "not yet." Corporate types are
generally slow to catch up.

--
HTH,

Kevin Spencer
Microsoft MVP
..Net Developer
Neither a follower nor a lender be.
 
P

Peter Rilling

When it comes to ASP.NET development, I'd think VB developers stand the
better chance of being more experienced, since classic ASP used VBScript.
C++ programmers, while they might be smart people, don't necessarily know

I disagree with the above statement because VBScript and VB.NET have little
in common other then the name. That would be like saying that a person who
know JavaScript can program in Java.
 
P

Peter Rilling

Okay, I write this message with the full knowledge that I am going to piss a
large number of people off. So I fully expect some flaming to happen.

As languages evolve, there becomes less and less that differentiates them.
There is nothing that you can do in C# that you cannot do in VB.NET.

I came from a VB development background and moved to C# about five years
ago. I do not necessarily think that companies look for C# people because
of the tie-in with C++, but rather that C# develops have more of an OOP
sense about them. C++ and C# are object oriented languages and therefore
those people tend to think in object design. VB used to be thought of a toy
and only used for RAD development. There was little emphasis placed on
proper coding styles. It was more of a "let's get it done" mentality rather
then "let's design something for expandability and maintainability". Keep
in mind that until VB.NET was released, the concept of classes was shoddy at
best and certainly did not have inheritance or polymorphism, which means
that VB was NEVER an object oriented languages.

Remember that when the GUI first came out it was also thought of as a toy.
Why would real computer uses use a graphical interface, was the mantra of my
command-line gurus.
 
G

Guest

There are plenty of clueless C++, VB, et al, developer.


---

Gregory A. Beamer
MVP; MCP: +I, SE, SD, DBA

***************************
Think Outside the Box!
***************************
 
K

Ken Cox [Microsoft MVP]

I don't know what employers are aware of, but they do seem to request C#
more than VB.NET.

As a long-time VB person who fumbles with C#, I'm one of those "VB.Net
developers using a different syntax."
 
S

Steve C. Orr [MVP, MCSD]

The main reasons they went with C# is because they were experienced with C++
(becuase C++ was more powerful than VB6) so it was more of a natural
progression for them, and the other reason was because C# was the "new"
language and they wanted to eat their own dog food to ensure C# would become
capable of all that they'd envisioned and all they needed.

It wasn't because they saw C# as superior to VB.NET in any way.
 
A

Alvin Bruney

I believe they did. (can of worms here)

I really don't see a reason for VB.NET given the fact that it certainly
isn't VB with .NET classes. Eventually, VB.NET will have to morph into
something else. Programmers who need to learn VB.NET coming from VB classic
are better off learning C#.

--
Regards
Alvin Bruney
[Shameless Author Plug]
The Microsoft Office Web Components Black Book with .NET
available at www.lulu.com/owc
 
K

Karl Seguin

"Many C# developers today are basically VB.Net developers using a different
syntax"

This may be true today, but it's equally important to look at where the
languages are going. It seems to me that in the 2.0 release, we are
starting to see a divergence, albeit slight, between the two language which
i expect will be a continuing trend. I agree that refactoring is only a
tool which can easily be done as an addon, but that the C# IDE supports it
and the VB.Net one doesn't suggests that the VB.Net team sees the needs of
its developers as being different than those of C# developers. Other
features such as My, Iterators and enhanced nullable types which are either
in one language or another (anonymous functions in vb.net??) are all signs
that MS is moving away from having the languages simply be "different
syntax".

As far as the crappiness of VB programmers which was touched on by others,
my personal opinion is that the programming language doesn't make the
quality, it's the person behind the keyboard. A bad programmer will
programming equally bad using whichever language. I think the belief that
there are simply more bad VB programmers out there is highly speculative and
even if true, an HR departement would be foolish to ignore the fact that
there are plenty of good programmers in either language. Having said that,
VB.Net does make it a little easier to be sloppy (option explicit and
strict, on error resume next, ....), but I'm sure that if someone wanted to
they could come up, item for item, of a list of things C# allows which could
be argued it shouldn't.

Karl
 
K

Kevin Spencer

There is nothing that you can do in C# that you cannot do in VB.NET.

I'm afraid that's simply untrue. You can't use unmanaged code in VB,
pointers, and several other less important items. Yes, it may be a rare
occasion that you need to, but believe it or not, I've worked on several
projects over the past year which process very large (200 - 500 MB) images,
and there's no substitute for pointers in a situation like that. In fact,
even with the use of pointers, I have one app that takes several hours to
process a single image.

--
HTH,

Kevin Spencer
Microsoft MVP
..Net Developer
Neither a follower nor a lender be.
 
K

Kevin Spencer

There are plenty of clueless C++, VB, et al, developer.

True. But that's like saying there are plenty of terrorists in Iraq.
Statistically speaking, they are still in the minority.

Employers often make decisions based on statistics or trends. While it is
impossible to predict an individual outcome, statistics provide a calculated
risk factor, which, in the past, affected their decisions with regard to
hiring .Net programmers that did not know C#. Statistically, C# programmers
were paid more, and hired more.

My observation was simply that with the blooming popularity of C#, and the
enormous number of VB.Net developers learning the syntax, language could
potentially no longer be a statistical factor to employers, and probably
should NOT be. And I was wondering what the trends are.

--
HTH,

Kevin Spencer
Microsoft MVP
..Net Developer
Neither a follower nor a lender be.
 
K

Kevin Spencer

I don't know what employers are aware of, but they do seem to request C#
more than VB.NET.

Now, THAT's what I was asking about! :)
As a long-time VB person who fumbles with C#, I'm one of those "VB.Net
developers using a different syntax."

Somehow, Ken, I have a hard time imaginging you "fumbling." ;-)

--
HTH,

Kevin Spencer
Microsoft MVP
..Net Developer
Neither a follower nor a lender be.
 
K

Kevin Spencer

This may be true today, but it's equally important to look at where the
languages are going. It seems to me that in the 2.0 release, we are
starting to see a divergence, albeit slight, between the two language
which
i expect will be a continuing trend. I agree that refactoring is only a
tool which can easily be done as an addon, but that the C# IDE supports it
and the VB.Net one doesn't suggests that the VB.Net team sees the needs of
its developers as being different than those of C# developers. Other
features such as My, Iterators and enhanced nullable types which are
either
in one language or another (anonymous functions in vb.net??) are all signs
that MS is moving away from having the languages simply be "different
syntax".

Very interesting point, Karl. Unfortunately, I think you may be right. I
only say unfortunately because I saw VB.Net as a chance to elevate existing
VB programmers to a deeper understanding of programming, which makes one a
better programmer overall. I have long resented the "dumbing down" of
programming that VB provided, allowing people to manipulate data that they
didn't have to understand. It sounds like Microsoft is backing away from
that bold move, and going back to the old "let the programmers be ignorant"
philosophy, which, IMHO, has resulted in a lot of poor programmers, and a
lot of poor programming.
As far as the crappiness of VB programmers which was touched on by others,
my personal opinion is that the programming language doesn't make the
quality, it's the person behind the keyboard.

Absolutely. My point was that this is statistically more true today than
several years ago.

--
HTH,

Kevin Spencer
Microsoft MVP
..Net Developer
Neither a follower nor a lender be.
 
K

Ken Cox [Microsoft MVP]

Somehow, Ken, I have a hard time imagining you "fumbling." ;-)

Ha! See my previous answers to C# questions! <grin>
 
K

Kevin Spencer

It wasn't because they saw C# as superior to VB.NET in any way.

No, it wasn't because they saw C# as superior. However, I'm sure it was
because C# could do things at lower levels that VB.Net could not. There is a
lot of unmanaged code at the bottom of the .Net platform.

--
HTH,

Kevin Spencer
Microsoft MVP
..Net Developer
Neither a follower nor a lender be.
 
S

Scott Allen

Very interesting point, Karl. Unfortunately, I think you may be right. I
only say unfortunately because I saw VB.Net as a chance to elevate existing
VB programmers to a deeper understanding of programming, which makes one a
better programmer overall. I have long resented the "dumbing down" of
programming that VB provided, allowing people to manipulate data that they
didn't have to understand. It sounds like Microsoft is backing away from
that bold move, and going back to the old "let the programmers be ignorant"
philosophy, which, IMHO, has resulted in a lot of poor programmers, and a
lot of poor programming.

The technology has enabled a lot of people to jump into programming
without learning, training, or understanding what is happening
underneath the surface. Some people would argue this is a 'good
thing', but during the gold rush of the bubble years I saw a huge
influx of people into application development roles that were there
only because it paid better than being a hair dresser.

The person who cuts my hair is licensed and trained. The worst hair
cut might cost $30 and a few months of wearing a hat.
 

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

Members online

No members online now.

Forum statistics

Threads
473,764
Messages
2,569,565
Members
45,041
Latest member
RomeoFarnh

Latest Threads

Top