4 ms·
* High performance/scientific computing * Graphics * Infrastructure (web servers and browsers, OS's, drivers, etc) * Any desktop apps that are CPU/memory int
by bstamour 9y ago
* High performance/scientific computing
* Graphics
* Infrastructure (web servers and browsers, OS's, drivers, etc)
* Any desktop apps that are CPU/memory intensive. think image processing, video editing, even office applications
* Finance
* Games
* AI. GPUs are becoming more popular for training machine learning models, and C and C++ are pretty much dominating this space with OpenCL, CUDA, etc.
You mentioned in previous comments that browsers and stuff don't really count because you're not going to be implementing a browser that competes with the big four. But people have to work on maintaining those browsers. Same with MS office, Photoshop, etc.
The world pretty much runs on C and C++. From the steering column in your car to the computational fluid dynamics models that predict hurricanes and save lives, to the telephone switches that route your cell phone calls. Until pretty much every important piece of digital technology, small or large, switches over to a new language, there will be a need for C and C++ developers.
- doktrin 9y ago> people have to work on maintaining those browsers. Same with MS office, Photoshop, etc. People do, but I won't be learning C++ to apply for a job maintaining some gigantic piece of software. I never asked about the job market for C++ developers, because there obviously is one somewhere and I can just search the job boards for them. Implied in my question, or so I thought, is what kind of project can I use C++ for - not what kind of future employment opportunities could I enjoy if I developed professional-caliber proficiency with C++. I was looking for a reason to use C++ as an individual, not as part of the Chrome or Safari team in 5 years time.
- GuB-42 9y agoWhat you can do? The same things pros do ;) You won't be maintaining Photoshop but you may be dealing with large opensource software written in C++. And what is good for the pros is good for you too. There is a small caveat about game dev though. While C++ is probably the best language for writing game engines, if your plan is to write an indie game, this is probably a bad place to start. You should probably pick up an existing engine and build your gameplay on top of it using the associated scripting language instead. Writing your own engine can be both fun and instructive but it is not the easy path towards a complete game.
- doktrin 9y ago> Writing your own engine can be both fun and instructive but it is not the easy path towards a complete game. Yeah, definitely not and it's kind of an insane undertaking IMO given how full featured engines & frameworks like Unity have gotten. Maybe I need to take another look at Unreal, given that C++ is sort of the first class dev language for the framework - for now at least. This is something I've sort of been poking at this entire thread : there are fewer opportunities for developers to use lower level languages (aside from at work, if the job calls for it - but numerically speaking most jobs don't call for systems-tier languages anymore). Many of our day jobs involve higher level languages (which in my case means Scala), and for the overwhelming majority of solo projects there are languages that are quicker / easier / more effective to ship with than say C++.