Is C++ still worth learning in 2018?

Is C++ still worth learning in 2018?

I remember when I was in school about ten years ago everyone was memeing it up as the choice of the professionals, especially for gamedevs.

Since then I've heard a lot of shit has changed and C++ is no longer as essential. Has it become basically obsolete or is it still marketable and widely used?

Attached: C_plus_plus_at_woodlands_school.jpg (2592x1944, 1.33M)

Other urls found in this thread:

graphics.stanford.edu/papers/veach_thesis/
pbrt.org
twitter.com/SFWRedditImages

What for.

the funny thing is i was going to make a thread about this as well. i currently know java, javascript, and python, but I just dont see a point in learning c++. can any user show me an example of its relevance?

General software development.

I know it was widely used when performance was a big concern which is why gamedevs liked it but knowing what I know now about the gamedev industry I don't really wanna slave away doing that as a career. Is it still used widely for anything else nowadays?

I'd just like to interject for a moment. What you’re referring to as C++, is in fact, C/C++, or as I’ve recently taken to calling it, C plus C++. C++ is not a language unto itself, but rather a superset of a fully functioning C system made useful by the C standard libraries, idioms and compilers comprising a full programming language as defined by Jow Forums. Many developers program in a modified version of the C programming language every day, without realizing it. Through a peculiar turn of events, the version of C which is widely used today is often called “C++”, and many of its users are not aware that it is basically the C programming language, developed by Bell Labs. There really is a C++, and these people are using it, but it is just a part of the system they use. C++ is the abstractions: the layer in the language that allocates the machine’s resources through higher-level syntax. Abstractions are an essential part of a programming language, but useless by themselves; they can only function in the context of a complete programming language. C++ is normally used in combination with the C programming language: the whole system is basically C with C++ added, or C/C++. All the so-called “C++” dialects are really extensions of C/C++.

Only occasionally. Not in bread-and-butter database-driven enterprise projects.

>can any user show me an example of its relevance?
Every relevant authoring software for content.

...Or the software would just be built with Java.

>Since then I've heard a lot of shit has changed and C++ is no longer as essential. Has it become basically obsolete or is it still marketable and widely used?

C++ undergoes constant development so new functionality is continually added. You should learn it if you think you'll use it in the industry, otherwise stick to python. If you have to pick one, I'd say more people use python than C++ in the wild, so learn that.

If it was possible, it was done.

I already know Python pretty well. It was actually the first language I ever learned.

Since then I've been doing a lot of Java and have started to learn C so C++ kinda makes sense as a next step but if it's not widely used anymore then I won't waste my time.

It depends on the industry, its not as widely used in 'general' as python is, but its still very prevalent in many places. If you are learning C then you should learn C++ as well. Being able to write C, C++ and python on your CV should make you way more employable.

Plus C++ can be used for fun dev stuff other languages generally suck at (embedded, 3d/graphics, etc)

It's still worth learning.

nice pasta

Thanks, made it myself. With some modification from Stallman copypasta.

I like C++. I use it in my job as a physics PhD student. I hope to get good enough to be a professional dev when I graduate.

>physics PhD student
>be a professional dev when I graduate
Why did you waste all that time, effort and money? Why not just go for CompSci from the beginning?

different guy here.
Because contributing to the scientific understanding of reality is an interesting and arguably valuable input to humanity while comp sci's usually go onto do some worthless ratrace busiwork for a manager/corporation who's just trying to spin up more bucks before they die from stomach ulcers.

That user wants to become a professional dev (aka code monkey), not a physicist.

>Because contributing to the scientific understanding of reality is an interesting and arguably valuable input to humanity
Making video games for a living doesn't do any of that though

A lot physics PhD end up banks,quants,risk analyst,medical machines,nuclear plants.

But begin game developer is just one waste, learn compute graphics, you had background to build game engine, new render technical.


graphics.stanford.edu/papers/veach_thesis/

pbrt.org
This book build raytrace render in C++.

>worth
fuck off, pajeet.

C++ is obsolete.
Use C instead

C++ is the only one you should learn. Everything else is a meme.

C++ gets used in legacy Windows app and large *nix codebases for megabanks and megacorps. Microsoft has been shitting all over the faces of their C++ users for ages and are still surprised when they choose to go Java or full stack rather than their .NET bullshit. Megabanks like JPM hate their C++ codebase but are married to it since they spent a gorrilion dollars and over a decade building the stuff. Apple and Google laugh in the general direction of C++ because they can strongarm devs into using whatever proprietary language they crap out.

C++ is still a good language but no longer a go to for modern software development due to lack of framework and vendor support. Microsoft only lets you use their "managed" Cancer++ language modifications to use any remotely modern APIs. It would be nice if the language had modern, supported ORM and certain other things modern platforms have.

As a language, it ends up being too powerful for its toolset. It's easy to write multimillion line code only to get stuck in painful, tedious refactoring when design guesses are wrong or requirements change. The lack of any kind of major, automated refactoring tools has made trying to wrangle codebases suck. The new features being added are nice, but still not enough to take the edge off of cleaning up legacy shit.

Attached: 1429284779965.jpg (328x328, 50K)

it was sarcasm, imbecile

C++ and other C-like code is used heavily in embedded environments where 5kb memory may be a gross luxury, or where performance is critical, like network software, game engines, parallel cloud computing providers, and automated trading.

The first part of is generally true, but when that power is needed, alternatives won't do.

In this sense, C++ is what you're left with after eliminating other options due to your constraints, not where you begin.

How cute! A MP3 player for cocks!

at that level of embedded, C++ is out. ANSI C is used instead

I know you're right, but if they're a beginner, I think it's fair to conflate the two, because many of the skills translate. I've personally found that when teaching microcontroller stuff, c++ knowledge usually will translate well enough to c that if you say "You don't get to use the c++ standard library", and provide them a brief lesson about c-strings, malloc and free, and structs and unions, they usually do okay.

Yes, it's still relevant. C/C++ uses much low level shit that other languages abstract for you. If you really want to get into the knitty gritty of the OS, C/C++ & assembly is there. Yes it is still relevant and good to learn.