Click here to Skip to main content
15,884,745 members
Please Sign up or sign in to vote.
0.00/5 (No votes)
See more: (untagged)
Good Afternoon!

This is my first post, and I really hope I followed the forum rules appropriately and this
question is posted in it's proper location.

I'm struggling with a decision at the moment on picking a language. I'd like to start by saying that I am currently active duty Navy, with enough free time to teach myself but I currently don't have the capability to take college courses. It's not a "I must pick the best language" decision. I see enough of those posts to know that there is no down right "Best" language. Just what best fits the problem or task at hand. I've narrowed it down to wanting to learn C++. But the college that I aim to take courses through (UMUC, an online school that was recommended to me that works very closely with the military) teaches it's fundamental programming courses in Java, and has a few electives in C#. I can't take any courses for another year because I don't qualify for Tuition Assistance yet. So what I am wondering is, would it only be detrimental to myself to begin learning C++ if I will only have switch to studying Java for these college courses? Could it perhaps be beneficial?

I look forward to any response you all as a community have to give. Again, if I posted this incorrectly or in a wrong location, a friendly nudge in the right direction is greatly appreciated.


ITSN Corsini, Gabriel.
Posted

Generally for a newcommer you are better off learning virtual machine languages with garbage collection, like java and c# (vb.net etc.).

You should stay away from c++ and objective c since they are messy and distract you with the details.
 
Share this answer
 
Comments
Nelek 30-Dec-13 13:20pm    
Exactly for that reason I think it helps more to have a basic/medium knowledge of C++ first, and then move on to the "higher".
Mehdi Gholam 30-Dec-13 13:32pm    
I remember reading c and not understanding anything the switching to turbo pascal (eventually I found a teacher in c and he explained the basics in an hour, from which point I programmed in c), since programming can be self defeating if you can't get the damn thing to work, I would suggest a more forgiving way of entry.

But all this is a matter of opinion and left to the judgment of the reader.
Nelek 30-Dec-13 13:42pm    
Of course, all is opinion. :) And I do know as well, how frustrating can it be at the beggining. I remember my first pointer-hour in college. My mind was telling... WTF?
Tom Marvolo Riddle 31-Dec-13 0:12am    
@Nelek:My mind was telling... WTF?Same here
[no name] 30-Dec-13 14:00pm    
Mehdi, would you mind elaborating on what you mean by those languages being messy, and what details are distracting? Just so I have a better understanding of your opinion.

Thank you for your response though!!!
Can you see the contradiction between Solution 1 and Solution 2? But both authors are right, to certain point. In my comment to Solution 2, I try to argument one thing: you really need to learn several languages, even though in the perfect world one would be enough. But we don't have such thing as perfect world :-).

—SA
 
Share this answer
 
Comments
[no name] 30-Dec-13 18:59pm    
Wow. That was great! Thank you so much for that answer. That really helped me figure out what direction to go in :).
Sergey Alexandrovich Kryukov 30-Dec-13 19:16pm    
You are very welcome.
Good luck, call again. Best wishes in New Year!
—SA
To be honest, I am not one of the best programmers in high level end, but if you want my opinion...

I think starting with C++ is not a bad idea at all, many people might think: "why? he is going to learn almost everything in Java, it is not worth to waste the time"

The short point is (Quoting Rajesh R Subramanian): Don't forget that my compiler compiled your compiler.

What I want to mean is... C and C++ are the basics. Yes, Java and C# have tons of new features in comparison with them, but (in my opinion) they are the best to learn one of the most important things in programming, that is the way of thinking and how to build the algorithms.

The "limitations" of C++ forces you to think a bit more, to make things clean and pay attention to the details. Java and C# make things "easier" and you don't need to pay attention to the same things.

I think 6 months C++ and 12 months java can bring you more than just 18 months Java.

Just my 5 cent

[addition]
Some good links
Useful Reference Books[^]
http://www.csharp-station.com/Tutorial.aspx[^]
http://www.visualstudio.com/downloads/download-visual-studio-vs[^]
techniques to keep well maintained and understandable coding parts[^]
 
Share this answer
 
v4
Comments
[no name] 30-Dec-13 13:59pm    
I appreciate your advice, as well as the references you listed. Thank you :)
Nelek 30-Dec-13 14:00pm    
You are welcome
Sergey Alexandrovich Kryukov 30-Dec-13 18:48pm    
You have a good point here, about C and C++ being closer to the basics. Unfortunately, they are close to the basics in an ugly way. There are much more regular and "academic" languages like Pascal, especially Borland/Delphi Pascal (which provides access to exactly the same low level as well as higher levels), and a lot more, which did not get as much of popularity. Unfortunately, all the available languages are have some critical problems: they are either really bad or don't offer good implementations, or both. And this is not because there are no people don't know how a good language should look like. There are good ideas, but the big crowds of people often pick up and popularize really bad ideas, and that ultimately shifts whole industry.

The conclusion? Very simple: anyone who is going to get into programming, in real life, has to learn good number of different programming language. In a weird way, this is easier then learning just one. When someone learns just one language, it often misleads a person into bad programming. One need to learn multiple languages, to understand how programming works.

(I voted 5.)

—SA
Nelek 30-Dec-13 20:06pm    
Thank you for the addition. I am agree with "the more the better" (within the useful group).
Sergey Alexandrovich Kryukov 30-Dec-13 21:07pm    
"The more the better" would be a pretty big exaggeration, as it could lead to wasting a lot of time. Certainly, most languages don't deserve learning, and never touching some would actually be a great benefit (something like VB already turned many wanna-be-developers to will-never-be-able-to-get-it people :-). It's that people knowing well only one language (very typically C++ or Java) tend to have huge problem: not understanding programming behind the language. I faced with cases when such developers simply cannot understand you...
—SA

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900