Live data from Hacker News

The pool of talented C++ developers is running dry

efinancialcareers.com

631–640 of 869 posts

Re: The pool of talented C++ developers is running dry

#631
post #393

Earlier quoted context omitted.

There's also the opposite problem: older devs will use outdated features and have best practices in place that are now considered antipatterns. This exacerbates the existing difficulties to modernize legacy code bases and creates incentives to not do so. New devs are forced to learn C++ from 20 years ago which is much worse than modern C++.

My experience with C++ is that every five years I come in and see people claiming that not only should I never do whatever I was told five years ago, but actually it was never popular and nobody ever did it. Mostly about ways to allocate objects or use smart pointers. I'm still wondering why `(int)` is spelled `reinterpret_cast ` in C++. Do they just like hitting keys on the keyboard?

> I'm still wondering why `(int)` is spelled `reinterpret_cast` in C++

1. because it is greppable and unsafe

2. because there is also static_cast and dynamic_cast

3. Because in C (int) is all three at once and not greppable -> C will let you do whatever, C++ will not let you do with a static_cast everything you can do with a (T) cast.

All in all, it is nice to ask, but if you do not know what you are talking about except for the surface, then, you should not say:

> Do they just like hitting keys on the keyboard?

No, we do not, but we hate even more to get an ungreppable, undecipherable (semantically) casting lost somewhere in several tens of thousands of lines of code :) This eases finding the suspicious code more easily.

Re: The pool of talented C++ developers is running dry

#632
post #413

Earlier quoted context omitted.

As someone who has been writing C++ at Google, this exactly. Despite all the tooling, guidelines and "internal magic", C++ is still an abomination. And no it has nothing to do with memory management, I actually do like C. I love how Eric Raymond describes it as "anti-compact", because, well, it really is. C++ as a whole should be deprecated -- and no new projects should use C++ (unless for some very odd and specific…

> C++ as a whole should be deprecated -- and no new projects should use C++ (unless for some very odd and specific reason) Too bold statement. There are still lots of reasons to keep using C++. LOTS.

I can see why for legacy projects, but for new projects, what are they?

Re: The pool of talented C++ developers is running dry

#633
post #4

I switched from C++ because the type of work is typically boring. Its either system level stuff, or HFT, usually some market data system or similar. Not to mention its likely a big old system with legacy code base. Seeing the salaries now I kinda regret switching out, but the companies and business problems you get in Python & Java are much more interesting.

> the type of work is typically boring. May be a personal taste thing but graphics programming, computer vision, scientific computing, robotics and even some embedded systems work is far from boring imo. But certainly the above are niche fields in a market where software engineering is almost always limited to webdev.

Each of the industries you mention has a tech stack which must remain modern. That means that new work will migrate to the language easiest to do the work and find workers.

It's gonna migrate away from C++ if C++ becomes "legacy."

Embedded systems work is perhaps the exception - since there will be old hardware in the field. But firmware parts go out of production within 2-10 years and so new drivers require creation and new features encourage a migration to a whole new system.

Re: The pool of talented C++ developers is running dry

#634

Earlier quoted context omitted.

> I've even designed an analog hall effect keyboard PCB with integrated IR sensor, dual power regulators (to handle 95 ultra bright RGB LEDs), invented-by-me analog hall effect rotary encoders (incremental and absolute), and more. It wasn't rocket science. Sorry to burst your bubble... Glad you learned enough to do it and had fun with it. Yet, such PCB's are trivial to design. Heck, one could auto-route something lik…

> Yet, such PCB's are trivial to design. No, analog keyboard PCBs are not trivial at all. You have to keep a lot of things in mind when routing your analog VS digital tracks. Especially if you've got per-key RGB LEDs right next to your hall effect sensors (can be a lot of noise if you don't do it right). Not only that but you also have to figure out how to get loads of analog sensors into a microcontroller that may o…

I don't really see why you would create a keyboard in this way.

> ...except 99% of all PCBs aren't that complicated. You don't need to know the specifics of RF in order to design a board that controls some LEDs.

There is a difference between creating something that works, which is easy enough to do, and creating something that is competitive on the consumer market, i.e. that BARELY works. This is the difference and why you would pay an EE to do this job.

Re: The pool of talented C++ developers is running dry

#635

Earlier quoted context omitted.

Maybe more like C++ without (most) pointers. A coupe of years ago they allowed mutable references in function arguments, so the use cases for passing pointers around were reduced even further.

That's it. Not "without objects," but without pointers. One of the things (back then) that made C++ so powerful, was direct memory access. However, I really like style guides. Except the Taligent one: https://root.cern.ch/TaligentDocs/TaligentOnline/DocumentRoo...

"Don't use pointers" was definitely never in the style guide.

Re: The pool of talented C++ developers is running dry

#636
post #189

I was a C++ programmer for 25 years. Last 3 years, I'm using Rust language in my daily job and for all my hobby projects. I will not return to work in C++ again. No money can make me to change my decision. Nowadays, programming is a pure joy for me again. This was not the case when I had to work with C++.

No post body was provided.

Re: The pool of talented C++ developers is running dry

#637
post #369
post #209

I’ll offer a perspective unrelated to pay: It’s a pain to start learning C++, and even after you do, older devs will roast the hell out of your code because your book/tutorials of choice forgot to mention a crucial (in their opinion) feature that you absolutely should/shouldn’t use! Not to mention you’ve only programmed on Mac/Linux so far & windows is totally different, has a different compiler, different ways to in…

I find python such a pleasure in comparison. I can express myself so easily.

True. I also like Python.

The problem is when you need 30 servers instead of one to manage your load, though, lol.

Re: The pool of talented C++ developers is running dry

#638
post #141

Earlier quoted context omitted.

Lmao “read from a monitor” as instead of from whatever fancy ARVR dev environments we’ll be on in 15 years?

I could see AR/VR dev environments being viable enough to not get laughed at in 15 years, but there's no way we give up 2D displays in the majority by that time.

In 15 years? Potentially we'll have brain interfaces by then. Just imagine the job you want done and you'll "see" in your mind's eye the existing solutions in your code-base and then on the (contemporary version of the) internet.
Post reply on HN