Live data from Hacker News

Why I’m Leaving Elm

lukeplant.me.uk

261–270 of 450 posts

Re: Why I’m Leaving Elm

#261

Earlier quoted context omitted.

> 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". But he didn't ask for work to be done anywhere in the article? He asks that he not be prevented from writing code that the compiler supports, but which is arbitrarily limited to members of certain organizat…

> But he didn't ask for work to be done anywhere in the article? He asks that he not be prevented from writing code that the compiler supports, but which is arbitrarily limited to members of certain organizations. That's not asking for work. But that is asking for work! That's a great example of "why don't you just... $TRIVIAL" where $TRIVIAL = "turn off the restrictions", as if there is no consequent problem for the…

> I think that comes under excusing abuse by saying it's inevitable that someone will do it.

Sorry, a former user talking respectfully about the shortcomings of your software project is not "abuse."

However, I do agree with the general thrust Of your comment that it was unwise for Luke to continue to use Elm. For all the reasons he outlines in his post, there are many similarly situated developers who would also do well to avoid it. Luke's post is a public service to let people know that the situation in the Elm project is not very healthy if your needs don't match exactly those envisioned by the core maintainer group.

Re: Why I’m Leaving Elm

#262
post #227

These posts (and HN comments) really make me wonder if adopters of fringe languages are always going to be thin-skinned developers who get emotional when they realize they won't be part of the language's design decisions. That "On Whose Authority" rant about Clojure complains about the exact same things. And I'll refer to Rich Hickey's response: https://old.reddit.com/r/Clojure/comments/73yznc/on_whose_au... . Elm in…

It's a peculiar demographic I've noticed amongst people who have grown up with all their software available gratis or ad-supported. "Oh this incredibly hard work that someone else did for free isn't exactly what I wanted and they refuse to change it the way I want for free" If Elm is so great, and if it's 99% there, and you only need "this one little custom operator" added, or this "special piece of extension code" a…

And when they don't accept your contributions and lock your thread when you explain why you neeed it, what then?

Re: Why I’m Leaving Elm

#263
This is a ton of emotionally charged verbiage about community interactions here, but at any point does this person say what they were using Elm to do? That seems like a pretty important point. Is this somebody who was just using the language recreationally, for their own amusement? And if so, did they have some expectation for the language community to be a source of (online) social interactions and connections with people?

Because if so, that really changes the significance of the accusations, in the sense that it makes them almost meaningless. "I wanted Elm to be my new life and my new friends and I wanted to shape it myself as a personal milestone but that stuff didn't happen and now I'm mad and I'm leaving" is a heck of a lot less meaningful to me than, "this language doesn't work well for the problems I'm trying to solve, and the maintainers aren't interested in adapting it to my problem domain, so I'm going to move on to some other language for this thing I'm working on".

I really don't care if someone is pissed that a language development community didn't make someone feel like they belonged to a social club or otherwise interacted with him in a way that satisfied some void inside of him. But if there was some actual purpose to his language noodling, as opposed to being purely recreational, it would be infinitely more interesting to know about how it fell short of the purpose, why the language fell short, why the maintainers didn't want to evolve it in that direction, and what language the author is moving to for their project that does a better job, and why they chose that language. That's meaningful. Anything related to whether or not they felt listened to or if they felt like they were on the inside or the outside is just utterly meaningless, it's like when people complain about news articles that don't have anonymous comment sections.

I realize that to a lot of people, the recreational community aspects of open source development are literally the only thing they care about. But I also realize that to some of those people, they don't understand that this is not the primary purpose of hardly any of the projects they care about, language projects probably least of all. Open source maintainers are not obligated to anybody to create a fun community for recreational users, with a well-lined pathway to becoming a recreational core developer. But that is clearly all that this person cared about, hence all of the emotional stuff which I just don't get. I'm not saying it's invalid, I just don't personally relate to that perspective at all.

Re: Why I’m Leaving Elm

#264

Earlier quoted context omitted.

> I continued reading and found bunch of more passages where the authors understanding of open source seems to be incorrect. The author is one of the "core team" members of Django[0]. So, it is safe to say that whatever assumptions he has about open source is not a fantasy and cannot be compared line-by-line to a text book definition of open source. [0] - https://lukeplant.me.uk/personal.html

> cannot be compared line-by-line to a text book definition of open source Why not? The OP claims that his opinions are explicitly mentioned in accepted definitions: > some of which are explicit in accepted definitions of the term If the OP is going to make that claim, why should we not expect to be able to find validation for his assumptions in a written definition of open source?

The fact that your quote starts with the word "some" should tell you everything you need to know.

Re: Why I’m Leaving Elm

#265
post #65

As someone who spent over a year working on a production Elm app, I agree with this post 100%. Our team experienced all of these issues and more. The 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 reco…

I (luckily) only implemented a few smaller projects in elm around the time of 0.18 release.

I started looking into how to get WebCrypto working, and was scared away by how they treated outside contributors. I liked Elm as a language, and Evan made a very good design. But to the core team, I got the message that they intend to work at their own pace, at their own leisure and will probably not take much input from outside contributors. This makes it very hard to expand the community and the usefulness of the language. They still have not afaik released anything for WebCrypto or WebWorkers. It is fine they are committed to the 100% pure language for frontend idea, but it makes it very hard to use if the Gods in the core team does not think it's fun/worthy to solve.

Re: Why I’m Leaving Elm

#266
I find it fascinating that the author is leaving one fringe language with a small community for another fringe language with a small community- in this case Bucklescript.

I've never found the productivity benefits of these JS alternatives worth the risk and cost. There is an understandable desire to move away from the messy reality of JS and it's browser friends, I get it. Having written many thousands of lines of CoffeeScript, experiments with ClojureScript and Elm, I see the appeal.

But you can easily find yourself stranded. Following the herd is important if you want to hire and maintain projects for the long term.

Re: Why I’m Leaving Elm

#267

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…

> This has made me reconsider my intention use Elm in my startup. Choose Boring Technology http://boringtechnology.club/ Seriously, don't use up your startup's innovation tokens on some guy's hobby programming language.

I used elixir for the backend and its paid off in dividends. That said, I had a year of experience working with it so it was boring technology for me at that point.

Re: Why I’m Leaving Elm

#268

Earlier quoted context omitted.

> cannot be compared line-by-line to a text book definition of open source Why not? The OP claims that his opinions are explicitly mentioned in accepted definitions: > some of which are explicit in accepted definitions of the term If the OP is going to make that claim, why should we not expect to be able to find validation for his assumptions in a written definition of open source?

The fact that your quote starts with the word "some" should tell you everything you need to know.

It doesn’t tell me which or his opinions he thinks are backed up by accepted definitions or what he considers an accepted definition. So no, it doesn’t tell us anything. It sounds more like a weasel word to get out of providing citations to back up his arguments.

Re: Why I’m Leaving Elm

#269
When I decided to commit my project to Elm, back in 2017, I have seen all those writings on the wall. Basically I am buying in someone's whim. One caveat is that I can stop following his whim, freeze source code that I need and carry on my development with out needing or caring about future releases, ie, I do the dreadful fork.

I work alone so I choose my tech destiny.

But when you look at the guy at which will you are submitting to, and can't but say he is the everything I want from a COMPILER MASTER. He have designed clean and well working language and ecosystem around it.

This is the ecosystem where you are not afraid that one of library's dependencies might install crypto miner or steal your user data.

You are sure with like 99.99999....% that you won't have errors in runtime.

And language is simple, my wife started writing it, you only need to know to structure the code and all the frontend power is to you.

Ad hominem - also Evan is soft spoken guy that cares about his life's work, and sharing it with others.

Ad hominem on my side - I am sick of ALGOL languages. After 12 years of proffesional work with many different languages, touching JS or anything related gave me head aches, such inherently stupid and inefficient ways of building systems, from syntax to /ways of doing things/ and making sure they are /allright/.

Luke may have different ambitions than me, I wanted to build reliable systems that brought me money, for me, after 3 years of Elm, I am happy as I can be.

I build new features with confidence and speed. It took me 3 days of work to switch to 0.19. I have deleted big chunks of JS that I though were necessary in order for my app to work. But I was wrong, there were pure way to do it. That was rewarding mental exercise for me, after which I had cleaner code, and customers noticed performance improvements.

Can language /be better/? Yes.

Is Elm at the point where think it desperately needs some improvement, because of which my work is blocked or stalled? No. It wasn't like that since 0.19.

Luke is off and rude in this post at least. He is considered about the posture of OSS not the real benefits of it. Why Luke didn't came up with big blog post about the features he would like to see in Elm? Much more constructive than bitching about it.

Re: Why I’m Leaving Elm

#270
post #198

I've used Elm professionally for about a year, having done full rewrites of both a bloated React/Redux SPA and a map data visualizer with complex JS interop using ports to Leaflet, AWS Cognito, etc. Luke Plant's blog post doesn't at all reflect my experiences with Elm or my feelings about the core team. For those not privy to the Elm tea, a brief primer: this blog post is primarily concerning a months-old issue regar…

I have been using elm at work (in prod) for about three years, my team and I have rewritten a hard to maintain 50kloc+ angular application to elm. The rewrite started with elm 0.18 and was finished with 0.19.

We started using elm extensively about a year before 0.19 was released and it was very clear to us from the start that even though it's possible to use native modules, it's a feature that should not be used and will not be supported in the future.

The experience we have had with elm and it's community have been nothing but great.

If we had stumbled upon a blog post/ thread like this when figuring out how to proceed, I'm not sure we would have given elm enough thought and tested it out properly. This makes me really sad as well.

Post reply on HN