Want to protect your cyber security and still get fast solutions? Ask a secure question today.Go Premium


Learning to program:  VB, C++ or C#?

Posted on 2011-03-24
Medium Priority
Last Modified: 2012-05-11

I don't have a technical question, more after some advice on learning a new language.

As a complete programming beginner, which is better to learn c++, C# or VB?

Which is easier and which will give me better job prospects?

Many Thanks for all advice.
Question by:JakeSpencer

Accepted Solution

Kendor earned 500 total points
ID: 35205383
C++ is definitely the toughest to learn from all the languages you mentioned - however it is not microsoft dependent as the other two. If you really know how to program in C++ theres no problem for you to get a job, nor is it a problem to learn C#.

As a beginner I would start by learning C# it is a nice and easy to learn language. Also Java would be a good option to start with.

Assisted Solution

m_walker earned 500 total points
ID: 35205554
I am a c programmer from way back and moved into c++.  The basics for c are the same for java, php, c#.  So once you learn c++ and then try to learn/use the others then most things just make sense.   That said, I think the 3GLs are getting phased out for the 4GLs like .NET  and java and scripting like php, vbscript and jscript.

I like my old borland c++ builder.  I like to have my apps as stand alone as the can be.  single file, run of a usb and so on.  

At the end of the day I think it depends on what you want to do and access to support when needed.

If c# is easier to learn, then start there.  Try to focus on concepts more then the code.... good program design can be applied to all programming, specific code is only good for that.

When learning, start with as much non-gui as you can.  gui has a lot of drag and drop, and while easy, you are not really learning it.  It is only when you start typeing in lines of code that you start to learn.  Also do the basics.  As un-exciting as it is, write the simple hello world program.  If you think you will write a great app as your first app, it will get too hard too quick.  I still right very simply apps, just to test a single function and make sure it works as I want, or to learn how a new API works.  Then once I understand it, I then design and code the real app.

I can not stress enough the code design.  Its easy to skip this and just sit down and type code, but it can end up a mess and very hard to debug.  Sit down with a pen an paper (or visio) and use blocks to outline the program flow, then wrte a function for each block.

Good luck and remember to have fun....  
LVL 37

Assisted Solution

TommySzalapski earned 500 total points
ID: 35208128
C# and VB are just about the same. Only the syntax is very different.

If you want to be able to write scripts for Windows and MS Office, then use VB.
If you want quick development for Windows and web applications, use C#.
If you want to learn how a computer works and get a base that will help you learn any language fairly quickly, use C++.

C++ applications run faster, but if you want fancy interfaces and dialog boxes, you'll have to use some third party library. I recommend learning C++ first because C# is kind of a crutch. Learning C++ is like learning to drive a manual transmission for your first car. It'll take a bit longer to learn, but then you can drive either kind of car.
LVL 28

Assisted Solution

dpearson earned 500 total points
ID: 35211698
If you're a complete beginner you're definitely best to start with C#.  C++ is much harder and VB usage is rapidly declining so it little workplace value.

C# is relatively easy to learn and sets you up well in the current job market.

It also means you'll essentially know Java (at one time both languages came from the same root) and that's probably the #1 language for getting a job today.

But C# is also very marketable.  You won't easily get a job with C++ because there are a lot of experienced C++ devs out there and it's a language that requires a strong background - so very hard to get an entry level position with C++.  So even though it's a good language to know for finding work - it's much harder to gain entry into that world if you're just a beginner.

So from your list C#.  Otherwise consider Java (they're really similar but Java isn't Windows only).


Author Comment

ID: 35213453
Many thanks for all your comments.  A friend of mine works as a C++ programmer for a large software company.  His opinions echo dpearson's above, in that as a junior programmer I am much more likely to find a job using C#, perhaps for a company who needs to automate some of their systems, rather than a c++ programmer where I would want to work for a software company.

Many thanks again for all your advice guys.  Looks like I will try C#.

Featured Post

Concerto's Cloud Advisory Services

Want to avoid the missteps to gaining all the benefits of the cloud? Learn more about the different assessment options from our Cloud Advisory team.

Question has a verified solution.

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

Introduction Many of the most common information processing tasks require sorting data sets.  For example, you may want to find the largest or smallest value in a collection.  Or you may want to order the data set in numeric or alphabetical order. …
The purpose of this article is to demonstrate how we can use conditional statements using Python.
The viewer will be introduced to the technique of using vectors in C++. The video will cover how to define a vector, store values in the vector and retrieve data from the values stored in the vector.
The viewer will be introduced to the member functions push_back and pop_back of the vector class. The video will teach the difference between the two as well as how to use each one along with its functionality.
Suggested Courses

578 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