7 ms·
Elm has been out a long time and that is a really short list. Are there key reasons elm hasn’t seen more adoption? (Please don’t bother with comments about cor
by kweinber 7y ago
Elm has been out a long time and that is a really short list. Are there key reasons elm hasn’t seen more adoption? (Please don’t bother with comments about corporate drones etc.... companies are pretty good at taking advantage of a good thing)
- popara 7y agoFrom what I have heard, most teams that don't opt to Elm have a reason along the lines of: But this is not React and React is the best! On the other hand, I have been using Elm for solid 4 years, and there are so many moments of Pure Joy of working with Elm, that JS/TS is unbearable. I have dropped many offers to work on React TS codebases, because that kind of language is such a downgrade after Elm ... IMHO
- hellofunk 7y agoI feel exactly the same way about Clojurescript and Reagent.
- MichaelGlass 7y ago> companies are pretty good at taking advantage of a good thing. I ... don't think that's true? There are lots of "superior" technologies that just haven't won. e.g. the handful of people who use it _swear_ by Datomic. And there are load of so-called "inferior" technologies that are still widely relevant. Mysql? Php? Wordpress? They pay a lot of software developers' bills. I work at NoRedInk, and we pay Evan Czaplicki to work on elm. When we started to migrate to Elm, our eng team was under 10 people. Larger companies, e.g. even NoRedInk today, tend to be less agile.
- LandR 7y ago> companies are pretty good at taking advantage of a good thing This is not my experience at all.
- claudiawerner 7y agoI don't know about anyone else, but I had some trouble with Elm. It's hard to reason in the type system (in comparison to Haskell), and I even had trouble just getting a drop-down list and radio buttons in a cross-platform way. The application structure is also very confusing to me, it's not quite MVC but it also doesn't let me just put stuff in one file. On the other hand, the workflow was good (even if it takes some time to compile + assets etc.), but I don't know if I'd use Elm again instead of trying TypeScript.
- vmchale 7y ago> I don't know if I'd use Elm again instead of trying TypeScript I'd use PureScript next, or maybe ReasonML. Elm is stagnant and its dictator seems to be quite insistent on keeping it that way.
- z5h 7y agoI think you mean stable. I’ve been more productive and happy in Elm than with any other language in the past 20 years.
- Karupan 7y agoI tried introducing Elm at my workplace and failed because: 1. Development of compiler and core libraries strictly BDFL driven (at least used to be) 2. Fixing some important compiler/library bugs takes years 3. No way to host private package repositories I still use Elm personally, although these are very valid concerns.
- idoubtit 7y agoIt was also rejected at my workplace, with the extra reasons: 4. The language is still unstable. Porting our code to the next release could be a huge task. 5. Elm + JavaScript is generally painful. 6. Few libraries, some of them unmaintained. Combined with the near-impossibility to use JS libraries from Elm, it would increase our work too much.
- vmchale 7y agoI did a side project in it; then the dependencies broke because of a compiler update (frustrating), and that's never been updated. I would never use such a thing in production.
- Karupan 7y ago> Elm + JavaScript is generally painful Getting rid of kernel modules for everything others than core packages in 0.19 made JS <-> Elm interop even more painful and broke some apps. I forked the compiler [1] to support that, although it is not upto date (still stuck at 0.19.0) [1] https://github.com/Checksum/elm-compiler https://github.com/Checksum/elm-compiler
- razze 7y ago6. Name one language, that has no unmaintained libraries, please :)
- matsemann 7y agoFor 3., we use elm-git-install https://github.com/Skinney/elm-git-install https://github.com/Skinney/elm-git-install
- 7y ago
- frou_dh 7y agoElm has been around for a long time and yet it's still pre 1.0. AFAIK there hasn't been, and still isn't, a promise that what you write has any sort of forward-compatibility with the next 0.x release. On that note, it's interesting that publishers have already put out print books.
- G4BB3R 7y agoIt is just a number, react-native is not 1.0 too and it's is used in production world wide
- frou_dh 7y agoIf it was just an arbitrary number then I wouldn't have been able to write the rest of my comment. Elm has history of adopters being surprised by the hammer coming down.
- Grimm1 7y agohttps://semver.org/ https://semver.org/ 'If you have a stable API on which users have come to depend, you should be 1.0.0. If you’re worrying a lot about backwards compatibility, you should probably already be 1.0.0.' To a significant part of the community 1.0 means a stable API with considerations of backwards compatibility. I know many people aren't using pure semver but the implications of a 1.0 have in my opinion extended beyond that point and beyond semver in general.
- matsemann 7y ago> that is a really short list But was it a well-known list before this? I hadn't seen it, and know of a few projects that could have been on there. What I'd like the list to include, though, is some references to the companies discussing using Elm. Pros and cons, the scale to which it is used etc. For instance for Vy there is this blog post: https://blogg.bekk.no/using-elm-at-vy-e028b11179eb https://blogg.bekk.no/using-elm-at-vy-e028b11179eb
- frozenlettuce 7y ago- no private repos (the standard PKG manager assumes GitHub). You need to use another package manager - yearly updates in the official blog - it's very hard to convince a team when it smells like abandonware - besides not being. The fact that the language has a single centralist owner does not help (just look at the blog posts, it's always "I did this, and that", not "we". - active work from the owner to shut down another PKG manager (Pine, if I recall correctly), because it allowed usage of """kernel""" modules
- k_bx 7y ago> - no private repos (the standard PKG manager assumes GitHub). You need to use another package manager Yes, but a minor point I'd like to make is that because of how Elm is organized, you just put stuff in your src folder and it immediately compiles (since there's no JS FFI etc.). So it's not as big of a pain as it might seem.
- vmchale 7y agoWeird community which seemingly has Stockholm syndrome. Relatedly, no mechanism for writing a generic sort function a la typeclasses or modules.
- matsemann 7y agoYou have been outed for spewing elm-hate just yesterday, and now you're all over this thread as well https://news.ycombinator.com/item?id=22236258 https://news.ycombinator.com/item?id=22236258
- deleted 7y ago[deleted]
- superdisk 7y agoHe's actually right. The community defends even bad decisions that come from the BDFL (more like just the DFL) and cargo cult parts of the language like ports or the inability to interface with native JS code. And there really aren't any ways to make generic functions.
- the_gipsy 7y agoHave you considered that the community just agrees? I'm happy with Elm and I don't want to sacrifice the spirit of it, just to get "big" like react or whatever. If you want to be mainstream, then there is already mainstream.
- philh 7y ago> I'm happy with Elm and I don't want to sacrifice the spirit of it, just to get "big" like react or whatever. This part seems to come out of nowhere? Your parent disagrees with certain design choices, but they didn't say why they disagree, and it seems unlikely to me that they disagree because they want elm to go mainstream. Unless you think that making different choices would turn elm into something mainstream? If so, I'd be interested to hear justification for that.