As a completely random internet user evaluating what proglangs to look at next, I'm staying far, far away from elm itself.
Why I’m Leaving Elm
61–70 of 450 posts
Re: Why I’m Leaving Elm
#62This post resonates with me. I'm not deeply involved in Elm, I just have an Elm side project (started on 0.17) with roughly 1k lines of code. Do I love Elm? Yes, definitely. It's such a well-designed language. Lots of thought went into it. It's very focused and has great (albeit sometimes non-obvious) solutions for almost everything. However, the leadership style is also what keeps me from recommending Elm to anyone…
This kind of leadership gave us Go. It's not necessarily bad. If everyone gets their way with the language specs, then all languages will look like a weird dialect of C++ :)
Name of this leadership style is BDFL (Benevolent dictator for life) and seems to work for some projects, but you always have people feeling unfairly treated by it, while others enjoy it greatly. Guess that's the effect of being a human :)
Re: Why I’m Leaving Elm
#63Earlier quoted context omitted.
Your suggestion for the problems with this project is "Why don't you just fork it and maintain your own?"
That's right[1]; and the author of "Why I'm leaving Elm" understands this, yet claims that it's not possible somehow because the Elm people are hostile to it, and that's one of the reasons the project supposedly isn't really "open source". Something seems a bit off in the reasoning. The only reason you can't fork something is that either you don't have all the code, or there is a license problem. One way not to have…
I can't think of a language or platform that doesn't have some degree of "soft" forking that maintains communion with the language community. It's common for proprietary reasons (linux kernel, anyone?) as well as experimental reasons (e.g. PyPy). So this is an eyebrow raising claim.
Re: Why I’m Leaving Elm
#64I don't agree with everything here. Open source really does mean that you just have all the code to rebuild the thing from scratch under the right sort of license. Open source doesn't mean anything else, like having access to design decisions. Interaction style and personalities are also not part of the definition of open source; open source doesn't mean nobody is brusque or abrasive. Some communities have additional…
That is acknowledged in the article. But the fact is that you can BE open source without doing the things that make open source WORK.
[...] Elm users who are not happy should fork the code --- everything, including the ecosystem's dependencies on an ELM internet domain --- and maybe produce something that is completely self-contained. Software that relies on "phoning home" is a risk regardless of where that is hosted and whether the people are nasty or nice.
Why should unhappy Elm users do this instead of going to a language+environment that they don't have to fork to get something usable for them?
Leaving, even leaving with a long essay like this one, requires a lot less energy and commitment. And being in an environment where you can benefit from the future work of others is part of what makes open source work.
Re: Why I’m Leaving Elm
#65The true cost of the approach Evan and the core team have taken is hard to measure, since what I observed most was skilled community members with the time and will to contribute silently abandoning the community after their efforts were roundly rejected or ignored. The record of these interactions tend to be scrubbed from GitHub and other community forums.
There are some really great ideas in Elm, but I would never recommend it to someone as a tool for production use. It is run more like a hobby project.
Re: Why I’m Leaving Elm
#66Earlier quoted context omitted.
Yep! If people used tabs, then everyone can display it how they like and these stupid discussions wouldn’t be necessary. Alas, for some reason the world has rallied behind spaces. Sigh.
It doesn't really solve the problem. How do you format this code with tabs: function name(arg1, arg2, arg3 The other issue is with maximum line length. If you have a maximum line length of 80, do tabs count as 2 spaces, 4 spaces, or 8 spaces towards meeting that line length? Using spaces ensures that it at least looks consistent, independent of your tabstop settings.
function name(arg1, arg2,
arg3
Just wondering… do you realign the parameters every time you rename a function?Re: Why I’m Leaving Elm
#67Earlier quoted context omitted.
Your suggestion for the problems with this project is "Why don't you just fork it and maintain your own?"
That's right[1]; and the author of "Why I'm leaving Elm" understands this, yet claims that it's not possible somehow because the Elm people are hostile to it, and that's one of the reasons the project supposedly isn't really "open source". Something seems a bit off in the reasoning. The only reason you can't fork something is that either you don't have all the code, or there is a license problem. One way not to have…
how that affects the Open Source status of a project is irrelevant, this is simply not a project that i could use, and thus for all intents and purposes, for me at least, it's a project that can't be forked.
Re: Why I’m Leaving Elm
#68Earlier quoted context omitted.
If you feel the same way about the Elm project as the author of the article does, you won't be happy with Clojure[script] either. Its community already went through this drama and all the top community contributors(or that at least tried to contribute) left.
I can't speak to Elm, but I'd say the Clojure/Script fiasco wasn't really one sided. Some of the "contributors" not getting their way wasn't like they were wanting to push some amazing improvements. Most of the time, the reason for things not going through is actually disagreement on the impact the change would have to the language, and people complaining about how slowly the discussion around it can happen to drive…
Imagine in Clojure if they said "you can't use Java libraries any more. Pure Clojure only from now on" but kept the ability to use Java libraries for the core libraries of the language. -- That is my understanding of the issue with Elm as it currently stands.
Re: Why I’m Leaving Elm
#69Wow, this is pretty damning. The author seems fairly level headed and the criticisms feel well reasoned. I've played around with elm a little bit, but this really puts a damper on my desire to dive in further. Hopefully the core team takes some of this criticism on board.
Re: Why I’m Leaving Elm
#70Earlier quoted context omitted.
Yep! If people used tabs, then everyone can display it how they like and these stupid discussions wouldn’t be necessary. Alas, for some reason the world has rallied behind spaces. Sigh.
It doesn't really solve the problem. How do you format this code with tabs: function name(arg1, arg2, arg3 The other issue is with maximum line length. If you have a maximum line length of 80, do tabs count as 2 spaces, 4 spaces, or 8 spaces towards meeting that line length? Using spaces ensures that it at least looks consistent, independent of your tabstop settings.
Really this is a peculiar kind of OCD. You don't need to have arg3 precisely lined up with arg1. Or better yet, indent all the arguments in a nice column - if there's so many that they can't fit horizontally, render them vertically. Most IDEs default to two indentations for continuation.