Earlier quoted context omitted.
> Rust? It's much more painful to use than C++. Unless you're doing something really highly specific to C++ (like Cuda for instance or deep integration with big C++ codebase), saying that rust is painful compared to C++ is laughable.
Gonna have to unwrap() this take
The pool of talented C++ developers is running dry
711–720 of 869 posts
Re: The pool of talented C++ developers is running dry
#712Earlier quoted context omitted.
> 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 merg…
This is a very good example of C++ being difficult to master. There are heaps of ways of doing one thing and usually there are just one or a few of those a good practice, but to explain the best practice's rationale, you need to know and tell a whole story. A simple cast even needs a story. Let alone smart pointers combined with normal pointers; ampersands and const qualifiers that have different meanings depending o…
Re: The pool of talented C++ developers is running dry
#713Earlier quoted context omitted.
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.
Not interested in fighting about it. I'm sure that I'm wrong. Being right buys me absolutely nothing. It's not my wheelhouse.
Re: The pool of talented C++ developers is running dry
#714Earlier quoted context omitted.
I agree. No matter gray beards bashing Rust on HN every time it comes up, programming in Rust brings me joy and I will never use C++ again if I have a choice.
Interesting; could this be because you've been using outdated C++ ? (legacy codebases started before C++98 tend to be particularly painful) FWIW, I prefer the power of C++ over Rust's hand-holding; but can also see its appeal for someone that's not as confident over the minutia.
It's not confidence, I just don't care. I don't want to learn the minutia of C++. Rust is the thing that has got me interested in lower level programming.
Re: The pool of talented C++ developers is running dry
#715Earlier 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?
Re: The pool of talented C++ developers is running dry
#716Earlier quoted context omitted.
Template metaprogramming is hardly ever needed anymore. C++20 has better built-in features that for most of what was done with it, that compile much faster. Almost all C++ programmers completely ignore it. You can too.
New way? You mean, expanded.
Re: The pool of talented C++ developers is running dry
#717As an embedded systems developer for 38 years, with 26 years writing for small threaded RTOS, including 16 and 32 bit DSPs, and the remainder being platform work on QNX Neutrino, NetBSD, and Linux, most of my code has been K&R, then ANSI C.
A very small amount of C++, but by comparison, a very small amount.
Everything else, Shell, Perl, Python, is a shadow by comparison.
Re: The pool of talented C++ developers is running dry
#718Earlier quoted context omitted.
As a C++ enjoyer I would 100% have learned Rust if it was around when I started... just for Cargo alone. Problem is now I've already done my time in the Makefile trenches there's little incentive in me re-learning another systems lang and having to compete with lots of smarter people, with more Rust exp, for jobs whilst giving up all my arcane knowledge of CMake and friends. Rust being popular atm is great for C++ if…
I wonder how the Cobol market is doing?
Re: The pool of talented C++ developers is running dry
#719Earlier quoted context omitted.
The same can be said for dentists or architects or chemical engineers or whatever. Teeth and houses and oil refineries are “solved” problems in that we know how to do it. But each instance is a little different. Each customer wants their flavour of the problem solved. Long story short: don’t get into a line of work if you don’t like churning out multiples of the same thing for years.
> The same can be said for dentists or architects or chemical engineers or whatever. - Dentists have dental hygienists that do the day-to-day grunt work so that dentists can focus on the real problems/exceptional cases (cavities, root canals, etc). - Architects build the plans, but they leave it to construction workers to actually construct the project. - Chemical engineers generally work with staffs of chemists and…
Is that even possible? It's difficult to separate grunt work and problem solving, because you often need similar levels of context to solve both. They also tend to intertwine a lot.
Re: The pool of talented C++ developers is running dry
#720Earlier quoted context omitted.
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 sure there's a quote about their logic - something to do with making it long and annoying to really make you think twice about it.