I've been learning c++ lately and I'm thinking whether it is worth it to learn it or wait till AP java next year and then learn if afterwards. It seems to have a lot in common with java so it looks like I can easily pick it up afterwards.
Long story short, yes. It has so much power and use, over Java, and a fantastic standard library for IO.
I agree, Plus it is the most complex Language, so that when you get ready to use any other. learning any others will be a cinch.
will it help with java? yes.
is it a good language to know? yes.
but if you could, go with python. its not good for making full fledged "programs" like c++ will, but if you need to type somehting up fast for personal use, nothing can beat python imo.
It's definitely not the most complicated language. Look at Perl syntax.
I think c++ is a great language to learn as it makes learning other languages easier especially java.
You can also start with Java, you just need to know where you want to start. Java is quite the large language when you come to all of the packages with Java.
Ajit, If I were you I will stick with C++ at least until I know how pointers and references work with encapsulation, inheritance and abstract classes. Only then it will be a good idea to switch to Java. Learning C++ will give you a good idea of how heap and stack memories work, a must for any serious programmer. With Java you will not have such opportunity since all that is absracted away.
To make this easier, I'd stick with CPP and keep at it as long as you can then when you are forced to learn "JAVA".... you learn that to. Most what you learn in C++ will carry over to java and you will be saved from learning all the bad coding techniques that come with java strait out of the box as a lot of tutorials and websites that teach java don't really protect you from the java beginner mistakes. That and C++ teaches you from front to back, while java is middle to back to front to middle...
If your starting new, learn Java.
I understood Java because of C++.
During my Java class I spent so much time trying to figure out WHY I couldn't simply do something easily like I could in C++. I remember the solutions were along the lines of "IDK why this should work, but it does."
During my C++ classes I spent more time crafting the actual code (pretty code makes for easier debug tracing!) and less time looking for errors. Except for my knack for creating a perpetual machine (infinite loops).
I've began the journey of learning C++ even though I've never coded anything, hate the idea of coding etc. etc. I'm following an e-Book called Jumping into C++ (http://www.cprogramming.com/c++book/) and it's doing a fine job at teaching me so far. I believe I've made it to chapter 4 in about week. The idea was to do a chapter a day but that's gone to hell right now.
I too have just started with C++, but somehow I've also found myself learning C with an online course from UNSW, which SHOULD be similar to one of my university units when I start
All though there a plenty of replies already I will give my 2 cents. I would say you certainly do not need to learn C++ to become a successful developer, learning Java, C#, PHP, Python and the like would suffice to join the industry or create hobby projects etc. All though I would say similar to that of John Carmack is that "Low level programming is good for the programmers soul". Learning C++ will give you a greater appreciation for the lower level concepts, programming "closer to the hardware". It is also generally considered more difficult and could give good experience, if you can write C++ you can write all those other higher level languages. Take what I say with a grain of salt though, I am by no means a professional developer/engineer.
On the plus side (excuse the pun), C++ is very fast and has great bindings for OpenGL making it awesome for game programming which is exactly why it is used. But be warned, C++ is sometimes considered to be as fast as the quality of code, which comes with experience of course.
P.S. this is my first post, I love The Tek!
So...C/C++ is to OpenGL as Visual(insert language) is to DirectX. Got it. :-p ;-)