Solved

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

Posted on 2011-03-24
5
474 Views
Last Modified: 2012-05-11
Hello

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.
0
Comment
Question by:JakeSpencer
5 Comments
 
LVL 5

Accepted Solution

by:
Kendor earned 125 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.
0
 
LVL 4

Assisted Solution

by:m_walker
m_walker earned 125 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....  
0
 
LVL 37

Assisted Solution

by:TommySzalapski
TommySzalapski earned 125 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.
0
 
LVL 26

Assisted Solution

by:dpearson
dpearson earned 125 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.
http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html

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

Doug
0
 

Author Comment

by:JakeSpencer
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#.
0

Featured Post

Why You Should Analyze Threat Actor TTPs

After years of analyzing threat actor behavior, it’s become clear that at any given time there are specific tactics, techniques, and procedures (TTPs) that are particularly prevalent. By analyzing and understanding these TTPs, you can dramatically enhance your security program.

Join & Write a Comment

Software development teams often use in-memory caches to improve performance. They want to speed up access to, or reduce load on, a backing store (database, file system, etc.) by keeping some or all of the data in memory.   You should implement a …
The Fluent Interface Design Pattern You can use the Fluent Interface (http://en.wikipedia.org/wiki/Fluent_interface) design pattern to make your PHP code easier to read and maintain.  "Fluent Interface" is an object-oriented design pattern that r…
The viewer will learn how to implement Singleton Design Pattern in Java.
Viewers will learn how to properly install Eclipse with the necessary JDK, and will take a look at an introductory Java program. Download Eclipse installation zip file: Extract files from zip file: Download and install JDK 8: Open Eclipse and …

757 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

Need Help in Real-Time?

Connect with top rated Experts

16 Experts available now in Live!

Get 1:1 Help Now