Live data from Hacker News

Why I’m Leaving Elm

lukeplant.me.uk

381–390 of 450 posts

Re: Why I’m Leaving Elm

#381
post #306
post #215

Earlier quoted context omitted.

> the leadership problem It's only a problem for the ones who misunderstand the model. It's not a problem, it's by design. It's explicitly setup so that Evan has the final say in everything. > What I mean by "work" is that it leads to successful projects. By a variety of metrics for success. I'm always interested in hearing what metrics people are using for "success", so do please list them so we can be on the same p…

>> the leadership problem > It's only a problem for the ones who misunderstand the model. It's not a problem, it's by design. It's explicitly setup so that Evan has the final say in everything. The fact that they intended to do a stupid thing does not stop it from being a stupid thing. The core development team of Elm is an echo chamber of smart people who only listen to each other. When they are working on problems…

> Open Source BEGAN as a marketing term for a particular software development philosophy BEFORE there was a settled definition for what open source software meant. To this point, one of the founding inspirations was http://www.catb.org/~esr/writings/cathedral-bazaar/cathedral.... Furthermore the practices for how Elm is being developed are exactly against that philosophy.

If you're going to bring up the origins of "Open Source", the above is NOT CORRECT.

It began as a marketing term for "Free Software" principles, as it was realised the FSF marketing wasn't convincing people in corporate environments.

From Wikipedia (I think this is accurate):

>> Netscape's act prompted Raymond and others to look into how to bring free software principles and benefits to the commercial-software industry. They concluded that FSF's social activism was not appealing to companies like Netscape, and looked for a way to rebrand the free software movement to emphasize the business potential of the sharing of source code.[35]

Not as a marketing term for Bazaar principles, despite ESR's involvement in both around the same time. Obviously the Bazaar paper added significant inspiration to the movement and to many projects, and informs some people's expectations around Open Source. But I have heard ESR talk about the origins of "Open Source" and it was quite clearly because "Free Software" wasn't getting the message across; the latter was too ethics focused for the corporates.

Btw, you can have Open Source without a Bazaar, and you can have Bazaar-style development without Open Source too (a lot of companies do so without giving it that name).

Re: Why I’m Leaving Elm

#382
post #293

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…

Tab width arguments are amusing, because it's always between 2 and 4. There’s actually a number between 2 and 4. For some reason it's never considered. I've got a summary of all the indentation arguments here: https://cthor.me/Indentation

I had a CS professor in college who required assignments to be submitted with 3-space indentation.

Re: Why I’m Leaving Elm

#383
post #34

Earlier quoted context omitted.

Your suggestion for the problems with this project is "Why don't you just fork it and maintain your own?"

That's what forking entails. It's a bit like Brexit. You don't get to stay in the club. If there are sufficient people unhappy with Elm but are cohesive enough to push the compiler forward, then why not?

The open-source ethos means welcoming the friendly competition that comes from a fork. Look at the grandparent's link for the attitude taken by awk and bash.

Re: Why I’m Leaving Elm

#384

I don't agree with everything here. Open source really does mean that you just have all the code to rebuild the thing from scratch under the right sort of license. Open source doesn't mean anything else, like having access to design decisions. Interaction style and personalities are also not part of the definition of open source; open source doesn't mean nobody is brusque or abrasive. Some communities have additional…

> Open source really does mean that you just have all the code to rebuild the thing from scratch under the right sort of license. Open source doesn't mean anything else, like having access to design decisions.

Open source means you have access to the source in the preferred form for making modifications (and not e.g. dumps of generated code). IMO that should include any design documents that the original maintainers would consult when making modifications themselves.

Re: Why I’m Leaving Elm

#385
I've just realised that by the understanding of "Open Source" assumed by Luke and by many of the commenters here:

- Firefox isn't Open Source.

- Lots of other things often held up as shining examples of Open Source are not Open Source.

...because they are worked on by people or teams who decide their own design goals and roadmap, and while you can contribute and talk about the project, many users feel the project moves on without catering to their needs or remaining compatible over time.

Firefox is an interesting example, not only because it's a poster child for Open Source, but because it evolved from Netscape Navigator's source release and is associated with events when the "Open Source" term was being coined.

Re: Why I’m Leaving Elm

#386

> For example, if there is a bug in any core library, or something missing, you just have to wait for the core team to fix it, rather than being able to fix it yourself. You might need a performance fix, which can be done using Javascript but not in Elm (lack of destructive updates makes some things very hard to implement efficiently), and again you will be stuck having to explain to your boss “I know this is possibl…

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 woul…

Did 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).

Re: Why I’m Leaving Elm

#387

Earlier quoted context omitted.

Another is KnockoutJS which went from 2 to 3 with minor changes and virtually nothing broke on 2.x -> 2.x+1 in all the time I used. I'm kinda sad it (functionally) died out because they clearly valued and worked hard on that.

Both Plotly.js and KnockoutJS are great examples of stability. I think KnockoutJS may still the only (formerly) major framework that focussed only on doing data-binding really well without adding in loads of other functionality. As you say, a shame it died out. I don't know if KnockoutJS is dead, so much as done or perhaps complete. If all you want is data-binding it might be worth considering. It was released as rec…

Agreed on all points, there is an advantage in using whatever is currently flavour of the month though (more documentation, components, better integration with dev tools and such) but I used KnockoutJS for a couple of years and really liked it, it was a massive upgrade over jquery for a lot of UI stuff and brought some much needed sanity.

These days I use either React or Vue in the same role as the world keeps turning.

It's amazing they are still putting work into it for those people with massive codebases dependent on it though, anyone picking that 7-8 years ago definitely made a good bet.

Re: Why I’m Leaving Elm

#388
post #94

Earlier quoted context omitted.

> It doesn't really solve the problem. How do you format this code with tabs: function name(arg1, arg2, arg3 Just wondering… do you realign the parameters every time you rename a function?

function name( arg1, arg2, arg3, ) That means this never comes up, and you don't need to change adjacent lines because you've renamed a function.

That wastes a lot of vertical space if you have a lot of function calls. If you're one of those who prefer that, it's ok. I much prefer:

    function name(arg1, arg2, arg3,
                  arg4, arg5, arg6);

Re: Why I’m Leaving Elm

#389

I fully agree with everything listed in this article. One point he alluded to (by mentioning the "friendly" exclamation marks) but didn't fully address is the Elm community's bizarre and infuriating language policing. You can't say the word "guys" in the Slack channel, or a bot will come and correct you, and tell you to say "folks" instead. And from then on, you'll notice the core team all use the word "folks" incess…

I just can't take the irony of the Elm leadership trying to come across as inclusive.

Re: Why I’m Leaving Elm

#390

Earlier quoted context omitted.

Forbid "\t* *\t"?

Ok, but if you get "\t[space][space][space][space]", how do you know this wasn't supposed to be "\t\t"? That is, how do you know trailing spaces are for alignment and not for indentation?

A code formatter knows, so your editor and other tools can also know.

Most editors have code structure parsing of some kind built-in for tabbing already. E.g. pressing the key indents the current line to match the structure of surrounding code (or cycles between valid indents for something like Haskell or Python). So they know the difference between initial indentation (that people want to be able to configure visually) and alignment.

Post reply on HN