Live data from Hacker News

The pool of talented C++ developers is running dry

efinancialcareers.com

641–650 of 869 posts

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

#641

Earlier quoted context omitted.

Slightly off topic but imagine an induction cooker with the original iPod control wheel as it's power control. We opted for a gas hob when we installed our kitchen. Mostly because I like the controllability when cooking. Obviously it's a nightmare for health and the environment but man it makes cooking easier.

how is it a nightmare? if you aren't getting that energy from natural gas, you'd mostly get it from a CO2 producing power plant, with efficiency losses going from heat (steam) -> electric -> heat (cooktop)

Even Gas cooktops without a pilot light are surprisingly inefficient with under 40% of the energy ending up in your pan. (Which is why the air several feet above the pan is so hot.) On top of this you end up venting air your HVAC system just used a lot of energy to make pleasant outside and/or breathing noxious fumes from incomplete combustion so Carbon Monoxide, NOx, formaldehyde etc

Induction stoves powered by natural gas power plants are more efficient than directly cooking with natural gas plus you can use clean solar/wind/nuclear/hydropower or oddballs like geothermal.

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

#642
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…

%90 of what people do today is import some open source library or package to do the heavy lifting and weave them into an app using a scripting language. It is sort of the MS Basic approach of the web app world. Nothing wrong with that. C++ is used for a different class of problems that are not the main focus of the industry anymore. I would likely choose something like Rust today but at the time C++'s star was rising there really weren't a lot of other better options.

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

#643
post #186

Earlier quoted context omitted.

Many hardware companies still see software as just another line item on the BOM: Like a screw or a gasket. It's something you build cheaply or buy from a supplier and sprinkle it on the product somewhere on the assembly line. These hardware companies have no concept of typical measures of software quality, building an ecosystem, release management, sometimes even no concept of source control. They tell an overworked…

At a previous company our firmware was literally called by a part number. So I would regularly work on the repos 5400-520, 5400-521, 5400-524, 5400-526, etc.

Assigning a part number to firmware is perfectly normal. It's part of the Bill of Materials for the product.

What is not normal is referring to that part number anywhere except on the BoM.

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

#644
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). 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.

> And what can be used instead of C++?

For most use cases Java is a better option. Very fast, without any of the pain.

If you truly must not have a VM (rare), there's still C. Perhaps rust.

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

#645
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.

C++ has improved a lot over the past decade or so. Compilers can add runtime checks now that make most memory bugs easy to detect and diagnose. C++ has plenty of warts and legacy stuff that you wouldn't keep if you were designing a language from scratch, but it is way better than it used to be and there still isn't anything that fills the same space C++ targets. Rust tries to but IMO it is too opinionated.

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

#647

Earlier quoted context omitted.

Learning rust is like cycling over 2 big hills. It’s exhausting and painful if you’re in any way out of shape. Learning C++ is like cycling from SF to LA. It starts easy enough and every day you’re making a lot of satisfying progress. But you have so far to go because of all the features and quirks of the language. It’s probably easier to get started learning C++. But it’s also much faster to finish learning rust and…

More like NY to SF. The Appalachians would be when you're first learning pointers and the Rockies would be about the time you hit the STL and friends.

You have to learn pointers in Rust too and I don't think the STL is any more complicated than Rust's standard library.

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

#648

Earlier quoted context omitted.

>> Why doesn't c++ offer a language version that's trimmed down to "modern" rules? What part could be removed without breaking backward compatibility? Depending on what is removed and how, it creates a subset that is not fully C++.

It'd be a different version that's not intended for backward compatibility. This would be beneficial for any new projects or new learners who don't need to sift through decades of changes. There can still be the standard updates every 3 years for backwards compatibility, but Id assume version upgrades don't happen very frequently. Meaning, if a project is started on c++11 then it's probably going to stay on c++11 ind…

In Rust this is done using Cargo (the build system) and each crate (library / binary) can choose a compiler edition that gates certain features which are not backward compatible.

You can use (depend on) a crate from your code that uses an old edition.

In C++, your idea would require enforcement at the compiler level but the linker should still link both "old" and "new" C/C++ together. Then the switch is done on a .cpp file (translation unit) level.

However the culture around C / C++ compiler development with standards and multiple compilers would require huge committees to decide what is "modern C++." There might be a lot of debate.

Much of the innovation in Python, C# and Rust is in how the process of language and standard library development is managed in the community. I wonder if C++ could do that?

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

#649
I spent some time developing i c++ 10 years back or so. I really don't want to use OOP. I fucking hate OOP. No amount of money will make my use C++ again.

These days I do embedded programming in C with some Python on the side. As a plus the nightmares about debugging c++ code disappeared.

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

#650
post #94

Earlier quoted context omitted.

> experienced C++ hiring is still considerably easier Perhaps, but you can take experienced devs with a background in other languages and expect them to write solid Rust code. You probably only need to hire 1 or 2 people who already know Rust.

I don't know any people who program in Rust. I've been programming 25 years professionally. On my LinkedIn and through friends I probably know 50 people who do c++ programming in some capacity, including myself, to a poor level.

Perhaps you should be the first in your group? ;)
Post reply on HN