Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

> I'm probably going to make a few enemies with this opinion, but I think modern C++ is just an utterly broken mess of a language. They should have just stopped extending it after C++11.

This is the popular refrain of the day, so I don't know why you cage this as if you're saying something controversial.



The popular refrain has more to do with the lack of memory security features in the language, although I'm sure they will bolt a borrow checker or something on to the language.

There are currently enclaves of developers who know varying versions of C++. There's a good chance that a 20-year C++ veteran would have to consult the documentation for syntax. That's concerning. Defining what something isn't is nearly always more important than defining what it is, and C++ is seemingly trying to be everything.


This is a popular (and increasing) trend in HN comments.


"It is a poor craftsman who blames his tools."

This is a common saying because it is a common occurrence.

People who use the language effectively know all about the complaints. Those people live with their complaints knowing no other language even comes close to meeting their needs. No language on the horizon is even trying to meet their needs.

C++ usage is still growing by leaps and bounds. Attendance at ISO Standard meetings is soaring; until Covid19 killed f2f meetings, each had more than any meeting before; similarly, at conventions. Even the number of C++ conventions held grows every year, with new national ones arising all the time.

Rust is having a go at part of the problem space, and making some headway. But more people pick up C++ for the first time in any given week than the total who have ever tried Rust. It is still way too early to tell whether that will ever not be true.

So the HN trend is very much an echo-chamber phenomenon, with no analog in the wider world.


> "It is a poor craftsman who blames his tools."

> This is a common saying because it is a common occurrence.

Ha ha. This is not applicable for software, and I assume, for some craftsman.

What's the percentage of software developers that actually get to choose their tools? 40%? 60% at best? Though most likely it's just 20%.

Most projects are pre-existing, it's only natural. You can't create more projects than those already in existence, once a field matures a bit. Which means that you have to use what's already there.

Plenty of people are forced to use bad tools. And they can for sure blame them.


Many craftsmen do not get the tools they could wish for.

Your craft is your personal responsibility; you use your tools, they don't use you. So, your product is the result of what you do, not what your tools do. Limitations of your tools leave you with greater responsibility to ensure results that satisfy whatever standard you work to.

Blaming your tools for bad results tells people much more about you than about the tools.


First of all, we are not craftsmen. We are more like factory workers. Ford factory worker #515 had no say in the 1000 ton machine just installed in the factory. He just had to make his part of the car.

We delude ourselves into thinking we're all Picassos when we're just house painters, at best.


That also is a matter of choice. Curiously, the more you get paid, the more latitude you get.


It'd be more accurate to say not many of us are craftsmen. (Craftspeople?) There are still some ways to make money by through creative, open ended development, they've just always been on the rare side.


As long as trading firms use C++ and some research places, it won't go away.

These places also have all the resources as well.


Trillions of lines of existing code are also a strong argument of why C++ is going to stay for a while. Lot's of good C++ programmers I know would be really excited to use Rust, but the interop with legacy systems is not worth it for many use cases.


True, but there's plenty of Stockholm Syndrome as well. C++ is a mess, and there's people that will defend that mess to the end of times. Those people managed to get pretty good and have a deep understanding of all of its quirks, but lack the ability to take a seat back and admit that yes, nobody without masochistic tendencies would get into C++20, unless they're already familiar with it.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: