Live data from Hacker News

Why I'm Leaving Elm (2020)

lukeplant.me.uk

41–50 of 61 posts

Re: Why I'm Leaving Elm (2020)

#41
post #12

Elm is pretty much dead at this point. The last substantial commits in the Elm repositories are about 2 years old. I liked Elm before, and was a great fit for internal corporate applications. Something like an admin control panel or a monitoring tool. Are there any similar projects that are in the "more alive" state?

Electric Clojure - https://github.com/hyperfiddle/electric

Re: Why I'm Leaving Elm (2020)

#42

Extensive discussion (434 comments) when this was first published. https://news.ycombinator.com/item?id=22821447

Thanks! Macroexpanded:

Evan Czaplicki's response to “Why I'm leaving Elm” - https://news.ycombinator.com/item?id=22837686 - April 2020 (1 comment)

Why I’m Leaving Elm - https://news.ycombinator.com/item?id=22821447 - April 2020 (432 comments)

Re: Why I'm Leaving Elm (2020)

#43
post #12

Elm is pretty much dead at this point. The last substantial commits in the Elm repositories are about 2 years old. I liked Elm before, and was a great fit for internal corporate applications. Something like an admin control panel or a monitoring tool. Are there any similar projects that are in the "more alive" state?

Do all projects need to continue having work done on them to be considered 'alive'? Is there no possibility for a project to be 'finished' and still good to use without needing any more work?

For libraries wouldn't you expect at least work to keep supporting newer versions of the language? Or use the improvements brought by said new versions?

For a language itself I don't know. I don't know I've never designed one. Maybe keep working on it to take advantage of improvements made to lower level libraries that you use?

Re: Why I'm Leaving Elm (2020)

#44
post #12

Elm is pretty much dead at this point. The last substantial commits in the Elm repositories are about 2 years old. I liked Elm before, and was a great fit for internal corporate applications. Something like an admin control panel or a monitoring tool. Are there any similar projects that are in the "more alive" state?

Elm is pretty much finished (meaning feature-complete) IMO. Not much needs to be changed. I love Elm. I can always go back to a project and get back on it in 2 minutes. The compiler is superb. The problem is one must roll on their own almost everything. I dislike the constant churn of React and other libraries, that often add change for change's sake, and break backwards compatibility or depend on too many libraries.…

I was just reacting to general sentiment. Few days ago was similar posts about Rust. And one about Python.

And got me thinking, in a world where anybody can fork a project, and tweak it, how does a language keep a solid base to work from. And it does seem like it is those with corporate backing.

I'm not against it. I'm a big fan of F#.

But kind of sad that ELM isn't making it, since, in my opinion the ELM architecture is great concept for functional languages to do GUI's.

Re: Why I'm Leaving Elm (2020)

#46
A year ago I started using Elm for a side project where I wanted to let my users go beyond typical Markdown and templates and apply their own processing rules on html/css generated by an Elm view. Unfortunately I discovered Elm's libraries aren't really intended for that - a view can trivially create html nodes but you can't transform those same html nodes in the obvious way because their attributes aren't readable. If you want something you can transform in multiple passes you have to use your own IR or html wrapper.

Maintaining a redundant IR just to be able to transform attributes wasn't a price I was willing to pay for a fun side project so since Elm really didn't want me to work with the generated html the way I wanted to I looked around and decided to give Yew a try. Unlike Elm, Yew gives you a way to include arbitrary html in the rendered output. Accessing third party javascript with wasm-bindgen is also much simpler than using ports or custom elements in Elm.

Well after playing around with Yew a bit I found myself missing the effortless refactoring experience I had working in Elm so I decided to come back to Elm and go with a hybrid approach. Now I have static html/css with small Elm modules for forms and simple views and a completely separate app does the transformation. This wasn't the architecture I originally had in mind but overall I like it better.

Having said all that I can sympathize with the author's frustration. It's really really irritating when you encounter something that you think should have a trivial solution but turns out to be hard in Elm because of the choices the Elm developers made. In my case I felt like I was on a luxury cruise that was fun 99% of the way until finding out their policy was that I had to swim the last 1% on my own.

Re: Why I'm Leaving Elm (2020)

#47

Earlier quoted context omitted.

Elm is pretty much finished (meaning feature-complete) IMO. Not much needs to be changed. I love Elm. I can always go back to a project and get back on it in 2 minutes. The compiler is superb. The problem is one must roll on their own almost everything. I dislike the constant churn of React and other libraries, that often add change for change's sake, and break backwards compatibility or depend on too many libraries.…

I was just reacting to general sentiment. Few days ago was similar posts about Rust. And one about Python. And got me thinking, in a world where anybody can fork a project, and tweak it, how does a language keep a solid base to work from. And it does seem like it is those with corporate backing. I'm not against it. I'm a big fan of F#. But kind of sad that ELM isn't making it, since, in my opinion the ELM architectur…

Well, yeah, but Elm can’t have corporate backing (apart from NoRedInk where Richard Feldman is CTO) for the reasons outlined in the article. It’s suicide to pick Elm for important production applications when you know that the escape hatches have been welded shut. Go explain to your boss how you have to spend two years to implement, say, an internationalization library because Evan says so. The Elm approach is borderline crazy here. As a technical decision maker you have to hedge your risks in order to ensure you can deliver. And using Elm is just a very risky decision.

I rant about this because I actually really enjoyed programming in Elm when I tried it out. But this shortsightedness has basically killed it. Had they been more lax with native modules and more community oriented, the language would be much bigger now.

Alas, it is what it is.

Re: Why I'm Leaving Elm (2020)

#48
post #40

Earlier quoted context omitted.

Elm is pretty much finished (meaning feature-complete) IMO. Not much needs to be changed. I love Elm. I can always go back to a project and get back on it in 2 minutes. The compiler is superb. The problem is one must roll on their own almost everything. I dislike the constant churn of React and other libraries, that often add change for change's sake, and break backwards compatibility or depend on too many libraries.…

Is there l10n and i18n support yet? I don’t know how a UI framework can be considered production ready let alone finished without support for string translations. Last I checked, after Elm 19 killed the third party wrappers around Intl I hadn’t seen any movement here, but maybe I missed it or this has changed since then

React doesn't have i18n

Re: Why I'm Leaving Elm (2020)

#49

previously: https://news.ycombinator.com/item?id=22821447 (April 9, 2020 — 732 points, 431 comments) I was surprised this is only the first reposting—I thought for sure I had seen it more often than that.

You have seen it more than that, because it is linked in the comments of almost every Elm-related post on HN. There is a small group dedicated to ensuring nobody uses a language that, according to them, nobody uses. *Edit: https://news.ycombinator.com/item?id=34750499 https://news.ycombinator.com/item?id=35499892 https://news.ycombinator.com/item?id=34748430 https://news.ycombinator.com/item?id=34747958 https://news.…

It looks like the haters found my comment, and really, really want to make it clear that they hate Elm. To each their own.

Re: Why I'm Leaving Elm (2020)

#50
post #40

Earlier quoted context omitted.

Elm is pretty much finished (meaning feature-complete) IMO. Not much needs to be changed. I love Elm. I can always go back to a project and get back on it in 2 minutes. The compiler is superb. The problem is one must roll on their own almost everything. I dislike the constant churn of React and other libraries, that often add change for change's sake, and break backwards compatibility or depend on too many libraries.…

Is there l10n and i18n support yet? I don’t know how a UI framework can be considered production ready let alone finished without support for string translations. Last I checked, after Elm 19 killed the third party wrappers around Intl I hadn’t seen any movement here, but maybe I missed it or this has changed since then

That is exactly what I meant with you have to roll your own of everything. The building blocks for this one are there.

Elm could have server side rendering too, like nextjs. That is IMO way worse.

Post reply on HN