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.

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 know virtually nothing about C or C++, and I've been programming ASP, C#, VB.NET, Java, JavaScript quite sucefully for a few years without problem, but, I still think that if I had knowledge about low level C, C++ and even Assembly, I would do a much better job, because of the basic understading about hardware communications and use that I don't have.

I got books and tutorials about it, but you know, laziness is on the way =x

Edited 2 Years Ago by AleMonteiro: More info

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.

Edited 2 Years Ago by Schol-R-LEA

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

@iamthwee re. web development
One of the pre-eminent web devlopment languages today is PHP, which is a reflection of C++. If you approach it as an object-oriented language, you can do some awesome web development with it. I consider it a weakly typed version of C++ with HTML, JavaScript, CSS capabilities. Used correctly, it is VERY powerful. Used incorrectly, the security vulnerabilities it exposes can be devistating!

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!

Edited 2 Years Ago by rubberman

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?

Edited 2 Years Ago by iamthwee

This article has been dead for over six months. Start a new discussion instead.