Live data from Hacker News

Why I’m Leaving Elm

lukeplant.me.uk

351–360 of 450 posts

Re: Why I’m Leaving Elm

#351
post #227

Earlier quoted context omitted.

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…

It doesn't sound like they were expecting someone else to do it: they did it themselves but the maintainers were not open to the idea.

What you said sounds exactly like they want the “maintainers” to do something.

But I understand how it can sound like that if you’re part of the demographic I’m talking about.

Re: Why I’m Leaving Elm

#352
post #318

Evan is brilliant, Elm even more so. There are trade offs that they are making that I totally understand. There is one way to do things. There is one path to fix things. Everything works one way and works incredibly well. But those trade offs come at a cost. It is very hard to take Elm into production having to put all of your trust in Evan and the few in his company. There are going to be times that your bugs are no…

I cannot understand how one could call something "so perfect" if it cannot be feasibly considered for use in production. How can something perfect come with so many drawbacks and warnings?

Re: Why I’m Leaving Elm

#353
This is a very emotional piece. While a lot of his points are true from some perspective, they seem to come from an expectation that Elm should be treated the same as enterprise languages or frameworks, whose ultimate goal is to "get traction and adoption" as success measure.

I have used Elm in a hobby project, a multiplayer web game, which I have been developing over 4 years now. Elm has been a complete joy. New features and refactors are done incredibly fast AND safe. I believe this is due to Elm's restrictions letting no unsafe code "in".

Re: Why I’m Leaving Elm

#354

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…

I think its a bit different with a language though. Because so much of other people's work is based on it, removing a feature that was being used causes all sorts of downstream chaos. Every time a language release breaks backwards compatibility it tends to really upset people, I think maintainers always need to be cognizent that their choices effect others.

They are. They might lose some users this way. They would definitely lose some users the other way though.

I suppose it must seem pretty strange to see a programming language built on a set of technical values, instead of trying to find the subset of most-popular values (because their real goal is popularity).

Re: Why I’m Leaving Elm

#355
post #285

Earlier quoted context omitted.

A fantastic example of this _not_ happening in js libraries though is Plotly.js. It's still on a 1.x release and has maintained backwards compatibility (for the most part) with the original API for _years_. Full disclosure, I used to work there (specifically, on plotly.js).

Another is KnockoutJS which went from 2 to 3 with minor changes and virtually nothing broke on 2.x -> 2.x+1 in all the time I used. I'm kinda sad it (functionally) died out because they clearly valued and worked hard on that.

Both Plotly.js and KnockoutJS are great examples of stability.

I think KnockoutJS may still the only (formerly) major framework that focussed only on doing data-binding really well without adding in loads of other functionality. As you say, a shame it died out.

I don't know if KnockoutJS is dead, so much as done or perhaps complete. If all you want is data-binding it might be worth considering. It was released as recently as 5 months ago (https://www.npmjs.com/package/knockout) and it's still getting the occasional bug fix: https://github.com/knockout/knockout/pulls

I suppose it's not that trendy so good luck getting buy-in at a team level, but it would certainly still work for a bunch of different use cases.

Re: Why I’m Leaving Elm

#356

Earlier quoted context omitted.

That's what many people (myself included) have done. Unfortunately by not sharing our experiences, others will have to learn things the hard way. If Evan is entitled to run Elm however he wants, Luke is entitled to post whatever criticism he wants on his own blog. If nobody ever speaks up, do you think things will actually ever get better?

To be clear, I don't have a problem with Luke posting his experience, but there's a difference between reporting the news and reporting your feelings. I think about half that article could be deleted, and it would still hold content of "why I'm leaving," but without building this huge drama oriented narrative.

You can't expect people to write in the style you want them to.

Emotions can't be just locked in a cage. They will always filter out.

It actually sounds like one of the issues with Evan, he thinks he is doing the right thing but it's just his ego talking. If he were to listen to how he feels about dealing with this issues and talking to the community Elm would be better off and this article wouldn't have happened.

BTW. I think this article could very well kill elm.

Re: Why I’m Leaving Elm

#357
post #312
post #134

Earlier quoted context omitted.

Did you read the blogpost? Apparently you're not encouraged to do so.

https://github.com/elm/core/blob/master/LICENSE It looks like an open source project. I don't get your point.

An act being allowed legally is distinct from an act being encouraged socially.

Re: Why I’m Leaving Elm

#358
post #253

Earlier quoted context omitted.

Oh please, maybe if all you're doing is reading hackernews articles. The language hasn't really changed that much in the last few years. The only major feature is async/await.

Rust is a complicated language and still has a very long journey ahead to prove its worth, I have yet to see it being used extensively in Mozilla to re-write Firefox which hasn't happened yet (may not happen as replacing C++ with Rust is a nightmare given most useful systems code is still either C or C++). Hopefully zig [1], picks up. It's compiled code is smaller and better in performance compared to Rust and also p…

Parts of Firefox are already written in Rust:

https://wiki.mozilla.org/Oxidation

they are continuing the work to replace the least performant/secure components in Rust when it's easily possible to switch them out

Re: Why I’m Leaving Elm

#359

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…

The initial complaint was "can you just not do the restrictions in the first place?" which was ignored

It's asking them to do less work

Re: Why I’m Leaving Elm

#360
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…

If this was a serious project, you wouldn't irreversibly break userland. If you're going to call it kernel modules, compare yourself to the Linux kernel, where breaking ANY userland is forbidden.
Post reply on HN