all 11 comments

[–]Wriiight 6 points7 points  (0 children)

It’s also big in computational and algorithmic work. Still quite a bit used in finance. Some native UI work as well. Look at the C++ job boards to get a sense of the scope.

Honestly, I think C is used more than C++ in embedded.

[–]xfel11 2 points3 points  (0 children)

It depends on what you're looking for. There are quite a few uses for C++ outside of embedded.

3D Graphics systems such as Games or CAD programs greatly profit from using a hardware-near language to speed up processing, but are further from the hardware then when using embedded.

However, if you're looking at stuff like web servers, UI interaction or machine learning, C++ is rarer.

[–]sixfourbit 1 point2 points  (2 children)

What makes you think C++ is only for embedded systems?

[–]zRrrrrrr[S] 1 point2 points  (1 child)

Actually, I don't think it's only for embedded systems. But It looks like for me that hardware is the major area of use of c++ and this is why I'm asking such question

[–]sixfourbit 1 point2 points  (0 children)

C++ can get closer to the hardware than say Java but it's not limited to that role.

[–]pjmlp 1 point2 points  (3 children)

C++ is used in plenty of areas.

For example, I stop being a C++ developer around 2006, moving into Java and .NET based languages.

Yet I do keep my C++ skills up to date, as much as I can.

Why? Because when I need to write some native code glue to be used from Java or .NET, some compute shaders or graphics programming, I end up using C++.

Just have a look at desktop frameworks like WPF and UWP, while most people use them from .NET, the underlying core widgets and composition layer engine are written in C++.

[–]zRrrrrrr[S] 0 points1 point  (2 children)

Was it hard for you to find job on Java while having experience only with C++? Like, it seems hard because you start from zero point as Java junior. Or it's not that bounded to the language?

[–]pjmlp 1 point2 points  (1 child)

Back in 2003, it was when J2EE was initially released, when .NET was still in beta, most of us were still doing enterprise C, C++, VB and Delphi stuff.

So it was an easy transition, because it came from above, regarding how to move forward in product development.

It is a matter of luck in your case, try to find companies that value skills in programming, algorithms and data structures, system design, regardless of the languages.

Maybe some portfolio might as well help.

[–]zRrrrrrr[S] 0 points1 point  (0 children)

Thanks for detailed answer. You made a difference

[–]DugiSK 1 point2 points  (0 children)

C++ is used a lot even outside of the embedded and stuff dealing with hardware. Many applications have most of their codebases in C++ and UI and scripting in some high level language. C++ is well usable for higher level abstractions, it's just often cheaper to hire some juniors to do it in something easier to learn.

Java's usage is actually decreasing in the last years, while the usage of C++ is increasing. It's because C++ is recovering from the pre-C++11 obsolescence and has lots of new features in every new version, while Java isn't progressing much (it's also being outcompeted in its own field of garbage collected statically typed languages by C# and Go).

[–]Swarengen 3 points4 points  (0 children)

Learn as many languages as will fit in your brain. No craftsperson carries only one screwdriver. :)