Live data from Hacker News

The pool of talented C++ developers is running dry

efinancialcareers.com

671–680 of 869 posts

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

#671
post #393
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…

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++.

> have best practices in place that are now considered antipatterns

Like using C++ you mean?

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

#672

Earlier quoted context omitted.

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.

don't kid yourself, those brain interfaces will be emulating 80-character width terminals

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

#673
post #535

Earlier quoted context omitted.

Having used both C++ and Rust extensively, I would say that it is easier to get something to compile in C++ than in Rust, but I find Rust overall much easier. C++ is really very complex, and even after more than a decade of using it there are so many things I don't know. With Rust I feel like I have a pretty solid grasp of most of the language.

Yes, but when you want to do linked structures, really generic code without repetition or decent compile-time programming, then C++ is very powerful at that. These things are useful in many situations.

Sure, but I wouldn't say that's easy.

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

#674
post #369

Earlier quoted context omitted.

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.

I also love Python the language, but it’s hard to keep using it when it’s so slow. Parallel processing helps, but it’s still slow. Definitely dumping pandas the first chance I get. It’s one of two major bottlenecks with the other being anaconda for Windows. Maybe the culprit is running Python on Windows since it relies on so many parts of nix?

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

#675
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++. Do they just like hitting keys on the keyboard?

They are doing different things. For example, `reinterpret_cast` cannot cast away constness but `(int)` can. There are other differences and you should never use C-style casts. In most C++ code bases I worked on, there were static code analysis checks pre merge that would prevent anybody from merging code with C-style casts to master for that reason.

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

#677

As someone who has been painfully self-teaching C++ for the last ~1.5 years on and on, these are my hangups: - The features that make C++ decent are often found in C++ 20/23, for which there are woefully few resources - Code taking advantage of coroutines and generators isn't commonplace yet, rare to find examples - C++ 20 concepts are a near mirror copy of Rust Traits and enable composition that's an alternative to…

I would be interested in hearing what modern resources you have been using that have been helpful and which ones you would recommend.

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

#678
post #580

Earlier quoted context omitted.

> C++ as a whole should be deprecated -- and no new projects should use C++ (unless for some very odd and specific reason). It's quite a bit easier than Rust and no other popular language has its most important features (cross platform, interfaces with syscalls and other libraries easily, manual memory management possible, likely to be supported for a long time).

It _looks_ easier because it lets you do anything you want. C++ makes you feel like you're going faster, but then you spend two weeks debugging a weird memory issue. I come from functional programming background, so I'm all for taking a little bit longer to make my code compile if that means it'll work. I'd rather deal with compilation errors than waking up at 2am to debug a stupid segfault.

> It _looks_ easier to me because it lets me do anything I want. C++ makes me feel like I'm going faster, but then I spend two weeks debugging a weird memory issue.

FTFY!

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

#679
post #658

Earlier quoted context omitted.

Unfortunately high frequency trading is an area where C++ is normally the right choice, even for a new project.

Why not rust?

Try doing (serious) high frequency trading in rust, then come back to me.

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

#680

Earlier quoted context omitted.

>C++ as a whole should be deprecated -- and no new projects should use C++ (unless for some very odd and specific reason). And what can be used instead of C++? C? If C was better, then C++ wouldn't have been invented. Rust? It's much more painful to use than C++. Zig? It's immature and has very low usage. Nim? Has very low user base. Julia? It isn't solving the same problems.

Julia is solving many of the same problems as C++. GPU compute, HPC, high performance algebra kernels are all well within Julia's purview. It's not (at least yet) good for things like writing OS kernels but there is a large amount of overlap with C++.

Isn't Julia a dynamically typed language?
Post reply on HN