Re:Rewriting the heart of our sync engine
by asplake on Tuesday March 17, 2020 @12:04PM
(#22606273)
Interesting to see Rust praised for its ergonomics, possibly not the first word that springs to mind (to an interested observer, not yet a user). Could you say a bit more about that?
[ Parent
| on HN ]
Rust is funny because in one sense it's hard and clunky. However, it's only ever precisely as hard and clunky as it needs to be. Everywhere something can be made more concise, or readable, or convenient, without sacrificing any control, it has been. Anytime something is hard or inconvenient, it's because the underlying domain really is exactly that hard or inconvenient.
Contrast this with other languages, which are often clunky when they don't need to be and/or "easy" when they shouldn't be.
You're the second person I've seen approach that "Anytime something is hard or inconvenient, it's because the underlying domain really is exactly that hard or inconvenient." point in the last little while.
Have you read https://fasterthanli.me/blog/2020/i-want-off-mr-golangs-wild...?
Re:Rewriting the heart of our sync engine
by sujayakar on Tuesday March 17, 2020 @01:19PM
(#22607332)
sure! the rust team has done a fantastic job with the language design, and once a programmer gets over the initial learning curve, the ergonomics of "pair programming" with the compiler are really great. they've put a lot of work into error messages, and the language definitely steers the programmer towards writing correct, efficient code.
also, a lot of the standard library APIs are really well thought out, and it's great to then use the type system to build great internal APIs as well. the ability to design APIs to make correct use easy and incorrect use difficult feels like good "ergonomics" to me :)