Live data from Hacker News

Why I’m Leaving Elm

lukeplant.me.uk

341–350 of 450 posts

Re: Why I’m Leaving Elm

#341
post #78
post #64

Earlier quoted context omitted.

I don't agree with everything here. Open source really does mean that you just have all the code to rebuild the thing from scratch under the right sort of license. Open source doesn't mean anything else, like having access to design decisions. That is acknowledged in the article. But the fact is that you can BE open source without doing the things that make open source WORK. [...] Elm users who are not happy should f…

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.

It doesn't actually make sense to fork Elm. There are pretty good general-purpose languages already which offer a superset of Elm's (the language) functionality. I think all of them already have Elm-like implementations available as libraries. In fact there's at least one migration tool that helps convert away from Elm: https://github.com/darklang/philip2

Choosing to hard-fork Elm and create lots of internet drama just doesn't make sense compared to moving to one of the above.

Re: Why I’m Leaving Elm

#342

Elm has a bus-factor of 1. https://github.com/elm/compiler/graphs/contributors I feel quite uncomfortable hitching my wagon to a single developer who owes me nothing.

Evan response to the bus-factor: https://youtu.be/uGlzRt-FYto?t=508

From that video:

I have a feeling that the answer to the question is like, "What if so-and-so was hit by a bus?" It's like, "It'd be bad." I think that's the general answer but it's something people worry about.

That's... confidence inspiring.

Re: Why I’m Leaving Elm

#343

Earlier quoted context omitted.

I agree that opionated frameworks can reduce complexity. I was Rails for a very long time. But moving to a new language that you can't hire for seems like an extreme reaction to "our config is complex". One good thing about a mainline technology like TS is that thinga get attention. Manual config today may be supported feature in the future.

Isn't the real risk, in moving to a fringe frontend framework, not just that you can't hire, but that you run into some roadblock you just can't get around? That you have some abstraction leak or messy interactions with JS?

This too. And then you're only as good as the interoperability your platform is providing.

Re: Why I’m Leaving Elm

#344
post #43
post #20

This post resonates with me. I'm not deeply involved in Elm, I just have an Elm side project (started on 0.17) with roughly 1k lines of code. Do I love Elm? Yes, definitely. It's such a well-designed language. Lots of thought went into it. It's very focused and has great (albeit sometimes non-obvious) solutions for almost everything. However, the leadership style is also what keeps me from recommending Elm to anyone…

This kind of leadership gave us Go. It's not necessarily bad. If everyone gets their way with the language specs, then all languages will look like a weird dialect of C++ :)

As far as I'm aware there are no features in go that are both fully implemented under a "for me and not for thee" compiler level guard. It's true that end users cannot have generics -- they are reserved for map, slice, array and chan. But that's not because the go team are hypocrites. They just dont have a general solution for generics yet.

Re: Why I’m Leaving Elm

#345
I'm mentioned in the article. I had nearly the exact same experience as the author from a different side of the planet -- and we even overlapped on i18n/l10n issues. I actually raised some of these issues in a blog/Reddit post from a rewrite I did in 2016, where this was one of the biggest pain-points (back when native code was cryptic but legal). After that thread was closed without real answers or a way to reply, I stopped participating in any meaningful way to the community and did all side projects in something else. I've been afraid to even ask the community for any sort of assistance because of the hostility I've encountered for suggesting something was wrong or incomplete. You can see in the authors constant preapologies in the article that he's really afraid of the tact chosen for this so he doesn't get any flack to put him in even worse standings with community; this is absurd, and it's the reason it needed to be aired out in a long blog post after bottling frustrations.

I've switched jobs since, but we've discussed migrating from Elm to PureScript for the last like year without having a big enough reason to pull the trigger, but maybe this would be a good time since it seems a lot of people are frustrated in the community and I've had to come up with a few too many 'clever' solutions to get around limitations.

I think Elm is the best playground to learn functional programming, but I wouldn't recommend it to anyone for anything other than a learning opportunity or a narrowly-scoped weekend SPA project.

Re: Why I’m Leaving Elm

#346
post #182

Earlier quoted context omitted.

Really growing, so much that it's kinda hard to keep up with

You shouldn’t take your opinions on things from HN discussions that claim that Rust is changing quickly, and then are only able to point out 3 things over 5 years that have changed.

I don't. Crate authors seems to be playing catch up to, or more likely, abandon their old work. I'ts really hard coming in to Rust to get a feel for what to use in any given situation as the crates are either dead or in alpha.

Re: Why I’m Leaving Elm

#347

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…

Thank you fir this. Balances out the prevailing sentiment in the rest of the comments.

Re: Why I’m Leaving Elm

#348
post #22

I‘m not sure why this hasn’t been mentioned by anyone: If you’re unhappy with Elm‘s constraints the obvious solution is to switch to PureScript (purescript.org). It’s basically are more powerful Elm like language with a great FFI and absolutely no constraints how to work with JavaScript. There are also a lot of compatibility packages to provide functions and workflows from the Elm ecosystem.

The learning curve to PureScript is way higher than Elm. Is that not that obvious?

I've seen people suggest learning Elm as your stepping stone into PureScript, because it does a better job with the training wheels in the beginning.

Re: Why I’m Leaving Elm

#349
When a technology wraps over another technology with its own opinions - doesn't it always end up bad?

Especially when the wrapper decides to take away the escape hatches, locking people into its opinions without considering genuinely valid exemptions.

I wonder how so many truly bright minds, bought into this philosophy, despite knowing this was coming. I guess the promise of Elm was just far too convincing.

Re: Why I’m Leaving Elm

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

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

If it’s a good idea your fork will survive.

If it isn’t, now you know too.

Post reply on HN