News for hackers. Stuff that matters.
Re:Why I’m Leaving Elm by save_ferris on Thursday April 09, 2020 @09:38AM (#22822395)
> For example, if there is a bug in any core library, or something missing, you just have to wait for the core team to fix it, rather than being able to fix it yourself. You might need a performance fix, which can be done using Javascript but not in Elm (lack of destructive updates makes some things very hard to implement efficiently), and again you will be stuck having to explain to your boss “I know this is possible in Javascript, but we chose Elm and it makes it very hard”.

Hard pass on Elm if this is true. This is an incredibly damaging accusation, is this consistent with other people's experience using Elm?

Re:Why I’m Leaving Elm by holtalanm on Thursday April 09, 2020 @09:52AM (#22822528)
this is, at least, consistent with my experience using elm on a side project. Dropped elm like a hot potato when I hit that wall.

frustrating, too, because I was really enjoying the language, and everything about it up to that point. The tooling support for Elm is REALLY solid compared to some other functional compile-to-js languages out there.

If anyone is looking for a good functional compile-to-js language, I would suggest taking a look at ReasonML or possibly ClojureScript. Personally, I've just been using TypeScript written in a functional way, and it serves my needs at this point.

Re:Why I’m Leaving Elm by mercer on Thursday April 09, 2020 @10:07AM (#22822649)
My brief experience has been similar. Elm is a dictatorship that could be wonderful if it didn't exist in the realm of messy html/js. I experience an icky feeling of stockholm-syndrome part of the time, and just plain frustration at other times when dealing with Elm.

What's infuriating is that I do see the benefit of some degree of strict stewardship. It's just that it's too much in this case.

Re:Why I’m Leaving Elm by smoyer on Thursday April 09, 2020 @02:50PM (#22825873)
The use of "dictatorship" in your comment brought a smile to my face because I thought of the BDFL title given to Python's creator ... and then imagined the Elm team forgot the "B" at the beginning of the acronym. Note that I have no personal experience with Elm and am in no position to take sides. The comment just describes the mental image I got from your comment's ink blot.
Re:Why I’m Leaving Elm by int_19h on Thursday April 09, 2020 @04:53PM (#22827059)
Most dictators believe that they are benevolent, as does their close circle (which is then often seen as "the community", because it has the loudest voice). From the blog, it definitely sounds like this is the case for Elm.
Re:Why I’m Leaving Elm by _bxg1 on Thursday April 09, 2020 @07:37PM (#22828392)
I think Clojure is actually a good example of strict stewardship that works well
Re:Why I’m Leaving Elm by billman on Thursday April 09, 2020 @11:25AM (#22823440)
I totally agree with this fustration. There seems to be some innate paradox between growing a community and being a BDFL. I think this also expresses is self in our current political environment.
Re:Why I’m Leaving Elm by holtalanm on Thursday April 09, 2020 @12:28PM (#22824172)
i'm not sure if we need to be bringing politics up in a programming discussion, but hey, that's just my opinion.
Re:Why I’m Leaving Elm by jwalgenbach on Thursday April 09, 2020 @12:53PM (#22824524)
This isn't a programming discussion. It's a discussion of the policies around an open source project. It's totally politics, albeit not on a national scale.
Re:Why I’m Leaving Elm by ithrow on Thursday April 09, 2020 @11:38AM (#22823577)
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.
Re:Why I’m Leaving Elm by didibus on Thursday April 09, 2020 @12:07PM (#22823867)
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 agreement.

Basically my point is, some people like me are happy that there's a high bar of entry for contributions and that every change is carefully considered, even if sometimes that means changes happens more slowly.

Don't know if that could be true of Elm as well?

Re:Why I’m Leaving Elm by holtalanm on Thursday April 09, 2020 @12:25PM (#22824125)
if that is the source of the drama for ClojureScript, there is a huge difference between that and the issue with Elm. With Elm 0.19 they have effectively disabled all libraries that use native JavaScript within, unless they are officially approved by the Elm core team, which I understand is no small feat.

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 by didibus on Thursday April 09, 2020 @12:53PM (#22824535)
Oh, that's a bold move. I doubt this would happen on ClojureScript, in fact, I see the opposite sometimes, some people in the community complain about how Java and JS ruins Clojure/Script and makes everything worse, and why isn't there a native Clojure, where you'd never have to deal with the host. And the core stance tends to be that being hosted is the whole point from the beginning.

I can see the frustration with Elm though, especially that it was enacted as part of a version upgrade. If it was from the start, people would know what to expect, but this seems like a huge backward breaking change. I'd be annoyed as well.

In Clojure/Script, a lot of the tensions are more about what should be a community provided library, and what should be lifted as officially included in core. I see the core team tends to favour most language extensions to be kept as a library. And often when people want changes to the language to be made, the answer is that Clojure/Script is designed to allow user level changes, so whatever you don't like you can change for yourself. Some people still arn't happy about that, they want their ideas to become the standard.

A lot of that stems from it being a Lisp. There's very little of Clojure/Script that actually necessitates changes to the compiler itself. Even the core functionality, most of it is implemented on the basic primitives the compiler gives, so you can happily change and extend almost anything if you disagree with the core team's choices.

Back to Elm, I know personally, I've never been into a language restricted to only one use case, the web. It seems Elm has always wanted to be more of a framework for web development. A very opinionated one. This seems to be a move even more on that direction. Like if Ruby didn't exist, but only Ruby On Rails did. Correct me if I'm wrong here. It could lead to something nice in the long run, but like any framework, the trade off is that when it doesn't have the feature you need, you're stuck.

Re:Why I’m Leaving Elm by michaelmrose on Thursday April 09, 2020 @11:10PM (#22829631)
Regarding

>all the top community contributors left

Please don't pass on misinformation.

Re:Why I’m Leaving Elm by lmm on Friday April 10, 2020 @10:01AM (#22833067)
Did you ever try Scala.js? I was a huge fan of how fully it was just standard Scala and therefore well-supported by IntelliJ; I've not seen any other compile-to-JS language match that level of IDE experience (but as someone who was already a Scala fan I'm biased).
Re:Why I’m Leaving Elm by skrebbel on Friday April 10, 2020 @03:27PM (#22836476)
A bit of an open door maybe, but TypeScript has that level of IDE experience too.
Re:Why I’m Leaving Elm by lmm on Friday April 10, 2020 @07:07PM (#22838279)
It didn't when I tried it - IntelliJ does support it on some level, but doesn't offer the same depth of automatic refactoring etc. that you get with Scala, to the point that my colleagues generally favoured using VS Code.
Re:Why I’m Leaving Elm by lucamug on Sunday April 12, 2020 @02:47AM (#22846476)
What happened that made you hit the wall?
Re:Why I’m Leaving Elm by ilaksh on Thursday April 09, 2020 @05:59PM (#22827640)
https://github.com/Checksum/elm-compiler

I just feel like people are right that the core team is not reasonable but at the same time, if there are that many people that like Elm, why not create a total fork?

It might come down to the people that would care enough to do the fork and a server or whatever have already had so much Koolaid that they just accept those negatives. And the other ones that can't accept it don't like it enough anymore to go to the trouble of making a fork.

But to me it seems like the best outcome is a fork that becomes successful.

Re:Why I’m Leaving Elm by hajile on Thursday April 09, 2020 @10:16AM (#22822732)
This is one of the biggest reasons why I think ReasonML is better.
Re:Why I’m Leaving Elm by thethimble on Thursday April 09, 2020 @11:32AM (#22823513)
Unfortunately ReasonML has its own set of drawbacks which don't make it a drop in replacement. These issues include standard library incompleteness, inconsistent parameter ordering conventions, and poor compiler error messages (compared to Elm).
Re:Why I’m Leaving Elm by cttet on Thursday April 09, 2020 @10:32PM (#22829419)
This perfectly describe the situation. While it is possible to do it yourself in Elm without the update, it is quite hard and cumbersome to do so. It is much easier to make a PR, but Elm core team is purposely relationship and personal-trust based, any random PRs will not get accepted in foreseeable future.
Re:Why I’m Leaving Elm by lucamug on Sunday April 12, 2020 @02:46AM (#22846474)
We are using Elm in production for almost a year and I never had a situation where a bug was blocking us. Do you have any example?
Re:Why I’m Leaving Elm by geocar on Thursday April 09, 2020 @04:48PM (#22827021)
> if this is true.

It's as true as it is for Python.