I'm required to learn it for a degree. I already know a bit of Java.
But I'm just kind of wondering if it's a waste of time or not.
No, it's not a waste of time. It's one of the most powerful and fundamental programming languages out there. Even if you don't end up programming in C++ in your particular job or field, it is not a waste of time to learn it.
Dido. C++ support so many different programing paradimes that can be related to so many different languages.
I consider Java and C# to be C++ with training wheels. One of the major advantages of C++ is that you can also write low-level C code with it, such as direct I/O for device control that may be difficult or next to impossible with other languages.
I agree as above its important to atleast have a knowledge of C++ because in virtually all industries where programming is requires C is there !!
I got books and tutorials about it, but you know, laziness is on the way =x
While I would not say you need to know C++ to be a successful programmer, you will not regret learning it, if only because it would give you a better idea of what the Java JVM and similar interpreters are actually doing for you. It is indeed a powerful language, and one worth knowing.
I would highly recommend learning both C and C++, separately. While C++ is mostly a super-set of C, they are radically different in how you approach working in them, paradigmatically speaking. Which you would want to learn first is up to you, some would get more from learning C first, others would be confused by it. I would, however, recommend learning an assembly language as well, more for the detailed understanding you can get from it than for its applicability.
I would also recommend learning a good scripting language like Python or Ruby, as well as a functional language (I favor the Lisp family personally, but that's a distinctly minority opinion) for higher-level abstractions. In general, the more languages you know, and the more diverse the languages you study, the better you will be as a programmer in general.
I'd say it depends what you want to do, if you get a job in web development you would rarely ever need to know any system programming which is what c++ is useful for.
So no, it most certainly isn't necessary to learn. Remember, this is a c++ forum so your answers are going to be somewhat biased.
Remember, this is a c++ forum so your answers are going to be somewhat biased.
But there is also a reason why the C++ forum is the first one on the list, and the most active. ;)
But there is also a reason why 'In Soviet Russia c++ programs you.'
@iamthwee re. web development
Unfortunatly, the latter is too often the case because many PHP developers are clueless about C++. And in case you are interested, I wrote a complete cell phone emulator in PHP, as well as other tools for performance engineering and analysis. It is a very powerful language, but if I knew nothing about C++, these tools and applications would have been impossible!
If you approach it as an object-oriented language, you can do some awesome web development with it.
Object oriented or proceedural, awesome web development is possible.
Used incorrectly, the security vulnerabilities it exposes can be devistating!
Indeed, but needing to know c++ has hardly much to do with the vulnerabilities. Most web dev issues come from not escaping sql queries, xss attacks and not using inbuilt hashing/encryption algos. Needing to know c++ is irrelevant here.
I wrote a complete cell phone emulator in PHP
Again that is NOT your bog standard web development app. Again this is my own opinion, but I'd say if you were a web developer you wouldn't need to delve into knowing c++ or c. You might pick up a job writing the business logic in a web app, be in java or php or whatever. Neither of these requires knowledge of c++.
Web developers aren't really interested in the mechanics of how PHP does it's job. Those fine intricate details are hidden from the end user and this is a good thing.
Yes c++ is awesome and it is always good to further your knowledge base. But as I said before it depends what you want to do in your career.
Knowing a lot of languages gives you the flexibility to do more but let's not get carried away and say you NEED to know it if you want to do just web development.
I might turn around and say all c++ system programmers need to learn PHP and HTML and JQuery. Most systems developers would laugh in my face and say 'I'll write the embedded web server and i/o protocols then let the frontend developers do the html interface.'
^^Sounds a good enough reason to me?
No its not a waste of time! there are many projects are doing in C++