Live data from Hacker News

Why I’m Leaving Elm

lukeplant.me.uk

161–170 of 450 posts

Re: Why I’m Leaving Elm

#161

This came at an awkward time. I just bought Richard Feldman's book "Elm in Action" a few days ago and was working through the first 2 chapters. This has made me reconsider my intention use Elm in my startup. Having features randomly fail on me and having to rewrite an entire library in elm vs calling out to js means less time creating features that matter to my customers! I was drawn to elm as a way of spending less…

Dark is another startup that wrote an Elm to OCaml translator[0] after a previous language update broke their code[1].

[0] https://medium.com/darklang/philip2-an-elm-to-reasonml-compi...

[1] https://lobste.rs/s/1jftsw/philip2_elm_ocaml_compiler#c_hahl...

Re: Why I’m Leaving Elm

#162

I fully agree with everything listed in this article. One point he alluded to (by mentioning the "friendly" exclamation marks) but didn't fully address is the Elm community's bizarre and infuriating language policing. You can't say the word "guys" in the Slack channel, or a bot will come and correct you, and tell you to say "folks" instead. And from then on, you'll notice the core team all use the word "folks" incess…

> You can't say the word "guys" in the Slack channel, or a bot will come and correct you, and tell you to say "folks" instead.

Being asked to use inclusive language is a weird thing to complain about, especially as the very first example you give.

> And from then on, you'll notice the core team all use the word "folks" incessantly in their writing, it's like some weird cult.

I use "folks" and other non-gendered language by my own choice. It's a habit I developed after self-reflection. Am I in a cult?

Re: Why I’m Leaving Elm

#163

Earlier quoted context omitted.

He doesn't claim it's not possible, he claims that the Elm community will excommunicate you for forking. 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.

On the face of it, my impression is that excommunication, if it happens, is more likely to be caused by the author being burdensome to deal with, than code forking per se. Of course the author is unlikely to present it that way. And although I felt the author was moralising in this critique, it may be they are not particularly rude the rest of the time. But even writing a plethora of well-reasoned but difficult to ha…

> Of course the author is unlikely to present it that way.

I don't really get this accusation in light of the author leading the article with admissions of their own failings in terms of how they communicated with the maintainers of the project?

Re: Why I’m Leaving Elm

#164
Well done to the author for the level of self awareness in this post. It’s hard when faced with frustrating situations to remain calm and critique usefully rather than emotionally, but this was mostly well done.

I hope more engineers can learn to be this self aware. I know I’m working on it.

Re: Why I’m Leaving Elm

#165
post #80

For me, the best thing I got from this critique was the link to this 2018 talk by Evan: The Hard Parts of Open Source, https://www.youtube.com/watch?v=o_4EX4dPppA I found Evan's talking style really entertaining and enjoyable, and I totally relate to the first part about "why don't you just..." and "have you thought about delegation..."! The HN comments here are near uniformly negative towards Elm and supportive of L…

> That came over to me as "you are obliged to do a lot more work that I want you to do, on your own time and personal cost, and to stop developing the project according to your own vision or you are a bad person". I mention this in my top-level comment, but here's Rich Hickey of Clojure responding to similar assertions: https://old.reddit.com/r/Clojure/comments/73yznc/on_whose_au... > Clojure was not originally prima…

Let's take Java as a point of reference, since you brought it up. Imagine the JDK were opinionated about which authors were allowed to write packages that use FFI. And people wanting to use it would be instructed to build a relationship to said authors to get their code blessed to use FFI. It is wholly inconceivable. I'm sure you'd see quite a few "Leaving Java" posts over it.

Re: Why I’m Leaving Elm

#166
post #97
post #78

Earlier quoted context omitted.

Because every single one of these posts is "I like Elm, I don't like Evan('s style of leadership)." All of these leavers could've maintained that fabled community fork they want with the features they want if they all got together.

True. But "if they all got together" is waving away the difficulty of getting them all together, cooperating, and working together. Open source projects are a lot more difficult to run than you might expect.

> Open source projects are a lot more difficult to run than you might expect.

Indeed. You pour thousands of hours of work into something and give it to the world for free, only to be met by “give us synchronous IO or we will throw our toys out of the pram!”

Re: Why I’m Leaving Elm

#167
As a casual user of Elm it was interesting for me to read from someone who knows more about its development process. Unfortunately the author is frustrated by the process. And that frustration resonates with me. I've personally run up against these end-of-discussion comments that do not address the points that were raised in the thread.

Obviously, the developers of Elm can choose their development style. And those who can't live with that style can fork or fuck off. Still it is sad to see people sore from conflict. The author has a lot of investment in Elm, otherwise they wouldn't have written this. When I need to decide on my involvement in Elm, I will consider how conflicts are resolved.

I understand the purism of Elm, and I know it is part of why I like the language. I accept it takes unpopular decisions to keep it "pure". On the other hand, when I see people break off over limitations that the Elm project places on its users, but not on themselves (one of the main points of that article) I do get a sad feeling. What kind of relationship is this where you trust yourself with compiler features you don't allow other people to handle? Words like patronizing, controlling, and self-serving come to mind. They may have the best of intentions and my protection in mind, but I prefer the privilege to know I can shoot both my feet if I need to.

Re: Why I’m Leaving Elm

#168
Elm wasn't the right language/community for this author and that's ok, not everything is for everyone. I use and love elm as something to write my side projects in. It has a zen like appeal for many reasons:

- No runtime exceptions in practice, so you are developing against the compiler and almost never need to manually test what you're writing

- Very opinionated about how to do most things. There's usually just one good library to solve a problem and it solves it in a particular way. What you lose in the process of trying to solve your problem in a way that's not optimal for you, you gain in not having to search for the optimal solution.

- Little politics or debate about the language itself. This does make it like a cult, that's a fair comparison. Doesn't hurt my enjoyment of it though :)

- Tooling is pretty good, with helpful linters, stylers and plugins for vs code, vim and so on that the relatively small community has standardized on.

- Very active community on their Slack, I get considerable help on all problems from syntax to architectural at all hours of the day from certain tireless people on there. I do my part to help as well, I try to help the ultra-newbies now that I'm not one anymore.

I think the type of engineers who "think big" and want to do very ambitious things that would require them to have input on the direction of the language will not be happy in Elm, so I'm never surprised by the posts like this that are quite frequent. HN is especially full of these type so be cautious if this note is applicable. I also don't think I would recommend Elm as the solution to my 2k+ engineer company even though it's my favorite language. There's just too much at stake at that point to take a chance that the Elm process will screw you. But for small projects, maybe under 50 people? I think it can be a very strong candidate.

Re: Why I’m Leaving Elm

#169
post #17

The last time I looked at Elm was about ~4 years and this attitude was already showing. We hesitated building our business front-end in Elm at the time and had a general bad feeling about its future considering the various interactions we had seen. Seeing this article makes me pretty glad I didn't invest time in Elm.

Same.. was looking at make machine control system web HMI in Elm. After some investigation into Elm's background and development team... saw too many warning signs.

Re: Why I’m Leaving Elm

#170

Earlier quoted context omitted.

On the face of it, my impression is that excommunication, if it happens, is more likely to be caused by the author being burdensome to deal with, than code forking per se. Of course the author is unlikely to present it that way. And although I felt the author was moralising in this critique, it may be they are not particularly rude the rest of the time. But even writing a plethora of well-reasoned but difficult to ha…

> Of course the author is unlikely to present it that way. I don't really get this accusation in light of the author leading the article with admissions of their own failings in terms of how they communicated with the maintainers of the project?

I'm writing in response to this remark, presented in the parent to my comment:

> he claims that the Elm community will excommunicate you for forking.

If that is correct, what I said is less accusation and more descriptive, and should really say something stronger: "the author hasn't presented it that way."

However if the parent to my comment is mistaken, then I agree that would make that sentence in my response unfairly speculative.

Post reply on HN