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

C++ garnered a similarly enthusiastic following in the 1990s as Rust has in recent years. Not only was it “a better C”, but it allowed to build safe and zero-cost abstractions with a rich type system in a way that C couldn’t. (At least that’s what many C++ programmers believed then. It turned out to not be quite zero-cost after all, and exception safety proved to be highly non-trivial.) Details aside, there is a large overlap in mindset between those favoring Rust today with those favoring C++ in the 1990s. And the complexity of many Rust libraries today is eerily reminiscent of the complexity of C++ template-based libraries back then. So I can see why someone might find it odd.


Okay, that is a fair point. I think the difference though is that while C++ indeed mitigated some of the drawbacks of C, it did so while also introducing a huge amount of additional complexity and dubious features, which you could also argue Rust does, but I think not nearly to the same extent.


Hindsight is 20/20. It wasn’t perceived that way back then. Every C++ feature had a well-reasoned rationale of solving an important problem. (I found the book “The Design and Evolution of C++” worth reading, although that was some time ago.) The only handicap requiring compromises was backwards compatibility with C, but that was also a major reason why it became so successful.

I’m sure that Rust will continue to become more complex, and in 20–30 years another systems language will likely come along that is at least as safe while being easier to work with again.




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

Search: