Arrogant is the most accurate word to describe Elm and its leadership. I tried to use Elm in production between 0.14 and 0.18 versions and it was fun and mind expanding experience. I'm truly grateful that I've used it because it introduced a lot of functional stuff to me. But I no longer use it myself or recommend it for any serious work. Breaking changes were negligible in the beginning. But I got fed up with rewrit…
Why I’m Leaving Elm
421–430 of 450 posts
Re: Why I’m Leaving Elm
#422Earlier 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…
That this friction seems to come up constantly seems like it is a failure in messaging. How much energy would the Elm core team save if they didn't have to constantly defend their designs? Then, once the language is at a sufficient maturity to accept community contribution, it could be messaged that supporting development is welcomed.
Instead, you have instances like this one [1], where a developer, misunderstanding the capabilities and goals of Elm, sinks a significant amount of effort into building something that the Elm team has no intention of enabling. Their time has been wasted, they are frustrated, and the Elm team has to once more feel like their goals have been mis-interpreted.
I think purging all non-core Elm packages from the repository, and messaging that Elm is not ready as a general replacement for front-end development tools would save everyone involved a lot of time and heartache.
Of course, the Elm team is free to do as they wish, including fighting a seemingly never-ending series of PR battles over the vision and future of their language. Indeed, this might be the best compromise - they get some amount of ecosystem without changing their vision for the tool. It just seems that there are a lot of bruised egos, and a whole heck of a lot of wasted time because of it.
Re: Why I’m Leaving Elm
#423Earlier quoted context omitted.
Sounds like that’s a complete facade though. Plenty of people are overly polite because it inflates their ego to be perceived as polite. And the article isn’t talking about politeness so much as openness. Which, the Elm team seems very very closed off.
>Plenty of people are overly polite because it inflates their ego to be perceived as polite. Can you point me to some article or rigorous paper that would help me take this claim seriously?
Re: Why I’m Leaving Elm
#424Earlier quoted context omitted.
This is untrue--and I'm not entirely sure you followed the article. You can't do synchronous tasks like Intl's format for strings from floats as many locales use "," over ".". It is a pure function `Float -> String`. This should not have to go through the entire update cycle to handle receiving these kinds of value. Using ports adds async to this equation which means you need to write the ports, and handle and store…
It is now 'Locale -> Float -> String' or do I miss something?
Re: Why I’m Leaving Elm
#425Earlier quoted context omitted.
>Plenty of people are overly polite because it inflates their ego to be perceived as polite. Can you point me to some article or rigorous paper that would help me take this claim seriously?
I think the idea that most people are nice to some people, and not nice to others is a generally accepted premise.
Nothing I said implied I disagreed with that "premise" and it seems bizarre how what I did say could somehow lead to your non sequitur of an answer. At any rate, what should have been obvious I was taking exception to was the idea that "plenty of people are overly polite because it inflates their ego to be perceived as polite." That comes across as reductive. The same argument could be used to criticize anyone's motivations for practically anything and anything's opposite. So and so does x because it inflates their ego to be perceived as doing x or so and so is overly impolite because it feeds their ego to be perceived as someone with a gruff demeanor. It's too easy so I was looking for some kind of article that at least made a convincing argument for its application in at least this specific context. I'm still waiting.
Re: Why I’m Leaving Elm
#426Re: Why I’m Leaving Elm
#427I've invested a lot of time in Elm about two-to-three years ago, the two main things was elm-ui [1] and elm-github-install [2]. At the time elm-ui was impossible to build without "native code" so I used it and built elm-github-install to make it work. Suffice to say, I've run into the exact same issues as the author. Had they allowed me to contribute in a meaningful way Elm now would have a nice UI library and probab…
Mint looks cool! Maybe this is answered somewhere, but what would you say is the differentiator between Mint and Svelte? Many of the design choices seem similar. I am in the position of starting a new hobby project soon myself and currently Svelte is the one I have landed on. Thank you for your efforts.
Mint has what Svelte doesn't:
- consistent language with a good type system - at its base it is a functional language - styling is built in - https://www.mint-lang.com/guide/reference/components/styling... - routing is built in - https://www.mint-lang.com/guide/reference/routing - language constructs for error handling - language constructs for asynchronous tasks - compiles to Preact so the build output is small - easy JavaScript interopability
Svelte has what Mint doesn't:
- it is basically JavaScript compiler - different syntax for template (HTML) vs code - code is just mostly JavaScript and can use NPM packages (I think) - have their own runtime without virtual DOM - transitions and animations are built in - reactive by default (without the need for language constructs)
I haven't really played around with Svelte though so I might be a bit biased. I suggest that you try both a see what you like more.
Let me know if I can help with that :)
Re: Why I’m Leaving Elm
#428Earlier 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". I mention this in my top-level comment, but here's Rich Hickey of Clojure responding to similar assertions: https://old.reddit.com/r/Clojure/comments/73yznc/on_whose_au... > Clojure was not originally prima…
Let's take Java as a point of reference, since you brought it up. Imagine the JDK were opinionated about which authors were allowed to write packages that use FFI. And people wanting to use it would be instructed to build a relationship to said authors to get their code blessed to use FFI. It is wholly inconceivable. I'm sure you'd see quite a few "Leaving Java" posts over it.
Re: Why I’m Leaving Elm
#429Earlier quoted context omitted.
> But in their eyes, Elm is not done I think this is one of the major themes of all the 'Elm dramas' that we have been reading and hearing about. Elm core team should stop recommending it as a stable platform that people can try out (which Elm clearly is not).
I've personally never seem them say "the language is done, you can expect no breaking changes". Hence the fact that it is v0.19
[1] https://discourse.elm-lang.org/t/two-experiences-with-elm/91...
[2] https://github.com/gdotdesign/elm-github-install/issues/62#i...
Re: Why I’m Leaving Elm
#430Earlier quoted context omitted.
> But in their eyes, Elm is not done I think this is one of the major themes of all the 'Elm dramas' that we have been reading and hearing about. Elm core team should stop recommending it as a stable platform that people can try out (which Elm clearly is not).
I've personally never seem them say "the language is done, you can expect no breaking changes". Hence the fact that it is v0.19
Well ... I don't use Elm in production. But, I'm sure there are people out there who got gaslighted because of this ill-conceived move, and they can better explain about 'production readiness' story that was weaved around Elm.
> Hence the fact that it is v0.19
I also don't understand how can a minor version 0.18 -> 0.19 completly break backwards compatibility even if it is not stable. Well may be it's just Elm. They should have atleast thrown a `deprecated` warning and maintain backwards compatibilty till the next major version.