4 ms·
This header counting is silly. Regular complaints about Rust changing too much have stopped after Rust website stopped having such detailed release notes. Serio
by pornel 6y ago
This header counting is silly. Regular complaints about Rust changing too much have stopped after Rust website stopped having such detailed release notes. Seriously.
People who don't know Rust don't understand how bare-bones 1.0 was, and that Rust is still filling in gaps in basic functionality. Rust is still catching up with features Go 1.0 had, but people praise Go for being small, while freaking out about Rust getting bloated. This doesn't make sense!
Most of the changes can be summed up "previously code that you'd expect to work didn't work for weird complex reasons, but now we've fixed it and it compiles". Things like `clone()` didn't work on arrays larger than 32 elements. Now it works, as it should have since 1.0. But by Drew's header count that's some frivolous added complexity.
> Rust started with threads, and are having "async" bashed into the language as an afterthought.
Afterthought? That feature was over 3 years in the making. It was probably the most scrutinized and bikeshedded feature Rust ever had. Rust team has explored various approaches, with prototypes implemented in the compiler. People have built an entire ecosystem on Futures 0.1 to work out all the kinks of the design in large production-ready projects.
Proto-Rust had green threads and removed them for a good reason. The trade-offs are well understood, and it's not a coincidence that Go doesn't have zero-cost interoperability with C, and Rust has (including cross-language inlining).
- Animats 6y ago"It's not a coincidence that Go doesn't have zero-cost interoperability with C, and Rust has (including cross-language inlining." That's more of a money issue. Google has the resources to rewrite the lower layers in or for Go. Mozilla doesn't. Mozilla was trying to retrofit a single existing program, too.
- steveklabnik 6y agoThis is not true; it has to do with ideology. As a systems language, Rust should be able to talk to systems with no overhead. A zero-cost FFI into C is a huge part of that ability. Nowhere in https://github.com/rust-lang/rfcs/pull/230 https://github.com/rust-lang/rfcs/pull/230 is Mozilla mentioned, nor expenses.