473,766 Members | 2,020 Online
Bytes | Software Development & Data Engineering Community
+ Post

Home Posts Topics Members FAQ

The Demise of C#

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.
Nov 19 '05
132 4870
You can use unmanaged code and pointers in VB.NET. I've used the dllImport
attribute to make calls to functions in DLLs like User32 and the like, and
there's the AddressOf operator for creating pointers to functions and such...
I think there is something C# can do that VB.NET can't, but I can't remember
what it is. I do know that C# doesn't have ParamArrays while VB.NET does,
but that's just indicitive of the main reason to choose one .NET language
over the other: personal preference.

- Dave

"Kevin Spencer" wrote:
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.

"Peter Rilling" <pe***@nospam.r illing.net> wrote in message
news:O6******** ******@TK2MSFTN GP14.phx.gbl...
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.

"Kevin Spencer" <ke***@DIESPAMM ERSDIEtakempis. com> wrote in message
news:#X******** ******@TK2MSFTN GP12.phx.gbl...
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.



Nov 19 '05 #101
Yes it would seem they have!

"Kevin Spencer" wrote:
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.

Nov 19 '05 #102
The AddressOf operator is not for creating pointers. It is for creating
procedure delegates. You can't use pointers in .Net without unsafe code.
VB.Net does not allow unsafe code.

--
HTH,

Kevin Spencer
Microsoft MVP
..Net Developer
What You Seek Is What You Get.

"David Davidson" <da************ @newsgroup.nosp am> wrote in message
news:53******** *************** ***********@mic rosoft.com...
You can use unmanaged code and pointers in VB.NET. I've used the
dllImport
attribute to make calls to functions in DLLs like User32 and the like, and
there's the AddressOf operator for creating pointers to functions and
such...
I think there is something C# can do that VB.NET can't, but I can't
remember
what it is. I do know that C# doesn't have ParamArrays while VB.NET does,
but that's just indicitive of the main reason to choose one .NET language
over the other: personal preference.

- Dave

"Kevin Spencer" wrote:
> 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.

"Peter Rilling" <pe***@nospam.r illing.net> wrote in message
news:O6******** ******@TK2MSFTN GP14.phx.gbl...
> 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.
>
> "Kevin Spencer" <ke***@DIESPAMM ERSDIEtakempis. com> wrote in message
> news:#X******** ******@TK2MSFTN GP12.phx.gbl...
>> 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.
>>
>>
>
>


Nov 19 '05 #103

Even in VB6 i was able to emulate using pointers when i had to, you just
have to think a bit harder.

using a byte array as a stream and an index as the pointer with a couple of
funtions to return the position of objects in the stream you can emulate
pointers, although you do end up having to use some non approved
functionality to bypass safe types.

I had to use VB6 although i wanted to use C++. I needed to return some
performance data for message queues from the registry. it was maybe not quite
as fast as pointers but it was pretty close.

"Kevin Spencer" wrote:

Just off the top of my head, what if you need a pointer? I certainly do from
time to time.

--
HTH,

Kevin Spencer
Microsoft MVP
..Net Developer
What You Seek Is What You Get.


Nov 19 '05 #104
Well, now, Alan, that's pretty clever. Still, it's the hard way around. I
commend you for your creativity!

--
HTH,

Kevin Spencer
Microsoft MVP
..Net Developer
What You Seek Is What You Get.

"Alan Smith" <Alan Sm***@discussio ns.microsoft.co m> wrote in message
news:29******** *************** ***********@mic rosoft.com...

Even in VB6 i was able to emulate using pointers when i had to, you just
have to think a bit harder.

using a byte array as a stream and an index as the pointer with a couple
of
funtions to return the position of objects in the stream you can emulate
pointers, although you do end up having to use some non approved
functionality to bypass safe types.

I had to use VB6 although i wanted to use C++. I needed to return some
performance data for message queues from the registry. it was maybe not
quite
as fast as pointers but it was pretty close.

"Kevin Spencer" wrote:

Just off the top of my head, what if you need a pointer? I certainly do
from
time to time.

--
HTH,

Kevin Spencer
Microsoft MVP
..Net Developer
What You Seek Is What You Get.

Nov 19 '05 #105
Thank you for your commendation.

This does prove Rob's point though that you can use almost any language you
like to do whatever you want without a severe drop in performance.

Each language may have strengths and weaknesses but they can be worked
around and I am sure even your project with the images could be done in
VB.Net without costing an order of magnitude in processing if some thought
was put into it.

I have been using C# almost since its first beta, it was chosen by the dev
team who were mostly all VB6 programmers in a vote, the main reason given was
that they (me included) thought it would look better on CV than VB.Net, I had
done C and C++ City and Guilds when i was trying to become a programmer but
only had practical commercial experience of VB6, the transition was fairly
easy for me but some had problems and didnt fully understand objects properly
even though VB6 does support OOP to a certain extent.

I would reiterate the comment lots of people have made, its the programmer
who makes the difference not the language.

But on my CV I wanted C# as I believed it would look better to employers.

"Kevin Spencer" wrote:
Well, now, Alan, that's pretty clever. Still, it's the hard way around. I
commend you for your creativity!

--
HTH,

Kevin Spencer
Microsoft MVP
..Net Developer
What You Seek Is What You Get.


Nov 19 '05 #106
Well now, Alan, don't push your luck! ;-)

I would prefer not to get into details, but what you described, while
emulating a pointer to a small degree, is far from actually USING pointers.

I will simply reiterate: There are times when unmanaged code is absolutely
necessary. Thankfully, they are not often. Still, I prefer to have that
option when I need it, which is apparently a good bit more often than the
average.

A good mechanic has a machine shop. While a good mechanic would generally
prefer to buy pre-built parts, there is the occasion when the mechanic must
use the machine shop to build a custom part. A not-so-good mechanic has no
machine shop, and has no knowledge of how to use one. Therefore, he has to
pay someone to build his custom parts. And if the custom part doesn't work
as advertised, the not-so-good mechanic can't fix it, and has no recourse
but to replace it with another custom part from some other mechanic.

You think the CLR was written in entirely managed code? Think again. After
all, if unmanaged code was never necessary, Microsoft could have saved a
good bit of money that was spent allowing for it.

--
HTH,

Kevin Spencer
Microsoft MVP
..Net Developer
What You Seek Is What You Get.

"Alan Smith" <Al*******@disc ussions.microso ft.com> wrote in message
news:1D******** *************** ***********@mic rosoft.com...
Thank you for your commendation.

This does prove Rob's point though that you can use almost any language
you
like to do whatever you want without a severe drop in performance.

Each language may have strengths and weaknesses but they can be worked
around and I am sure even your project with the images could be done in
VB.Net without costing an order of magnitude in processing if some thought
was put into it.

I have been using C# almost since its first beta, it was chosen by the dev
team who were mostly all VB6 programmers in a vote, the main reason given
was
that they (me included) thought it would look better on CV than VB.Net, I
had
done C and C++ City and Guilds when i was trying to become a programmer
but
only had practical commercial experience of VB6, the transition was fairly
easy for me but some had problems and didnt fully understand objects
properly
even though VB6 does support OOP to a certain extent.

I would reiterate the comment lots of people have made, its the programmer
who makes the difference not the language.

But on my CV I wanted C# as I believed it would look better to employers.

"Kevin Spencer" wrote:
Well, now, Alan, that's pretty clever. Still, it's the hard way around. I
commend you for your creativity!

--
HTH,

Kevin Spencer
Microsoft MVP
..Net Developer
What You Seek Is What You Get.

Nov 19 '05 #107
I am a Basic developer turned VB Developer turned VBscript / ASP developer
and now because my company wants a homogeneous code base I have turned C#
developer. I have been developing web sites since before the Web when they
were just text based sites over the ARPanet that ran in browsers such as
Archie and Veronica. To make a long story short now that I am developing in a
true OO environment utilizing a language like C# I will never turn back, not
because it is harder but because it is actually easier in many ways. People
always talk about C and C++ programmers like they are on the top of the food
chain as far as programming. As web developers we have to be proficient in a
number of languages. If we came to work everyday and wrote the same code with
the same syntax hell we'd be really good at it too. As it stands I think
anyone who makes the switch from VB to C# will experience exactly what I am
experiencing. Once over the learning curve it is in my opinion much easier to
code in.

And by the way I was at a VS.Net usergroup meeting sponsored by a local head
hunter last week. There were a number of companies represented all looking
for ASP.net with C# and not one for ASP.net VB. Someone in the crowd asked if
they were seeing any employers asking for VB.net and the answer was an
emphatic no. So wether or not VB is good to bet your career on is up to you,
as for me maybe corporations are a bit misled but it is the common perception
that C# is better than VB and you know what they say, perception is reality.

"Kevin Spencer" wrote:
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.

Nov 19 '05 #108
Hi Kevin,

I am not exactly sure of your meaning with the mechanic analogy, it sounds
as though you mean a good programmer would always use the appropriate
language but the choice of language is not always up to the programmer.

I accept that sometimes unmanaged code is needed, but when performance is
vital surley it would be better to use something like C++ to write the
unmanaged code as it is faster than C#, and if you did then VB.Net or C#
would be able to use the unmanaged code.

"Kevin Spencer" wrote:
Well now, Alan, don't push your luck! ;-)

I would prefer not to get into details, but what you described, while
emulating a pointer to a small degree, is far from actually USING pointers.

I will simply reiterate: There are times when unmanaged code is absolutely
necessary. Thankfully, they are not often. Still, I prefer to have that
option when I need it, which is apparently a good bit more often than the
average.

A good mechanic has a machine shop. While a good mechanic would generally
prefer to buy pre-built parts, there is the occasion when the mechanic must
use the machine shop to build a custom part. A not-so-good mechanic has no
machine shop, and has no knowledge of how to use one. Therefore, he has to
pay someone to build his custom parts. And if the custom part doesn't work
as advertised, the not-so-good mechanic can't fix it, and has no recourse
but to replace it with another custom part from some other mechanic.

You think the CLR was written in entirely managed code? Think again. After
all, if unmanaged code was never necessary, Microsoft could have saved a
good bit of money that was spent allowing for it.

--
HTH,

Kevin Spencer
Microsoft MVP
..Net Developer
What You Seek Is What You Get.


Nov 19 '05 #109
Hey Kevin,
I agree with you for the most part. Most C# programmers I know are .NET
lovers who just use a different syntax than programmers using VB.NET. Few are
better off using C#, except that they're forced to explicitly cast objects
and perform dynamic binding and the sort.

I think that when it comes to design capabilities, the one with C++
experience is going to do better, as someone who appreciates the STL is far
more likely to understand how to develop efficient, robust, flexible code
than someone who thinks the collection classes and the enumeration methods of
the .NET classes are the best thing there is.
Nov 19 '05 #110

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

42
2906
by: Kevin Spencer | last post by:
Is it just me, or am I really observing a trend away from analysis and probem-solving amongst programmers? Let me be more specific: It seems that every day, in greater numbers, people are coming to these programming newsgroups and asking for ready-made solutions to fairly simple programming problems. They either want someone to write code for them, or point them to a ready-made chunk of software that does what they need to do. Now, I'm...
0
9568
marktang
by: marktang | last post by:
ONU (Optical Network Unit) is one of the key components for providing high-speed Internet services. Its primary function is to act as an endpoint device located at the user's premises. However, people are often confused as to whether an ONU can Work As a Router. In this blog post, we’ll explore What is ONU, What Is Router, ONU & Router’s main usage, and What is the difference between ONU and Router. Let’s take a closer look ! Part I. Meaning of...
0
9404
by: Hystou | last post by:
Most computers default to English, but sometimes we require a different language, especially when relocating. Forgot to request a specific language before your computer shipped? No problem! You can effortlessly switch the default language on Windows 10 without reinstalling. I'll walk you through it. First, let's disable language synchronization. With a Microsoft account, language settings sync across devices. To prevent any complications,...
0
10168
Oralloy
by: Oralloy | last post by:
Hello folks, I am unable to find appropriate documentation on the type promotion of bit-fields when using the generalised comparison operator "<=>". The problem is that using the GNU compilers, it seems that the internal comparison operator "<=>" tries to promote arguments from unsigned to signed. This is as boiled down as I can make it. Here is my compilation command: g++-12 -std=c++20 -Wnarrowing bit_field.cpp Here is the code in...
0
10008
jinu1996
by: jinu1996 | last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven tapestry of website design and digital marketing. It's not merely about having a website; it's about crafting an immersive digital experience that captivates audiences and drives business growth. The Art of Business Website Design Your website is...
1
9959
by: Hystou | last post by:
Overview: Windows 11 and 10 have less user interface control over operating system update behaviour than previous versions of Windows. In Windows 11 and 10, there is no way to turn off the Windows Update option using the Control Panel or Settings app; it automatically checks for updates and installs any it finds, whether you like it or not. For most users, this new feature is actually very convenient. If you want to control the update process,...
0
9837
tracyyun
by: tracyyun | last post by:
Dear forum friends, With the development of smart home technology, a variety of wireless communication protocols have appeared on the market, such as Zigbee, Z-Wave, Wi-Fi, Bluetooth, etc. Each protocol has its own unique characteristics and advantages, but as a user who is planning to build a smart home system, I am a bit confused by the choice of these technologies. I'm particularly interested in Zigbee because I've heard it does some...
0
6651
by: conductexam | last post by:
I have .net C# application in which I am extracting data from word file and save it in database particularly. To store word all data as it is I am converting the whole word file firstly in HTML and then checking html paragraph one by one. At the time of converting from word file to html my equations which are in the word document file was convert into image. Globals.ThisAddIn.Application.ActiveDocument.Select();...
0
5279
by: TSSRALBI | last post by:
Hello I'm a network technician in training and I need your help. I am currently learning how to create and manage the different types of VPNs and I have a question about LAN-to-LAN VPNs. The last exercise I practiced was to create a LAN-to-LAN VPN between two Pfsense firewalls, by using IPSEC protocols. I succeeded, with both firewalls in the same network. But I'm wondering if it's possible to do the same thing, with 2 Pfsense firewalls...
0
5423
by: adsilva | last post by:
A Windows Forms form does not have the event Unload, like VB6. What one acts like?

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.