3 ms·
Evan’s iron grip of how users should use the language and how they should write the code killed Elm.
by noncoml 6y ago
Evan’s iron grip of how users should use the language and how they should write the code killed Elm.
- hawkice 6y agoI mean, this seems pretty harsh. Could I recommend just sharing your own experience and leaving judgment to the reader?
- hitekker 6y agoThe GP may be referring to this previous discussion https://news.ycombinator.com/item?id=22821447 https://news.ycombinator.com/item?id=22821447
- hombre_fatal 6y agoLazy takes beget lazy responses: Evan's iron grip on Elm is why Elm is good and simple and not a kitchen sink. Other solutions like Purescript already exist if that's what you want. But when you don't like how something is done that other people do like, there comes a time when you just need to pinch it off and leave the pot so other people can enjoy it. For some reason it's small niche languages that really bring out the hubris in some HNers. Maybe because they have a sense of ownership over it by virtue of merely using it, something they know is silly when it comes to larger languages.
- noncoml 6y agoYou are right that I was too lazy to even bother explain my statement. But you are wrong about the sense of ownership. The bitterness comes from Evan deciding to make backwards breaking changes to the new version of the language and forcing you to spend days to update your code base. It’s been so long that I don’t even remember what the changes were and can’t bother going back and look. One example that stuck in my mind is when he decided that users should not be allowed to use the prime(‘) character in variables name. It was not because that this character was now used in some other way. It was just him deciding he didn’t like that in variable names, so he not only forced it to the language codebase but to all the users as well. Of course this was easy to change but gives you an idea. The rest of the changes where in the same spirit but much more difficult to change. So it has nothing to do with small vs popular language. Imagine if Stroustrup had come out and said that since C+11 variable names would be case insensitive and operator overloading was forbidden.
- yakshaving_jgt 6y agoI'd like to agree with you, but I don't think you're helping your argument by picking this specific example. Using prime characters in bindings is a convention that Haskell programmers (myself included) occasionally use, but it is by no means clearer nor more Googleable. Furthermore, a single project-wide find and replace hardly takes "days".
- noncoml 6y ago> Furthermore, a single project-wide find and replace hardly takes "days". That’s what I said too, no? Unfortunately I can’t remember the changes that required more work. Sorry about that. > Using prime characters in bindings is a convention that Haskell programmers (myself included) occasionally use, but it is by no means clearer nor more Googleable. Maybe you are right, but it’s not his place, as a language designer, to dictate that. Especially when he has been promoting this style up until last release. It’s no different than the example I gave: Forcing everyone in C++ to have case insensitive names because it’s more googleable. For some, maybe including you, it may not be a big deal. But I was trying to justify my “iron grip” characterization and that it had nothing to do with sense of entitlement or sense of ownership. It was purely because he forced me to change my application code for no good reason.
- philh 6y ago> Maybe you are right, but it’s not your place, as a language designer, to dictate that. I disagree with Evan on this question and many others, but I just don't understand your criticism here. That seems like exactly a language designer's place? Someone needs to decide how the language is tokenized, what counts as a valid variable name, and so on. Very few languages have the answer "everything not explicitly used for something else is okay in variable names". (And Elm does use the ' character for other things, the rule which would allow ' would allow many many other things.) Maybe you mean he should have made a decision and stuck with it? But that would severely limit exploration. Is your hypothetical that Bjarne Stroustroup tries to do that now, when C++ is 35 years old and ISO certified? That doesn't seem a close match with Elm, which is less than nine years old and not yet on version 1.
- philh 6y ago> Maybe because they have a sense of ownership over it by virtue of merely using it As a remark: I've been accused of feeling ownership over Elm. What I actually felt was investment in Elm, which is different. And I think it's an entirely reasonable thing for me to feel. I know you used the word maybe. Still, I'd generally be wary of attributing motives like this towards people.