Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

Well I made a 5 year plan for myself (11years-16years) I am pretty good at Java, HTML, and PHP. I have already done some end projects:

  • Small Java Platform Game
  • A Small Polynomial Solver
  • A Small Image Sharing Site
  • A Chess Website: chesslounge.net

I am currently doing some Android Development and so far I have made a program that Vibrates, Blinks the Light, or Creates a custom status message based on the user input. And a program that rotates a pyramid with a texture.

My question is:

Should I stick to what I am doing or Learn something a little new? I am itching to do C++, but what is your advice?

share|improve this question

closed as off-topic by GlenH7, gnat, MichaelT, Bart van Ingen Schenau, psr Jan 22 at 21:36

This question appears to be off-topic. The users who voted to close gave this specific reason:

  • "Questions seeking career or education advice are off topic on Programmers. They are only meaningful to the asker and do not generate lasting value for the broader programming community. Furthermore, in most cases, any answer is going to be a subjective opinion that may not take into account all the nuances of a (your) particular circumstance." – GlenH7, gnat, MichaelT, Bart van Ingen Schenau, psr
If this question can be reworded to fit the rules in the help center, please edit the question.

2  
If you want to do C++, do it. As long as you're doing something you enjoy you'll have the enthusiasm to work through problems. It's the best way to learn. –  Paul McCabe Mar 1 '11 at 16:06
6  
Are you saying you're 10? –  Joel Etherton Mar 1 '11 at 16:38
    
@joel -- from his website: "Welcome to chesslounge.net, a website made by a 11 year old!" Make way, Mark Zuckerberg. –  tcrosley Mar 1 '11 at 17:20
2  
I applaud your enthusiasm, but my recommendation is that you throw your 5 year plan out the window. You're doing well learning how, but without understanding why you're teaching yourself bad habits. Find time to be a kid. There's nothing wrong with it, in fact some studies even indicate that it's good for you. I'm not saying abandon these projects, but don't plan it out. Live. –  Joel Etherton Mar 1 '11 at 17:35
    
@Joel: There's no harm in having a five-year plan, even if you're 11. It gives you a direction and an easy way of seeing if you're progressing as you like. What's harmful is sticking to an outdated plan when it's clearly wrong. I believe General Eisenhower said, "Plans are useless, planning is indispensible." –  David Thornley Mar 1 '11 at 18:08
show 3 more comments

5 Answers

up vote 0 down vote accepted

I think it's a great five year plan! Year 6: buy a motorcycle. Or maybe tomorrow and do some dirt-track instead of street.

When I tried to learn C++, it was in a different age and I was endlessly confused by public / private members. I knew no programmers, and that sucked. Do it, have fun. You've got the resources for questions along the way here, and I can't imagine you won't succeed with the resume you've got already.

share|improve this answer
    
Thanks that really helped! I guess I should take ever bodies advice so since C++ is in my plan I will learn it, but still devote lots of time to being a kid, but focus on Android dev to! –  Andrew Mar 2 '11 at 0:09
add comment

Check out the Book "Seven Languages in Seven Weeks" It will show you 7 very cool languages. (Ruby, IO, Erlang, Clojure, Haskell, Prolog and I think Scala).

If you want to really become a solid programmer understand pointers and recursion.

share|improve this answer
    
Nonsense. I haven't touched a pointer since my last C++ program in 2001. And I use recursion about once every other full moon. –  Randy Minder Mar 1 '11 at 16:48
3  
@Randy Minder - you don't have to directly use pointers, but it helps to understand them; even if it is to know the difference between ByVal and ByRef in VB. –  JeffO Mar 1 '11 at 16:53
    
@Randy Agreed. Recursion is certainly a specific problem domain solution as I only deal with recursion when folder hierarchies surface. –  Aaron McIver Mar 1 '11 at 16:56
1  
How much you use recursion depends a lot on what language you use, and what style you use. In functional languages it tends to be much more common. However that being said even if you are not writing recursive code understanding recursion is still a key skill in programming –  Zachary K Mar 1 '11 at 16:58
add comment

If you want a broad set of skills, one thing that you're missing web client-side/DOM scripting, have a look at JQuery for a great JavaScript library. Then you will have a broad and shallow understanding of several technology areas and be able to specialise in your favourite.

share|improve this answer
add comment

I have the same problem, alot of times i'll want to learn all these new interesting things. But then forget that you can really only learn one thing "well" at a time...in my opinion anyways.

When I start trying to "bring in"/learn multiple languages etc I start getting overlapped and my brain burns out very quickly.

But it is always good to learn new things, just do it one at a time IMO.

share|improve this answer
add comment

What's in your plan? :)

Learning a new language is never a bad thing, but is learning C++ in your plan? It all depends on what you have set as your goals for the next 5 years.

If your 5 year plan is to develop an Android app that you can sell/offer in the market place, then maybe C++ isn't the right way to go.

If your 5 year plan is to learn a new language and to develop your skills with more lower level development, then learning C++ would be a great place to start.

Either way, you'll be learning something new.

In the end no one here can tell you if learning C++ is right or wrong for you. It's up to you to decide if it's right time to jump into it.

share|improve this answer
add comment

Not the answer you're looking for? Browse other questions tagged or ask your own question.