Learn how to a build a cloud-first strategyRegister Now

x
?
Solved

Thinking about switching from VB.Net to C#.Net

Posted on 2005-05-13
19
Medium Priority
?
413 Views
Last Modified: 2013-11-25
Hi experts!

I've looked at most of the posts on "VB.Net versus C#.Net" on this site and quite a few others.
Everything I've found is kinda old...wanted some fresh opinions.

Are there any VB.Net devs out there that made the switch to C#? What was the hardest part of switching.

I think from what I've read...there's no major performance or feature difference....so I'd like to stay with VB.Net...but the one thing that makes me want to switch is the average salary of C# devs at any experience level is quite higher than a VB.Net dev!!!!
0
Comment
Question by:samtran0331
  • 7
  • 4
  • 3
  • +2
19 Comments
 
LVL 33

Expert Comment

by:raterus
ID: 13999082
There is a stigma out there that vb developers aren't as skilled as the bracket-based language developers, I don't see this changing anytime soon (unlike the change the basic programm language has gone through!).  I'd switch though, Bracket-based languages like C# aren't going away anytime soon, but if you'd like an ever-changing syntactical mess, stick with vb.
0
 
LVL 7

Accepted Solution

by:
Fred Goodwin earned 400 total points
ID: 13999354
I would learn both.  I have mixed environments where I need to know both to get the job done.  It looks like most code samples and 3rd party controls are written in C# (not all but most).  Also Its a fairly painless move from vb.net to C#.  C# programmers tend to be paid a little more than their VB counterparts, basied mainly on the stigma that raterus mentioned.  With Framework 2.0 this becomes even more of a mess as you can mix languages in the same solution.  Some pages may be C# and others can be VB.  The framework is the same for both... the main difference is the syntax and some of the basic functionns.  If you like VB more then stick to VB but develop you C# skills at the same time.  There will come a time when you will need them.
0
 
LVL 33

Assisted Solution

by:raterus
raterus earned 400 total points
ID: 13999404
I see quite a few people that ask questions here that refuse to have anything to do with one or the other languages.  They demand that the code be converted, or something along those lines.    They really don't realize that they are shooting themselves in the foot by never looking at examples in the other language.  I think you'd be doing a good thing for yourself to at least familiarize yourself with C#, even if you don't use it all the time.
0
Configuration Guide and Best Practices

Read the guide to learn how to orchestrate Data ONTAP, create application-consistent backups and enable fast recovery from NetApp storage snapshots. Version 9.5 also contains performance and scalability enhancements to meet the needs of the largest enterprise environments.

 
LVL 37

Author Comment

by:samtran0331
ID: 13999677
Hi guys,

Thanks for posting!

I understand enough of C# to make my way through tutorials and posted code...and there are days when I do nothing but javascript and I've dabbled with Actionscript for Flash....  I've just never written an app using C#

Plus...I still do Classic ASP, VBA/MS-Access programming...which is the main reason I keep VB as my "primary" language.

It's weird...I just feel like all languages should be moving toward the direction VB moves...where programming becomes more like writing sentences and paragraphs...where today's pseudo-code would be real working code (almost).  Wasn't that the whole point of moving away from punch cards?

Hasn't every language "generation" tried to move more towards being easy to understand.  The whole "layer of abstraction" idea....

This whole "stigma" thing just really really bothers me!!!

I was on some job site...I think maybe computerjobs.com...but there was an average salary list where
a "C#.Net" programmer or a ".Net" programmer BOTH make more than a "VB.Net" programmer!!!
I looked at that chart...and its like you could say you're any kind of programmer BUT VB.net and make more money!

Here's a great article on the reason for that "stigma"...
http://www.codeproject.com/useritems/CSharpVersusVB.asp
Scroll down and checkout the "In Concrete Terms" section.



0
 
LVL 33

Expert Comment

by:raterus
ID: 13999758
Ahh, #8 really sums it up around here!

Naa, languages aren't moving toward writing sentences, if you like that use cobol :-)  vb.net is verbose in its syntax, it's not terrible, but it will likely attract the newbie developers easier than C# will.  If you were a noob, which would make more sense to you

For i = 0 to 10
  'do something
Next

for(i=0;i<=10;i++){
  //do something
}
0
 
LVL 7

Expert Comment

by:Fred Goodwin
ID: 14000204
I agree with everything here.  

Try making yourself write an app in C# once in a while.  I am like you in that I will write VB.Net if I am given the choice.  However about once in every 5 or so projects I will write C# just to keep my skills fresh.  I find there are some things I like doing more in C# than VB (Not many but some).  If you are looking to find work then C# may be a must have for you.  There are VB jobs out there but the learning curve to use both Vs the benifits of having both make it well worth the time and effort.
0
 
LVL 44

Expert Comment

by:Arthur_Wood
ID: 14001104
personally, the biggest challenge I find with C# (having been a VB developer since VB 3.0, in 1995), is getting used to the Case sensitivity of ALL of the C-based languages (int c = 5; is a DIFFERENT variable than int C = 10; for instance, and this is perfectly valid C# code:  int d= c+C;  resulting in d = 15).  This I find hard to get used to.

And I am paid quite well, as a VB.NET developer, and our group doesn't code in C#, so I am pretty much set. (I work for a VERY large, employee-owned US Government contractor,and almost all of the developers that I know and work with are using either VB 6 or VB.NET - almost none of my peers, with whom I have regular contact, are using C#.)

AW

0
 
LVL 7

Expert Comment

by:Fred Goodwin
ID: 14001176
I did not mean to imply that vb.net programmers are not well paid.  I just think that like anything though the more skills you have the more marketable you are.  If you code in VB and Only VB you limit the jobs that you can take.  In my area there has been a shift in that more and more I see companies looking for C# only programmers.  They dont care what else you can do.  When you see VB.Net jobs they tend to want a few other skills with it.  I wouldnt say that is true everywhere but it seems to be the case in my area.

I guess my only point is that the more you know the more marketable your skillset is.  I also find that when I am online looking for help on something the abilty to not have to define that it be in a single language helps me to get answers fasters.
0
 
LVL 23

Expert Comment

by:b1xml2
ID: 14001853
I must say without prejudice to anyone here that for the most part, the language one develops is not as important as the mindset of the developer. That I think is something that needs to be dwelled upon.

There's a lot of very talented VB.NET programmers. There's also a lot of very very bad VB.NET/ASP.NET programmers that do not deserve to be called programmers. The same can be said of C#. However a few salient points need to be noted.

1. In the course of discussion C# vs VB.NET, we must be able to abandon our inclination to discuss fairly. From most discussions, everyone submitting that VB.NET is wonderful to programme with almost as a rule only programme in that language. That in and of itself is prejudicial to the whole discussion.

Here, what good is a slap and a pat on the back by yourselves. Self praise is no praise whatsoever. It is just trying to provide support to your comfort zone.

2. One needs to ask those who have experience in coding in both languages.
0
 
LVL 23

Expert Comment

by:b1xml2
ID: 14001860
re-word:
we must be able to abandon our inclinations in order to be able  to discuss fairly.
0
 
LVL 44

Assisted Solution

by:Arthur_Wood
Arthur_Wood earned 400 total points
ID: 14001868
I fully aggree on the point of being a braod as possible in your programming skills.  To me a langauge is a language, whether spoken or programmed - they all have a vocabulary, a grammar and a syntax.  Once you have nailed those down, off you go.

But then I happen to pick languages up rather easily - I studied two years each of four (4) different foreign languages in High School (Latin and Spanish for two years, then Russian and German for two years - then two years more of Russian in College), and have programmed over the years (40 + and counting) in FORTRAN, APL, PASCAL, Assembler (various processors), CORAL 66, ALGOL, BASIC, Visual Basic, C, C++, C#, VB.NET...

AW
0
 
LVL 23

Expert Comment

by:b1xml2
ID: 14001877
For instance, my inclination is to use C# coding with ASP.NET because of the consistency in coding:
1. Client-side uses javascript which uses C-like syntax.
2. More examples in C# for complex code.
3. Operator overloading.
DateTime start = DateTime.Parse("2005-01-01");
DateTime end = DateTime.Parse("2005-03-04");
Timespan difference = end - start;
Response.Write(difference.TotalDays()

4. Succinct syntax
for example:
public string UserId
{
  get { return "User"; }
}

is shorter by far then

Public ReadOnly Property UserId() As String
  Get
    Return "User"
  End Get
End Property

I find verbosity in VB.NET is appalling.


0
 
LVL 23

Expert Comment

by:b1xml2
ID: 14001878
But this is just my inclination... it has really nothing to do with the merits of C# and VB.NET
0
 
LVL 23

Expert Comment

by:b1xml2
ID: 14001886
and if someone were to come up with the reason that the VB IDE in Visual Studio.NET is better and therefore VB.NET should be used, I'd puke (This is actually one reason given by one very senior developer in a big firm arguing that team coding is better)
0
 
LVL 44

Expert Comment

by:Arthur_Wood
ID: 14001893
as you can see, I have coded in BOTH C# and VB.NET, but my inclination is to stay with VB.NET.  I find it difficult of consistantly handle the case sensitivity of the C-based languages, and since both have complete access to the Framework, and there is almost nothing that can be done in one of the two that can't be done in the other (at least, nothing of any great impact on the applications that I develop at the moment), I prefer to stay where I feel most comfortable.  Now that being said, I am sure that someone coming from the C, C++, Java camp will feel precisley the same about the case IN_SENSITIVITY of VB.NET and will feel most comfortable with C# or J#.  To each his own.

Ultimatley it comes down to a point of personal preference, and not a real issue of which langauge is inherently the4 BEST.  The point being that having the flexibility to be able to switch from one to the other as the situation mandates is a VERY VERY important concept, and speaks strongly to the advisabilty of being at least 'familiar' with both languages (you might even throw in J# for good measure).

(as an aside, I personally find the VB/VB.NET approach to getting and setting properties of objects much more intuitive to the C#/J# Getters and Setters paradigm, but I have also had this discussion with co-workers who have worked in JAVA, and I can see their point of view - it is all a matter of background, familiarity, and comfort level)

AW
0
 
LVL 23

Assisted Solution

by:b1xml2
b1xml2 earned 400 total points
ID: 14001914
Object Oriented Programming is something very new to a majority of VB6 Programmers. Whereas it is not something new to C++/Java programmers.

Most VB programmers will flock to the VB.NET camp.
Every C++/Java programmers will flock to the C# camp (There's a distaste for anything VB here)

Now because there are far more VB programmers than C++/Java/C# programmers combined, on a percentage basis, you;d see more bad VB.NET programmers than C#. This is arguably just a perception, unproved by any scientific measurement.

The market reflects this perception, but it probably driven by both perception and market supply-demand. There is a lot of VB.NET programmers than C#. Actually, if one were to think about it, the fact that a lot of new programmers choose VB.NET over C# is testament to the success of the VB flavour and the VB.NET team's carefully development of this altogether good language.

Bottom line, I'd welcome more people to the programming world. If they find VB.NET is to their liking, excellemt. If they find C# to their liking, good on them. But I'd rather like to see the continuation of adoption of the .NET paradigm.

Regards...
0
 
LVL 23

Expert Comment

by:b1xml2
ID: 14001923
and by the way, I code in both C# and VB.NET as driven by the dictates of the powers to be.
0
 
LVL 37

Author Comment

by:samtran0331
ID: 14009801
WOW!

Wonderful and insightful opinions from some experienced and true experts!!!

And the best thing is that for the most part, everyone's conclusions are the same AND re-inforce my own non-expert opinion.

When I started thinking that I was going to switch to making C# my primary language instead of VB, I was looking for one thing only...solid, concrete, unarguable proof that C# has a *significant* performance increase over VB.  And that evidence just isn't there.

When I couldn't find that proof, I went to the one place I could ask a large group of truly knowledgeable programmers their opinions...here on EE!

So I guess the answer isn't to switch languages...but to know both.  But knowing myself...I will have to "go deep" in one and not the other (due to my limited number of brain cells).  So I'll stick with VB.Net as my "primary"...and I'll try to keep my C# skills....sharp....but I don't think I will ever call myself a "c# developer".

And bottom line is...a good programmer is a good programmer, regardless of language...and a well-written app is a well-written app, regardless of language.  An old professor buddy of mine once said that it doesn't matter what the economy/industry does...if you're good at what you do, you'll always have a job!

Once again, thank you all for taking the time to voice your great and much appreciated opinions!!!!

-S

0
 
LVL 44

Expert Comment

by:Arthur_Wood
ID: 14015808
glad to be of assistance, and I agree with your professor.  Languages come and go, but programming SKILLS are everlasting.

AW
0

Featured Post

Technology Partners: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

In .NET 2.0, Microsoft introduced the Web Site.  This was the default way to create a web Project in Visual Studio 2005.  In Visual Studio 2008, the Web Application has been restored as the default web Project in Visual Studio/.NET 3.x The Web Si…
ASP.Net to Oracle Connectivity Recently I had to develop an ASP.NET application connecting to an Oracle database.As I am doing it first time ,I had to solve several problems. This article will help to such developers  to develop an ASP.NET client…
This is Part 3 in a 3-part series on Experts Exchange to discuss error handling in VBA code written for Excel. Part 1 of this series discussed basic error handling code using VBA. http://www.experts-exchange.com/videos/1478/Excel-Error-Handlin…
Loops Section Overview

810 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question