3 ms·
I love that when I read the changelogs for Rust releases, most changes are "Feature X has been removed from the language". These guys are serious about avoiding
by jamesfisher 12y ago
I love that when I read the changelogs for Rust releases, most changes are "Feature X has been removed from the language". These guys are serious about avoiding featuritis.
- pekk 12y agoAgreed, though it would be better not to have added the features to begin with.
- kibwen 12y agoIf a feature gets added, it is to evaluate its usefulness. Some features make the cut, some don't. Even the ones that don't pan out are useful in that they establish precedent for people who ask for that feature later on; we need only tell them "we tried that, it didn't work out, and here are all of our notes and discussions documenting our reasons why".
- pekk 12y agoIf a feature gets released, it is for people to use it. A judicious hand with features saves a lot of trouble down the line. If you are adding too many features you get a big pile of features like C++. I don't see how it is worth arguing that people developing something like a programming language need to very carefully weigh these decisions instead of throwing everything at the wall to see if it sticks. The main reason to load up on features is that you are anxious your audience won't like you unless you do, but it is a wrong idea about design.
- kibwen 12y agoYou completely misjudge the Rust developers. Features are carefully weighed before implementation. Developer time is not infinite. But ultimately some decisions can only be made with experience, and sometimes (thanks to the domino-effect nature of language design) previous decisions need to be reevaluated as entirely separate parts of the language change. If this were C++, we would have left all those features in rather than taking the trouble to purge them.
- ayrx 12y agoYou do realize that Rust isn't a stable language yet right? Now is precisely the right time for Rust to experiment with what features are useful and what features are not.