Which language is better to learn C#.net or VB.net?

Posted on 2013-06-11
Medium Priority
Last Modified: 2013-06-13

I need some advice on which langauge (C#.NET or VB.NET) is better to learn in the long run.

I've been working in IT for about 14 years now as a Network\Systems Administrator in the Banking industry. I've never done any programming, closest I've come to it, if you even really can call it programming, is making batch scripts.

About a month ago I got in to programming with VB.Net, i found it easy to understand for the most part and really got in to it. But in all honesty, Im an absolute beginner with programming and have been using a lot of my time going through tutorials on the net as well as forums to create applications for my company. Because of my turtle slow progress with creating applications in VB.net, my boss wants to send me on a training course to improve my programming skills.

So I went online and found a training center which has a course for beginners VB.NET, though I was told by the training center that they dont have enough people for the class as VB.net is not so popular.

They recommended me to look in to C# which is apparently similar to VB.Net and is more popular then VB.net. The cost of the courses is the same, so maybe the training center is right about the popularity of C#.

I've been looking around the Internet for an idea as to which path to take (C#.net or VB.net) but can't find anything current. Also a lot of the things I find are very technical explaining the advantages and disadvantages of each of these languages, and because i am just a beginner to programming I become lost as I dont really understand what is being said.

Is someone able to shed some light on this and advise which language is best?


PS. I understand this type of question can cause arguments between developers, so please control yourselves. Since this is a point system I will award points to only those who do not argue with eachother and who give a realistic answer.
Question by:Kevin
  • 3
  • 2
  • 2
  • +3
LVL 42

Assisted Solution

by:Meir Rivkin
Meir Rivkin earned 500 total points
ID: 39239163
The difference between the 2 is syntax in the most part.
U should go with what u feel comfortable with.
After a while you will find it rather easy to start practicing the other language.
U should use either one to learn some programming fundamentals like object oriented, polymorphism etc.

Assisted Solution

TvMpt earned 500 total points
ID: 39239169
C# and VB.NET are identical in form and function. They can both be used to build the same identical systems with exactly the same code. There's no real difference - the beauty of the .NET Framework.

As you already know C# is much more popular and that could be a big advantage when you need the find examples in your studies. Other advantage, in my opinion, is if you need to do something in Java, will be much more easy to read and understand...
LVL 41

Assisted Solution

by:Kyle Abrahams
Kyle Abrahams earned 500 total points
ID: 39239174
In my experience is better to learn both.  At the end of the day both languages are compiled down to the MSIL (intermediate language) and from there down to machine code.

With that said there are a lot more examples that are usually C# related.  Programmers I talk to feel it's a more "pure" langugage it's case sensitive and looks more like code at the end of the day.  But it's just personal opinion.

C# or VB .Net can be converted (http://www.developerfusion.com/tools/convert/csharp-to-vb/) to each other so learning one is essentially learning the other.  Think of them as different dialects of the same language.  They may look and sound different, but it boils down to the same.

I would focus more on learning the tools and controls.  A dropdown list is a dropdown list in both C# & VB.  How you talk to it may be a little different, but the overall behavior isn't changed.

Knowing the difference between when to use a List Box, a Drop down, or more complex things like a Data Adapter vs a Data Reader seperate out the experienced /skilled programmers from those who don't understand what's going on and why it's better to use one over the other.

Each tool has it's own application that suits a particular need or needs.  Can you use a wrench to hammer in a nail, sure.  Would you, especially if you had a hammer?  I look at each class and control as a different tool.  Learning when to use each one is the true key to learning .Net.
Free Tool: Subnet Calculator

The subnet calculator helps you design networks by taking an IP address and network mask and returning information such as network, broadcast address, and host range.

One of a set of tools we're offering as a way of saying thank you for being a part of the community.

LVL 86

Accepted Solution

Mike Tomlinson earned 500 total points
ID: 39239305
One simple reason C# is more popular is because it is a "C-based" language:

Thus learning C# means you'll be comfortable with a widely used language syntax, making it easier to "jump" to other languages (or at least understand the gist of code written in them).

The reason above is why you'll find more courses and code examples in C#.  It's just a simple numbers game.  More people are used to C-based language syntax because of the history of programming.

VB.Net syntax is similar to VBA, which is used in MS Office applications, so it's useful in that respect.

Just some things to consider...

Author Closing Comment

ID: 39239325
Thank you all very much for sharing your opinions with me.

Take care,
LVL 40
ID: 39241629
Everything everybody is saying is true.

But although I prefer VB and even earn my living by giving training in VB, I would advise going for C#.

It is true that VB is becoming less popular. My classes used to be full. But for the last year or so, they are filled only to 25 to 50% of their capacity. Part of that is due to the fact that Windows 8 did not have a great impact. But my fellow C# trainer does not see so big a drop in attendance.

And the reason for that is probably that Microsoft does not give the impression that VB as a very bright future, now that Bill Gates is not there anymore to support the language as he did before.

In the past, every time there was a new version of Windows or new features in .NET, the code examples were both in VB and C#. When there was only one language used, VB was often preferred because C# programmer can very easily understand VB, while the reverse is not always true. Nowadays, C# is in front, and in many instances, VB is not even there to be seen.

Try to find a book, published by Microsoft or other, that shows you how to program the Windows Store applications (mobile applications for the new Windows 8 interface) in VB. They are almost all using C# only. Just go on Amazon and compare the results of a search on "windows store VB" or "windows store Visual Basic" to the result for "windows store c#".

Personally, although I prefer VB by a long way, I fear that VB is going down. This debate has been raging on since the beginning of the century, and was futile. But looking at the way the new version of Windows is presented to programmers by Microsoft, it looks as if C# is winning the war.
LVL 86

Expert Comment

by:Mike Tomlinson
ID: 39241693
I feel ya James.  VB is my "native" language.  I got comfortable with C# out of necessity.  For personal projects I always write in VB...

Author Comment

ID: 39241781
Thanks for your input James.

Would any of you know of a good training center in the USA that have beginner courses in C#?

As mentioned before I have very little experiance in programming.

Ive found this test center, which looks like a beginners course:

Would any of you have any other recommendations in the USA? I've searched on google and find a lot of the course to be online. I want to find a center where I can go and physically sit in the class, as I feel this will  minimize distractions.
LVL 41

Expert Comment

by:Kyle Abrahams
ID: 39245754
Actually check with your department of labor.  Right after I graduated with my masters in CS I *still* couldn't find my first job.  A training school actually contacted me and referred me to get a voucher from my state DOL to have the school get paid directly from the state, while I reaped the benefits.

Strangely enough I stared out c++.  Learned VBA / VB out of necessity for a few projects, got really comfortable in it and for the last year or so I've been in C# again.  Now I look at VB code and it seems foreign to me.

Author Comment

ID: 39245780
Thanks for the tip :)

Featured Post

Free Tool: SSL Checker

Scans your site and returns information about your SSL implementation and certificate. Helpful for debugging and validating your SSL configuration.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

Join & Write a Comment

It was really hard time for me to get the understanding of Delegates in C#. I went through many websites and articles but I found them very clumsy. After going through those sites, I noted down the points in a easy way so here I am sharing that unde…
The PowerShell Core 6.0 of .NET release is just the beginning. The upcoming PowerShell Core 6.1 would have artificial intelligence and internet of things capabilities. So many things to look forward to in the upcoming release.
The video provides a quick and easy steps to migrate MBOX file to well known Outlook PST and Office 365. Besides this, it also supports and migrates more than 20 email clients of MBOX which include AppleMail, Opera, Thunderbird and SeaMonkey effortl…
If you are looking for an automated tool which can generate reports for Outlook emails and other items from PST file, then you can go for Kernel PST Reporter tool. The reports which are created by this tool are helpful to analyze and understand PST …

607 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