Hacker News new | ask | show | jobs
by ultimaweapon 279 days ago
Rust give more ergonomic to this. In C++ it need a lot of typing for creating a new type compared to Rust.
2 comments

You need to add a lot of text, but the text contains about the same semantic meaning. It's a lot of typing but that's a matter of density rather than ease of use.

At least in modern c++. Then again, modern C++ seems to play the same role as modern Java, in that some places use it but most of them are stuck at the version they picked when they started developing on a piece of software decades ago.

To be fair to modern C++, or lack thereof, I would assert most places being stuck with specific versions applies to any programming language that traces back to the 20th century.

Turns out updating software versions in most companies is really hard, and updating humans atittude to specific programming practices even harder, unless their job is on the line.

Rust has solved the problem of upgrading at the language level - you can mix’n’match modules targeting different revisions of the language just fine and you can mix’n’match multiple versions of the same library within a single binary. It makes the whole thing possible to do piecemeal.
Only if there are no incompatible changes on the standard library, public interface or observable semantic behaviours.

And even so, it doesn't matter if IT says no, or the customer doesn't pay for consulting services to upgrade existing projects.

I’ve never seen IT be involved in a decision about the language edition being selected by a development team or even which dependency to pick. As for consulting, that’s a different type of world that’s not the best example of good software development practices.

As for incompatible changes, there aren’t any in Rust by design. That limits some of the changes they can make even in an edition but in practice it works ok. Even over a longer time span, I think the Rust community will figure out a way to trim irrelevant cruft away.

It happens all the time, in many companies IT decides the images used on the build servers, or cloud instances for developers.

I am not so optimistic when Rust achieves a similar market share and historical baggage, as C and C++ have today, growing since the 1970's.

It is of course better designed, and with better tooling, that doesn't spare it from market forces and companies sponsoring the foundation.

See where Linux foundation is today for a comparable example.

Depends pretty much on the type, if using templates or not, if being anti-macros or not.

It isn't the typing, rather the culture.

Rust's type system is a technology, but technology can be used by a culture to support its goals. The technology alone will not get you there, so the culture is more important, but we do need both for success.