5 ms·
Before you commit too much time to learning Elm, please understand that Elm has somewhat unique cultural values. The Elm leadership team has a very specific vis
by bbkane 4y ago
Before you commit too much time to learning Elm, please understand that Elm has somewhat unique cultural values. The Elm leadership team has a very specific vision for how Elm should be used and actively discourage alternate visions (in particular for JavaScript interop). In addition, it's difficult to know how the language will change or propose changes to the language. There is no public roadmap and GitHub issues (even for bugs) are ignored for years. Here are two examples of where people felt forced to migrate their project to a different language:
https://lukeplant.me.uk/blog/posts/why-im-leaving-elm/ https://lukeplant.me.uk/blog/posts/why-im-leaving-elm/
https://www.listennotes.com/podcasts/reason-town/elm-to-ocaml-technical-debt-CmOoJxgA0LQ/ https://www.listennotes.com/podcasts/reason-town/elm-to-ocam...
I'm not saying to avoid Elm. It's a beautiful language that makes UI programming fun. Just don't put 6 months of nights and weekends trying to learn it like I did for a big side project without understanding these constraints.
- cardanome 4y agoTo be fair, Elm is also very stable and has not seen any new release since 2019. Not for lack of maintenance but simple because the author does not consider any of those bugs to be of need for immediate fixes. Plus communication has been, that Elm will probably stay mostly the same for a long time. It just doesn't have the churn that plagues the rest of JS-world. Elm is an absolute dictatorship but that is hardly that unique in the programming language world. There is also Gren https://gren-lang.org/ https://gren-lang.org/ if you want to have a (probably?) more open fork. But, yes Elm is a language build for very specific purposes with very strong opinions about how it should be used. If you have a project that fits the use case it will be awesome otherwise just don't.
- giraffe_lady 4y agoThere's essentially an F# implementation now that's under active development right? I haven't used it and forget the name, but last time I looked into it it, it seemed well-regarded and the people using it like it.
- bbkane 4y agoSee https://www.youtube.com/playlist?list=PLdo4fOcmZ0oV2uhlVIItfXxuRXsv-gXD5 https://www.youtube.com/playlist?list=PLdo4fOcmZ0oV2uhlVIItf... for last years .NET Conf with some F# -> web frameworks. They look really nice, but I haven't tried them yet.
- SantalBlush 4y agoIf Elm were really that bad, then maybe we wouldn't see the exact same salty blog article shoehorned into every thread about Elm.
- jessaustin 4y agoIf one leans toward using Elm for its various excellent qualities, but shares your concerns about it, what should one use instead?
- bbkane 4y agoI haven't really looked much for a replacement (instead making my little side projects CLI tools). I'm playing with Fyne (Golang) right now for a smaller side project (a TODO list app with just the features I want). The next GUI languages I'd like to look at are Rust (with egui or druid), Dart with Flutter, and F# ( https://www.youtube.com/playlist?list=PLdo4fOcmZ0oV2uhlVIItfXxuRXsv-gXD5 https://www.youtube.com/playlist?list=PLdo4fOcmZ0oV2uhlVIItf... looked promising ).