5 ms·
As I understand it, there was a rift in the community over the leadership's tone in messaging and communication. Some Developers also felt like they could not c
by jaeming 5y ago
As I understand it, there was a rift in the community over the leadership's tone in messaging and communication. Some Developers also felt like they could not contribute in a meaningful way or have constructive discussion with maintainers.
See posts like these for more details and comments:
https://news.ycombinator.com/item?id=16510267 https://news.ycombinator.com/item?id=16510267
https://news.ycombinator.com/item?id=22821447 https://news.ycombinator.com/item?id=22821447
There are also several great alternatives now. F# with Fable and Elmish for example: https://zaid-ajaj.github.io/the-elmish-book/#/ https://zaid-ajaj.github.io/the-elmish-book/#/
And Bucklescript TEA with Ocaml or Reason: https://github.com/OvermindDL1/bucklescript-tea https://github.com/OvermindDL1/bucklescript-tea
Some others have also gone on to develop new languages taking inspiration from Elm: https://www.mint-lang.com/ https://www.mint-lang.com/
- rtfeldman 5y agoHonestly I think the main reason for this perception is that people in the Elm community have gotten increasingly tired of correcting inaccuracies people like to post about Elm on Hacker News. I spent a bunch of time doing that in the past, and eventually stopped because I felt like Sisyphus. The same people would crop up on the next thread repeating the same things anyway. Of course if the claims go unchallenged, it leads to the perception that they're accurate...but that doesn't make engaging with them any more enjoyable a way to spend one's free time. If you want to check the health of the Elm community, visit Elm Slack and ask in the #beginners channel how people feel about it. It takes about the same amount of time as posting a HN comment, but it gives a very different perspective than the one you'd get if your main source of Elm information was Hacker News comments! :) http://elmlang.herokuapp.com/ http://elmlang.herokuapp.com/
- superdisk 5y agoSpeaking as someone who liked Elm for a while, then abandoned it, I will say that the biggest problem with the language is absolutely its leadership. Development moves at an absolutely glacial pace and basically takes place with no transparency at all. I would argue that it's more like a "source available" project than an "open source" one since the core dev team is so exclusionary. Most planning takes place inside Evan's head, leaving others to just speculate as to what's going to happen to the language. On top of this, the community is run like a dictatorship. Dissent is silenced and banned, and faux positivity is spread far and wide. I got sick of it and was banned from the Elm subreddit after I expressed my frustration. That's pretty much when I gave up on the language, years ago, on version 0.18 (fwiw, they're on version 0.19 now, that's how slow updates are)
- rtfeldman 5y agoThis is an example of the type of post I was referring to being tired of correcting. I don't use Reddit anymore, but if memory serves there have been about 5 people total banned from the aforementioned Elm subreddit, which is fewer than 1 ban per year it's existed. I invite anyone to evalute the accuracy of "Dissent is silenced and banned" with that data point in mind, and to evaluate the accuracy of the other above claims accordingly.
- cultofmetatron 5y agoInteresting food for thought. I bought your book awhile back and was 2 chapters in before reading about the aforementioned "Dissent is silenced and banned" issues which led me to abandon continuing at the time. Maybe I'll jump back into it. I've not heard of such misinformation being spread about other languages. Id love to hear your side on why Elm itself seems to attract such ire if its inaccurate.
- rtfeldman 5y agoIt's a great question! I think there's more than one factor, but the biggest one comes down to setting expectations, especially in the early days. Elm does a lot of things differently than other languages, and while I think that overall those differences have been instrumental to its success, especially early on it sometimes wasn't clearly enough communicated when "this is temporarily different because it's a WIP; you can expect it to be more like what you're used to in the future" versus "this is different by design, so expect it to stay different or even to become more different." Examples of this include typeclasses (a lot of people coming to Elm from a Haskell background assumed Elm would add them as a matter of course), JS interop (by design, it's not a traditional FFI, although there was an unintended backdoor that kind of worked like one; when that backdoor was finally removed, after much communication that in retrospect should have happened at the outset, some of those who had been relying on it were understandably upset), how the project is run (more like Clojure than like JavaScript), and what the release schedule looks like (batching large projects rather than more frequent smaller releases). I think things are a lot clearer today, but for some it's unfortunately too late to make a difference.
- jaeming 5y agoThat's a good point and maybe I shouldn't have re-posted these stories in my comment as I have not personally witnessed this behavior. I just know that when I started learning Elm initially (Nice Frontend master courses btw) I ran into this sentiment a good bit on reddit and hackernews so thought there was probably something to it if it was being echoed by so many. I'll add a reply to my comment to make it clear this is hearsay and doesn't necessarily reflect the truth.
- rtfeldman 5y agoThank you, that's very considerate of you!
- Latty 5y agoI'm a fan of Elm, and I'm using it in production, but I think this is very much a case of using some flaws in the way people see Elm to ignore some correct criticism of it. I've tried to push for fixing the use of CSS Custom Properties in Elm a couple of times (https://discourse.elm-lang.org/t/css-custom-properties/5554 https://discourse.elm-lang.org/t/css-custom-properties/5554) and it really felt like talking to a wall. The community absolutely suffers whenever anyone comes across one of these issues where there just isn't a solution, and more than that, no communication at all. It implies the project is dead. I accept that Elm is functionally just stalled and won't see any changes until some arbitrary point in the future, I can live with that. I don't think the project communicates it's state and direction well though, and that leads people to disappointment and the posts you see.
- nextaccountic 5y agoThe way the language is developed drives me nuts. If someone took the effort to fork Elm I would use it in a heartbeat.
- brainbag 5y agoAlso Mint at https://mint-lang.com https://mint-lang.com, which is heavily inspired by Elm (and better, IMO). The open source aspect is also the opposite of Elm - the community is very friendly, the developers are responsive and positive, and PRs are encouraged.
- jaeming 5y agoAfter considering the way I phrased this comment above, I want to clarify that I never personally observed or witnessed this kind of behavior myself. My own dealings in the Elm community have been almost entirely positive. I had heard a lot of these criticisms from comments on hacker news or reddit and realize now they mostly resemble hearsay or people like myself repeating what they heard from others resulting in a sort of echo chamber. I apologize for adding to that echo chamber.
- xupybd 5y agoF# solves many of these problems with it's ability to pull in C# libraries. When looking for a functional language to learn I settled on F# and am loving it so far. I'm not sure if I'd ever use it in production as it is still very niche. What Evan is doing with Elm is awesome, he has a small closed set of features to make a language that is aimed at doing one thing. He has very tight control to make sure there is zero cruft in the language. It's an amazing project. The cost is that it's very hard for outsiders to have any input into the language. So the ecosystem will never take off.