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

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


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.
4 Solutions
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.
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....  
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.
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).

JakeSpencerAuthor Commented:
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#.
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

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.

Tackle projects and never again get stuck behind a technical roadblock.
Join Now