6 ms·
this is, at least, consistent with my experience using elm on a side project. Dropped elm like a hot potato when I hit that wall. frustrating, too, because I
by holtalanm 7y ago
this is, at least, consistent with my experience using elm on a side project. Dropped elm like a hot potato when I hit that wall.
frustrating, too, because I was really enjoying the language, and everything about it up to that point. The tooling support for Elm is REALLY solid compared to some other functional compile-to-js languages out there.
If anyone is looking for a good functional compile-to-js language, I would suggest taking a look at ReasonML or possibly ClojureScript. Personally, I've just been using TypeScript written in a functional way, and it serves my needs at this point.
- mercer 7y agoMy brief experience has been similar. Elm is a dictatorship that could be wonderful if it didn't exist in the realm of messy html/js. I experience an icky feeling of stockholm-syndrome part of the time, and just plain frustration at other times when dealing with Elm. What's infuriating is that I do see the benefit of some degree of strict stewardship. It's just that it's too much in this case.
- billman 7y agoI totally agree with this fustration. There seems to be some innate paradox between growing a community and being a BDFL. I think this also expresses is self in our current political environment.
- holtalanm 7y agoi'm not sure if we need to be bringing politics up in a programming discussion, but hey, that's just my opinion.
- jwalgenbach 7y agoThis isn't a programming discussion. It's a discussion of the policies around an open source project. It's totally politics, albeit not on a national scale.
- smoyer 7y agoThe use of "dictatorship" in your comment brought a smile to my face because I thought of the BDFL title given to Python's creator ... and then imagined the Elm team forgot the "B" at the beginning of the acronym. Note that I have no personal experience with Elm and am in no position to take sides. The comment just describes the mental image I got from your comment's ink blot.
- int_19h 7y agoMost dictators believe that they are benevolent, as does their close circle (which is then often seen as "the community", because it has the loudest voice). From the blog, it definitely sounds like this is the case for Elm.
- _bxg1 7y agoI think Clojure is actually a good example of strict stewardship that works well
- ithrow 7y agoIf you feel the same way about the Elm project as the author of the article does, you won't be happy with Clojure[script] either. Its community already went through this drama and all the top community contributors(or that at least tried to contribute) left.
- didibus 7y agoI can't speak to Elm, but I'd say the Clojure/Script fiasco wasn't really one sided. Some of the "contributors" not getting their way wasn't like they were wanting to push some amazing improvements. Most of the time, the reason for things not going through is actually disagreement on the impact the change would have to the language, and people complaining about how slowly the discussion around it can happen to drive agreement. Basically my point is, some people like me are happy that there's a high bar of entry for contributions and that every change is carefully considered, even if sometimes that means changes happens more slowly. Don't know if that could be true of Elm as well?
- holtalanm 7y agoif that is the source of the drama for ClojureScript, there is a huge difference between that and the issue with Elm. With Elm 0.19 they have effectively disabled all libraries that use native JavaScript within, unless they are officially approved by the Elm core team, which I understand is no small feat. Imagine in Clojure if they said "you can't use Java libraries any more. Pure Clojure only from now on" but kept the ability to use Java libraries for the core libraries of the language. -- That is my understanding of the issue with Elm as it currently stands.
- didibus 7y agoOh, that's a bold move. I doubt this would happen on ClojureScript, in fact, I see the opposite sometimes, some people in the community complain about how Java and JS ruins Clojure/Script and makes everything worse, and why isn't there a native Clojure, where you'd never have to deal with the host. And the core stance tends to be that being hosted is the whole point from the beginning. I can see the frustration with Elm though, especially that it was enacted as part of a version upgrade. If it was from the start, people would know what to expect, but this seems like a huge backward breaking change. I'd be annoyed as well. In Clojure/Script, a lot of the tensions are more about what should be a community provided library, and what should be lifted as officially included in core. I see the core team tends to favour most language extensions to be kept as a library. And often when people want changes to the language to be made, the answer is that Clojure/Script is designed to allow user level changes, so whatever you don't like you can change for yourself. Some people still arn't happy about that, they want their ideas to become the standard. A lot of that stems from it being a Lisp. There's very little of Clojure/Script that actually necessitates changes to the compiler itself. Even the core functionality, most of it is implemented on the basic primitives the compiler gives, so you can happily change and extend almost anything if you disagree with the core team's choices. Back to Elm, I know personally, I've never been into a language restricted to only one use case, the web. It seems Elm has always wanted to be more of a framework for web development. A very opinionated one. This seems to be a move even more on that direction. Like if Ruby didn't exist, but only Ruby On Rails did. Correct me if I'm wrong here. It could lead to something nice in the long run, but like any framework, the trade off is that when it doesn't have the feature you need, you're stuck.
- lmm 7y agoDid you ever try Scala.js? I was a huge fan of how fully it was just standard Scala and therefore well-supported by IntelliJ; I've not seen any other compile-to-JS language match that level of IDE experience (but as someone who was already a Scala fan I'm biased).
- skrebbel 7y agoA bit of an open door maybe, but TypeScript has that level of IDE experience too.
- lmm 7y agoIt didn't when I tried it - IntelliJ does support it on some level, but doesn't offer the same depth of automatic refactoring etc. that you get with Scala, to the point that my colleagues generally favoured using VS Code.
- lucamug 7y agoWhat happened that made you hit the wall?