3 ms·
I think Elm can learn a lot from Rust before 1.0 here. Rust made some "insane" decisions that should have pissed off the community but did not mostly because of
by the_mitsuhiko 8y ago
I think Elm can learn a lot from Rust before 1.0 here. Rust made some "insane" decisions that should have pissed off the community but did not mostly because of the way the communication was handled. There were obviously some disagreements along the way which caused some valuable community members to jump ship, but overall it was really well handled and the language became better as a result.
- Certhas 8y agoSeeing these type of processes playing out over the years just impresses on me how exceptionally well done the Rust process was. The atmosphere and attitude of the community was always excellent. For newbs/outsiders looking in, I think a lot of it has to do with a culture of validating people's experiences. That's difficult. If a user complains about it, the natural reaction can easily be to go defensive ("You're doing it wrong" or "we documented that here"). Rust has successfully fostered a culture of approaching it as an opportunity to learn something ("Why did you not see the documentation").
- MBCook 8y agoI’m not familiar with the history of rust. Could you give some examples?
- the_mitsuhiko 8y agoThings that people were super excited about that got nuked: typestate, green threads, garbage collection support, tail recursion call syntax. But also small things (ternary operator was removed, a ton of keywords were changed and more).
- MBCook 8y agoThanks. Makes sense. I can seen wanting some of those myself, but I get you have to draw the line somewhere if you’re ever going to be ‘done’ with the initial/beta releases.
- bjz_ 8y agoYeah! I also liked how escape hatches weren't looked down upon as much. They're kind of important if you want to be developing production software! It's cool to remove stuff if things are poorly designed (which Elm's native code API was), but it'd be great if something better was put in its place! Reason seems to be handling this in a decent way - Purescript as well. So there are other options at least.
- labster 8y agoElm could learn even more from Perl 6. One of our mottos is "torture the implemeters on behalf of the users." Another is "hug trolls" and try to turn them into productive members of the community. Or the even more basic approach of not removing features without deprecating them for a release cycle. And for crying out loud listen to your users, as they see edges of the software that a language designer can miss.