Hacker News new | ask | show | jobs
by bsder 911 days ago
> In other words it is a badly designed API.

I don't agree. The API is what it is because it is specifically a zero copy API for performance. If you don't care about performance, why are you using C++ (stupid) and a zero-copy API (doubly stupid)?

I absolutely do NOT expect a zero copy API to own things. If I drop the underlying reference that is really an alias, how on earth is that the fault of the zero copy API?

The combination of aliasing and lifetimes are C++ footguns--full stop. This is aptly demonstrated by how quickly Rust kills this cold.

If you use sharp knives, sometimes you cut your fingers. People like you would claim the knife is the problem.

1 comments

I think you misunderstood. It's not a bad API because it uses non-owning references. It's a bad API because it doesn't make that clear.

> If you use sharp knives, sometimes you cut your fingers. People like you would claim the knife is the problem.

This is more like a cutting yourself on a razor sharp butter knife. If it's a sharp knife it should look like a sharp knife.