4 ms·
I think it would be helpful to clearly distinguish between PL simplification (e.g., "if let Some(x) = x, x == 42 {}") and convenience-driven PL expansion (e.g.,
by gary17the 2y ago
I think it would be helpful to clearly distinguish between PL simplification (e.g., "if let Some(x) = x, x == 42 {}") and convenience-driven PL expansion (e.g., "let @discardable lhs = rhs ?? 0;"). In case of the former, I'm with you. In case of the latter, I'm not. Rust likely isn't meant to be a tool that is easy to learn at all costs (since the borrow checker does exist, after all). Rust is, IMvHO, supposed to be like vi: hard to learn and easy to use :).
- adastra22 2y agoWe should strive for easy to learn, easy to use.
- Measter 2y agoThough we should also accept that some things are just hard. Though that's not to say that we should give up on trying to make them as easy to learn and use as possible.
- adastra22 2y agoI don’t know. This certainly isn’t provable. What’s the difference between a something being intrinsically difficult and something for which adequate UI just hasn’t been figured out yet? I don’t know anything that hasn’t been made simpler and easier over time.
- FridgeSeal 2y agoSome things have inherent complexity. Different formulations or UX can alleviate some of this complexity, but often it is shifted around, or hidden - not actually solved. Some solutions can definitely make a situation net-worse/net-more-complex, and occasionally we get advances in theory which can change the watermark on complexity, but it never _goes away_.
- 3np 2y ago> I don’t know anything that hasn’t been made simpler and easier over time. Ever implemented a cyclic linked list or graph in Rust?