4 ms·
let else and let chains aren't new traits, they are syntactical features that make things that people would expect to work, Just Work™. People keep bringing up
by estebank 4y ago
let else and let chains aren't new traits, they are syntactical features that make things that people would expect to work, Just Work™. People keep bringing up the complexity of Rust (a valid argument to be made there) but then point at some feature that is removing an arbitrary limitation from the language. And even for cases where a new feature is being added, I can point at the case of ? for error handling that was a new feature, that "complicated" the language, but that very clearly improved the ergonomics of the language for reading and writing. Should ? have been left in the cutting floor because it didn't look like anything else and was a "redundant" feature?
Let me put it another way: what Rust feature would you remove to "simplify" the language?
- UmbertoNoEco 4y agoAs I pointed here originally, you need to be very careful about what you ADD to a language, because once the cat is out of the bag there is no going back, people are going to use that stuff. That's why I dont begrudge the attitude of the golang maintainers to be very slow in introducing stuff, because it is basically an irreversible step. I suppose every thing in Rust has a raison d'etre but you pay with complexity that versatility. I think there is space now for a modern, memory-safe, SIMPLE, systems programming language. C has the backwards compatibility problem (although I am still bullish on its future) and a language like Zig never got any traction. Hopefully the future will bring new, interesting stuff.
- int_19h 4y agoZig is still very much work-in-progress, much more so than Rust. I'd say it's too early to speak of traction there.
- UmbertoNoEco 4y agoOK, it has been 6 years, so fair enough, let's wait and see at least for the 1.0
- loup-vaillant 4y agoThat's the difference between Zig and Go. As far as I can tell, Go was kinda rushed, and they called it 1.0 before they get to add the generics it obviously needed. And I bet adding those generics in a way that preserves backward compatibility was a bear. Zig will be done when it's done.