Question:
Is C++ still a relevant coding language to learn?
death punch
2013-07-18 13:24:44 UTC
I want to start learning how to code since I am planning on getting a computer science degree but I am wondering if I should learn C++ or java. I've also been told C++ is starting to become irrelevant compared to java, so i'm not sure what is better. Any help is appreciated. :D
Fourteen answers:
Cubbi
2013-07-18 19:01:07 UTC
It is the single most important programming language today and will remain so in foreseeable future. The most crucial parts of what our society relies on, run on C++ and cannot be done using another language (except maybe D if it ever takes off): stock exchanges, devices from jet engines to laser printers, oil pipelines, power grids, hospitals, whole city infrastructures, military technology, anything that requires predictable, guaranteed, maximal performance, and is not trivial to implement. Cell phone apps are written in other languages, but what do you think runs in the cell phone towers?



Java is a very different language, it traded expressiveness, speed, and resource management in favor of being simple to learn and use. It is true that, as the hardware improves, whole areas of programming move to Java and C# for simpler, faster, and cheaper development. If you beat your competitor by having more features and richer UI, C++ is not the language for you. If you beat your competitors by executing exact same trade microseconds faster, Java is not the language for you, and never will be.



Keep your options open, learn both -- learning a programming language (at least to the point of being able to work on someone else's team) is a really small part of what you have to learn to be a programmer anyway.
2014-11-02 22:04:45 UTC
C++ is an excellent language to start with. C++ is a mid level language. By that I mean "bolt-on Object Oriented Language". It has all the relevant attributes of a pure OOP with the flexibility of a modular language.

Think of it like someone takes the C language as the core, and attaches around that core all the attributes for a full blown OOP.

This may sound like its not worth the effort right? But it is.

If learnt correctly you will gain a deep understanding of things like:

values passed by copy

values passed by reference

... passed by pointer reference e.c.t (ask a long time java developer what a pointer is. hahaha)

operator overloading.

Templates



Those are just a few things off the top of my head, there's many more, so some research.

Mainly the key here is this:

C++ has been around for a long time, and thus a lot of C++ code have been "composited" and "inherited" over the decades to abstract away a lot of details and make every iteration weather it be to itself or a whole new codebase more easily applied. With all that said, you still have the option to get back to basics in the low level because C++ has the C language(and able to handle the syntax too) at its core.
Brandyn Gabel
2013-07-21 16:06:31 UTC
C++ is still very relevant. It is probably one of the most useful languages out there. I would recommend it over Java because it is less work and less lines of code when programming. It is very ambitious to learn either of them as a first language. For your first language you should probably try something like Javascript (Which is not at all related to Java) or HTML 5/CSS 3 combo.
michaeljhuman
2013-07-19 09:08:30 UTC
Clearly much programming is done with other languages.



C++ is not used much for web development ( never heard of it being used at all server side web development, and I can't understand how you could use it for client side.)



Seems it's not used much for mobile apps.



If someone was doing a productivity app, they would maybe look elsewhere.



It's used for real time systems, like the one I work on. You can't capture packets at 20 Gb/s using Java :)



It's used for high performance apps, in general. You are not going to write a chess AI in an interpreted language if you are trying to make the fastest engine you can.



It's used for 3D game engines I think. And maybe other critical code for 3D games. You can script some of the code, but not all of it.



It's maybe used for modern Linux work (would assume most of Linux was written in C, but I would assume you could add new code in C++.)



I see nothing which has replaced C++ for certain problem domains. As I said above, I am working on a project where all the high performance stuff is in C++.
2013-07-18 13:28:11 UTC
C++ is no way irrelevant to nay programming language. C++ is still one of the most powerful programming languages with access to libraries like DirectX for 3D games and external libraries like the Boost library, the LUA scripting language and much more.. Not to mention C++ also have inline assembly.



Java is a good starter programming language and transition very well into C++.
2013-07-18 14:25:14 UTC
People who claim Java makes C++ irrelevant should get their head checked. Whenever I use a Java program, I notice this within seconds because it takes ages just to do the simplest things.



Java is sloooooooow.... And that's only my main objection to Java.
2016-05-20 05:22:20 UTC
Learn the basic concepts of C and then learn C++,C# is a language used to develop apps for Windows Phone(s)
Andy T
2013-07-18 14:23:52 UTC
Not very relevant, but it does have its uses in which it cannot be replaced, the archaic nature simply lends itself to those specific uses. Managed Visual C++ .NET doesn't really take off in any way. The prevailent languages are Java for Android with native ARM as option, J2ME capped for lesser phones, Objective-C for iPhone, C# for Windows. I even dabbed with Palm's modded C just curious about it, the direction is very obvious since it is entirely simulated as Managed system under that API.



C++ is used for core kernel of each OS, not for normal uses; none of the phone platforms use it and it is dwindling in desktops..
2013-07-20 03:27:28 UTC
C++ is very relevant



Stanford University's first course for CS students is taught in java

introduction to computer science | programming methodology | 106A



http://see.stanford.edu/see/courseinfo.aspx?coll=824a47e1-135f-4508-a5aa-866adcae1111



but the 2nd and 3rd courses are taught in C++



http://see.stanford.edu/see/courseinfo.aspx?coll=11f4f422-5670-4b4c-889c-008262e09e4e



http://see.stanford.edu/see/courseinfo.aspx?coll=2d712634-2bf1-4b55-9a3a-ca9d470755ee



and Stanford is one of the top universities in the world



but if you haven't started programming yet, you might want to consider



https://www.udacity.com/course/cs101



where you'll learn to build a web crawler / search engine in Python



then you can move onto



https://www.udacity.com/course/cs262



where you'll learn to build a web browser (not web pages, but a web browser)



those 2 udcity courses should give you a solid foundation to move onto C++ or Java
2013-07-20 13:05:42 UTC
you can learn C++ or Java either one. Both are Object Oriented.
Anonymous
2013-07-18 14:02:39 UTC
I would start with VB, Python or Java for learning the basics. However, C++ is quite relative in many industries. Java is relevant to web development as it is platform independent. IMO, Python is a much simpler language and it is my top recommendation to start learning to program.
I'm good with computers brah
2013-07-18 13:27:38 UTC
C++ is not really the best for a first language.

It is mainly used for android apps and computer games.

So to answer your question, it still is, though not really easy.

Some nice languages to learn first are VB and Python, as well as HTML/CSS + Javascript.
Michael
2013-07-18 13:33:58 UTC
C++ is now mainly used in the game making industry. Java is used for general development.
2016-08-22 02:07:53 UTC
Was asking myself the same question


This content was originally posted on Y! Answers, a Q&A website that shut down in 2021.
Loading...