• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 622
  • Last Modified:

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


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.
  • 3
  • 2
  • 2
  • +3
4 Solutions
Meir RivkinFull stack Software EngineerCommented:
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.
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...
Kyle AbrahamsSenior .Net DeveloperCommented:
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: Port Scanner

Check which ports are open to the outside world. Helps make sure that your firewall rules are working as intended.

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.

Mike TomlinsonMiddle School Assistant TeacherCommented:
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...
KevinAuthor Commented:
Thank you all very much for sharing your opinions with me.

Take care,
Jacques Bourgeois (James Burger)PresidentCommented:
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.
Mike TomlinsonMiddle School Assistant TeacherCommented:
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...
KevinAuthor Commented:
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.
Kyle AbrahamsSenior .Net DeveloperCommented:
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.
KevinAuthor Commented:
Thanks for the tip :)
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

Featured Post

Cloud Class® Course: Amazon Web Services - Basic

Are you thinking about creating an Amazon Web Services account for your business? Not sure where to start? In this course you’ll get an overview of the history of AWS and take a tour of their user interface.

  • 3
  • 2
  • 2
  • +3
Tackle projects and never again get stuck behind a technical roadblock.
Join Now