Go Premium for a chance to win a PS4. Enter to Win


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:nobushi
  • 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.

Modern healthcare requires a modern cloud. View this brief video to understand how the Concerto Cloud for Healthcare can help your organization.

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

NEW Veeam Agent for Microsoft Windows

Backup and recover physical and cloud-based servers and workstations, as well as endpoint devices that belong to remote users. Avoid downtime and data loss quickly and easily for Windows-based physical or public cloud-based workloads!

Question has a verified solution.

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

This article aims to explain the working of CircularLogArchiver. This tool was designed to solve the buildup of log file in cases where systems do not support circular logging or where circular logging is not enabled
Simulator games are perfect for generating sample realistic data streams, especially for learning data analysis. It is even useful for demoing offerings such as Azure stream analytics, PowerBI etc.
Despite its rising prevalence in the business world, "the cloud" is still misunderstood. Some companies still believe common misconceptions about lack of security in cloud solutions and many misuses of cloud storage options still occur every day. …
Whether it be Exchange Server Crash Issues, Dirty Shutdown Errors or Failed to mount error, Stellar Phoenix Mailbox Exchange Recovery has always got your back. With the help of its easy to understand user interface and 3 simple steps recovery proced…
Suggested Courses

783 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