473,785 Members | 2,129 Online
Bytes | Software Development & Data Engineering Community
+ Post

Home Posts Topics Members FAQ

VB.net or C#.net

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
Nov 22 '05 #1
16 3848
Right now there's virtually no difference between the products. There will
be some divergence in the 2005 versions (for example VB will add edit and
continue to the debugger while C# will add refactoring support) but they
will both continue to give full support to the framework.

I don't know any specific numbers but I would guess that the .NET market is
55%VB, 40% C# and 5% other.

As far as money goes, C# developers tend to get more. Again, I don't know
specific numbers but I think it's safe to say that on average C# developers
will earn $5,000 - $10,000 per year more than their VB conterparts. I think
that trend will continue into the near future but I see things evening over
time.

Hope this helps,

--
Rob Windsor [MVP-VB]
G6 Consulting
Toronto, Canada
"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

Nov 22 '05 #2
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

Nov 22 '05 #3
Rob Windsor [MVP] <rw******@NO.MO RE.SPAM.bigfoot .com> wrote:
Right now there's virtually no difference between the products. There will
be some divergence in the 2005 versions (for example VB will add edit and
continue to the debugger while C# will add refactoring support) but they
will both continue to give full support to the framework.
I believe VB.NET will have refactoring support, too.
I don't know any specific numbers but I would guess that the .NET market is
55%VB, 40% C# and 5% other.


I would guess at VB.NET and C# being the other way round, personally.
Lots of VB Classic developers are annoyed at the horrible migration
situation, so are turning to C# instead of VB.NET. Only a guess though.

--
Jon Skeet - <sk***@pobox.co m>
http://www.pobox.com/~skeet
If replying to the group, please do not mail me too
Nov 22 '05 #4
Jon,
I would guess at VB.NET and C# being the other way round, personally.
Lots of VB Classic developers are annoyed at the horrible migration
situation, so are turning to C# instead of VB.NET. Only a guess though.


You know that there is a big difference between VB2002 and VB2003 the
upgrade from the last is (very) much better.

However this is not important of course in a ASP situation where the most
ASP pages will run with very few conversion on dotNet and otherwise normaly
on the IIS server mixed up with aspx pages.

The last of course not when it is done with the VB6 IIS class or with
another way of VB Com.

Just some thoughts

Cor
Nov 22 '05 #5
Terry,

You see all the answers, so from your part of view as you stated, it should
be an easy decission. For me is the conclussion.

When you are a manager choose VBNet
When you are a programmer choose C#

Cor
Nov 22 '05 #6
Cor Ligthert <no**********@p lanet.nl> wrote:
I would guess at VB.NET and C# being the other way round, personally.
Lots of VB Classic developers are annoyed at the horrible migration
situation, so are turning to C# instead of VB.NET. Only a guess though.
You know that there is a big difference between VB2002 and VB2003 the
upgrade from the last is (very) much better.


That's good to hear. I suspect that a lot of VB developers will have
been so turned off by the early migration problems that they don't want
anything to do with .NET any more - at least, that's some of the
feeling I've got in discussions with some VB programmers who are rather
cross (to say the least) about how things have been handled.
However this is not important of course in a ASP situation where the most
ASP pages will run with very few conversion on dotNet and otherwise normaly
on the IIS server mixed up with aspx pages.

The last of course not when it is done with the VB6 IIS class or with
another way of VB Com.


Right - again, I didn't know that ASP pages were mostly compatible...

--
Jon Skeet - <sk***@pobox.co m>
http://www.pobox.com/~skeet
If replying to the group, please do not mail me too
Nov 22 '05 #7
hehehe...

Pretty good, Cor

Tom

"Cor Ligthert" <no**********@p lanet.nl> wrote in message
news:%2******** ********@tk2msf tngp13.phx.gbl. ..
Terry,

You see all the answers, so from your part of view as you stated, it should be an easy decission. For me is the conclussion.

When you are a manager choose VBNet
When you are a programmer choose C#

Cor

Nov 22 '05 #8
I truly hope VB.Net will have refactoring, one of the things I'm looking forward
to.

I was one of those VB Classic programmers caught up in the migration. I must say
that after reading all the hype about dotNet, I was really looking forward to
it. However, in practice it was much more difficult. Many things advertised
early on were things that MS didn't plan on implementing until later. Most truly
proficient VB programmers needed to know some C to overcome some limitations.
But interoping with C with VB Classic was a pain. So when I heard about truly
unified data types and marshalling between C# and VB.Net in managed code I was
elated. Only to find out that many things had not yet been implemented in VB.Net
< 2003. So I continued in VB6 until VB.Net 2003, at which point enough things
had been added to make it truly useful. Once some of the seemingly minor changes
to VB 2005 are available (such as UInt support, operator overloading, code
snippets, etc) I foresee that I may not have any need to go back to VB6 and/or
C.

With all that said, I personally think that VB2005 just might be the turning
point which brings the old school VB'ers back in droves. I also suspect that
those who ended up migrating from VB6 to C# will start to migrate to VB.Net
again. I am also going to go out on a limb and suggest that maybe it will be a
mature enough product and become widely enough used that many Java programmers
will migrate to C#.

In the end, I suppose it comes down to what you are most comfortable with. If
you have the knack for counting curly braces and truly think that Case in
variables names is a good thing, go with C#. If you know VB, go for VB.Net
(although there is a significant VB learning curve as VB.Net is a little more C
like in that it does try to encourage better programming practices than classic
VB, and the .Net Framework is huge). As far as performance, compatibility, etc.
I don't see much of a difference between them. In fact, in the end you will end
up using both, just like proficient VB'ers have in the past. But it is SO MUCH
easier to jump back and forth.

Just my 10 cents worth.

Gerald
"Jon Skeet [C# MVP]" <sk***@pobox.co m> wrote in message
news:MP******** *************** *@msnews.micros oft.com...
Rob Windsor [MVP] <rw******@NO.MO RE.SPAM.bigfoot .com> wrote:
Right now there's virtually no difference between the products. There will
be some divergence in the 2005 versions (for example VB will add edit and
continue to the debugger while C# will add refactoring support) but they
will both continue to give full support to the framework.


I believe VB.NET will have refactoring support, too.
I don't know any specific numbers but I would guess that the .NET market is
55%VB, 40% C# and 5% other.


I would guess at VB.NET and C# being the other way round, personally.
Lots of VB Classic developers are annoyed at the horrible migration
situation, so are turning to C# instead of VB.NET. Only a guess though.

--
Jon Skeet - <sk***@pobox.co m>
http://www.pobox.com/~skeet
If replying to the group, please do not mail me too

Nov 22 '05 #9
I fully disagree with people that say that VB.NET 2002/2003 is equivalent to
C#.NET 2002/2003. I was originally a high level VB6 developer. When I first
look at the original betas of .NET, I chose C# for a couple of reasons.
Firstly, Microsoft might as well have called VB.NET, "Fred". Only simple
syntatic similarities exist between VB6 and VB.NET. Other than that, they
are very different products. Secondly, VB.NET, for some idiotic reason, was
limited compared to C#. Silly things like unsigned integers were not
included. Lastly, as I began developing with C#, I discovered that VB.NET
had/has a HUGE limitation. VB.NET 2002/2003 cannot use operator nor
conversion overloads built in C#. That means if you build classes that are
to be used by other developers, those other developers cannot use VB.NET
either because they have to hack their code to death to utilize conversion
and operator overloads. For example:

Suppose someone in C# builds a couple of classes and overloads the "+"
operator. You could write the following:

MyClass foo = new MyClass();
MyClass bar = new MyClass();
MyClass gamma = foo + bar;

In VB.NET, they would have to write something like (not sure the exact
syntax):

Dim foo as MyClass = new MyClass();
Dim bar as MyClass = new MyClass();
Dim gamma as MyClass;

gamma = foo operator+ bar;

Insanity that VB.NET 2002/2003 cannot even *use* overloads built and
compiled in C#. So, prior to Whidbey, I would say that if you want to build
nothing but "Hello World" apps, you could use VB.NET, otherwise use C#. Note
that this opinion has absolutely nothing to do with performance which is the
same between VB.NET and C#.

Whidbey changes all that. Microsoft has added most of the new goodies to
VB.NET as well as C#. In addition, VB.NET 2005 includes operator overloads
so, theoretically, VB.NET developers can use components with operator
overloads built in C#. I'm not yet sure if VB.NET can use conversion
overloads written in C#.


Thomas

"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

Nov 22 '05 #10

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

Similar topics

3
11245
by: William C. White | last post by:
Does anyone know of a way to use PHP /w Authorize.net AIM without using cURL? Our website is hosted on a shared drive and the webhost company doesn't installed additional software (such as cURL) on the server because of that. Our site will have an SSL certificate next week, so I would like to use AIM instead of SIM, however, I don't know how to send data via POST over https and recieve data from the Authorize.net server over an https...
2
5840
by: Albert Ahtenberg | last post by:
Hello, I don't know if it is only me but I was sure that header("Location:url") redirects the browser instantly to URL, or at least stops the execution of the code. But appearantely it continues to execute the code until the browser send his reply to the header instruction. So an exit(); after each redirection won't hurt at all
3
23037
by: James | last post by:
Hi, I have a form with 2 fields. 'A' 'B' The user completes one of the fields and the form is submitted. On the results page I want to run a query, but this will change subject to which field is completed.
0
8494
by: Ollivier Robert | last post by:
Hello, I'm trying to link PHP with Oracle 9.2.0/OCI8 with gcc 3.2.3 on a Solaris9 system. The link succeeds but everytime I try to run php, I get a SEGV from inside the libcnltsh.so library. 354 roberto@ausone:Build/php-4.3.2> ldd /opt/php4/bin/php libsablot.so.0 => /usr/local/lib/libsablot.so.0 libstdc++.so.5 => /usr/local/lib/libstdc++.so.5 libm.so.1 => /usr/lib/libm.so.1
1
8608
by: Richard Galli | last post by:
I want viewers to compare state laws on a single subject. Imagine a three-column table with a drop-down box on the top. A viewer selects a state from the list, and that state's text fills the column below. The viewer can select states from the drop down lists above the other two columns as well. If the viewer selects only one, only one column fills. If the viewer selects two states, two columns fill. Etc. I could, if appropriate, have...
4
18303
by: Albert Ahtenberg | last post by:
Hello, I have two questions. 1. When the user presses the back button and returns to a form he filled the form is reseted. How do I leave there the values he inserted? 2. When the user comes back to a page where he had a submitted POST data the browser keeps telling that the data has expired and asks if repost. How to avoid that? I tried registering all POST and GET vars as SESSION vars but
1
6867
by: inderjit S Gabrie | last post by:
Hi all Here is the scenerio ...is it possibly to do this... i am getting valid course dates output on to a web which i have designed ....all is okay so far , look at the following web url http://www.mis.gla.ac.uk/biquery/training/ but each of the courses held have maximum of 8 people that could be
2
31442
by: Jack | last post by:
Hi All, What is the PHP equivilent of Oracle bind variables in a SQL statement, e.g. select x from y where z=:parameter Which in asp/jsp would be followed by some statements to bind a value to :parameter I dont like the idea of making the SQL statement on the fly without binding parameters as I dont want a highly polluted SQL cache.
3
23600
by: Sandwick | last post by:
I am trying to change the size of a drawing so they are all 3x3. the script below is what i was trying to use to cut it in half ... I get errors. I can display the normal picture but not the results of the picture half the size. The PHP I have installed support 1.62 or higher. And all I would like to do is take and image and make it fit a 3x3. Any suggestions to where I should read or look would be appreciated.
0
9646
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
9484
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
10157
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...
0
9957
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
6742
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
5386
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
5518
by: adsilva | last post by:
A Windows Forms form does not have the event Unload, like VB6. What one acts like?
1
4055
by: 6302768590 | last post by:
Hai team i want code for transfer the data from one system to another through IP address by using C# our system has to for every 5mins then we have to update the data what the data is updated we have to send another system
2
3658
muto222
by: muto222 | last post by:
How can i add a mobile payment intergratation into php mysql website.

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.