Live data from Hacker News

Why I’m Leaving Elm

lukeplant.me.uk

371–380 of 450 posts

Re: Why I’m Leaving Elm

#371
post #269

When I decided to commit my project to Elm, back in 2017, I have seen all those writings on the wall. Basically I am buying in someone's whim. One caveat is that I can stop following his whim, freeze source code that I need and carry on my development with out needing or caring about future releases, ie, I do the dreadful fork. I work alone so I choose my tech destiny. But when you look at the guy at which will you a…

> And language is simple, my wife started writing it ...not sure what you're implying about your wife there.

Lack of context ^^

She is accountant turned web designer. After 0 programing experience she learned a bit of JS for about 3 months, started learning Elm - now she works with it day to day for a living (with different clients).

My point is, language is simple enough to grasp it really quickly and start using it productively.

Re: Why I’m Leaving Elm

#372
post #269

When I decided to commit my project to Elm, back in 2017, I have seen all those writings on the wall. Basically I am buying in someone's whim. One caveat is that I can stop following his whim, freeze source code that I need and carry on my development with out needing or caring about future releases, ie, I do the dreadful fork. I work alone so I choose my tech destiny. But when you look at the guy at which will you a…

> Luke is off and rude in this post at least. I found him humble, self-aware, forgiving, and kind > Why Luke didn't came up with big blog post about the features he would like to see in Elm? Much more constructive than bitching about it. I think you may have missed one of, if not the, fundamental point of the post. Even if he did (which he did at times), it would've been pointless.

Please, if you find a link to constuctive Luke's criticism, please post it, I am willing to change my mind.

Re: Why I’m Leaving Elm

#373
Seems like two different discussions going on here, on the one hand you have core language design such as not having typeclasses, and it's fair to say it's the core team's prerogative to organise these decisions as they want. On the other hand there's no good argument for intentionally restricting language features from certain users, it's not in anyone's interest. I am a big fan of safe languages that use a formalism to stop you _accidentally_ modifying shared state or hitting a runtime error but why should the designers care about me making a bad architectural design, i.e. including some JavaScript modules in an elm package? If I misuse it and write a bad application that's my problem, you can't protect bad developers from themselves because they'll just use other tools. If I publish a library with JavaScript, okay show a warning to the user, have red scary text on the package description page if you want. But let the users decide how they want to build their applications. The argument that this would block a clear path to WASM is bogus, they've already shown that breaking tons of libraries doesn't bother them.

Re: Why I’m Leaving Elm

#375

Earlier quoted context omitted.

I also eventually came to the conclusion that elm Will be forever niche and can’t become a mainstream language. I agree with so much of what Evan says in principle, but every time the project development style is criticized, someone pastes a link of Evan basically telling everyone to sit down, shut up, and wait. Which is Evan’s right, but rhetorically speaking, this is horrible. Just a little charm can go such a long…

He's quite charming in person, FWIW, and he has great language design sensibility.

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.

Re: Why I’m Leaving Elm

#376

Earlier quoted context omitted.

He's quite charming in person, FWIW, and he has great language design sensibility.

I don't doubt it. FWIW, I was really impressed with Elm the language. But I don't see how their current messaging can possibly be working for Elm's benefit. It feels like the PL equivalent of a politician who refuses to shake hands or take selfies. I don't think it requires Elm or Evan to make any technical compromises just to be a little less off-putting.

I have met both Evan and Richard, having been a member of the SF Elm Meetup group. My experiences have shown me that they are both deeply empathetic individuals who are very methodical in their approach to improving the language.

Evan spends every Meetup exclusively focused on attendees who've no it's very little experience with the language, basically giving them a personal guided tour. In these sessions here is very kind and patient - and a skilled teacher.

Richard is friendly as well and does a great job communicating the vendors of Elm's design and how best to take advantage of it. He is also a senior practitioner who writes Elm on a daily basis.

NoRedInk is truly powered by Elm, and that has helped them hire very easily despite not having tons of cash to throw around (they make education software).

So at the end of the day, I've come to view them as true believers in a very particular vision for the language. It is compelling, especially when walked through it by Evan. But they have a lot personally on that vision.

In many ways, they view themselves as taking the long slow road to what will be the "UI language of the future". They want many people to try the language and see the benefits of immutability, purity, and declarative UI. They want people to follow their lead and use those principles in using Elm in their projects.

But in their eyes, Elm is not done. They have no interest in people coming in and suggesting that Elm should be something else. At times, that's lead to some rash behavior that looks bad. But as practical as Elm is for many projects it is not Pragmatic. And that turns people off.

And if it turns you off, I'd leave Elm off your list of choices for a language in your production projects...for now.

It is yet to be seen if Evan's vision will succeed in it's goal of making functional, declarative, strongly typed UI programming "mainstream". But he's proven that he is committed to that vision regardless of a large host of workaday engineers asking him to compromise in some way.

Maybe some day, custom operators come back. Maybe some day there will be type classes. But I can guarantee that day won't come until the vision is complete and you see Elm 1.0

PS: I fully empathize with the people turned off by this approach by the way, but I can't help but truly appreciate someone doggedly standing firm on their design principles and seeing it though despite it costing them an opportunity at widespread fame. I have no long term contact with the Elm core team, and no projects using Elm currently. Maybe when I see 1.0 :-)

Re: Why I’m Leaving Elm

#377
post #312
post #134

Earlier quoted context omitted.

Did you read the blogpost? Apparently you're not encouraged to do so.

https://github.com/elm/core/blob/master/LICENSE It looks like an open source project. I don't get your point.

Based on the core team communication, if you fork the project, you are persona non grata in Elm.

Re: Why I’m Leaving Elm

#378
If it all ends up generating Javascript, why don't people learn to write good Javascript.

Rather than compound problems with unnecessary incompetence and calling it functional and typed. The only thing typed I discovered is undefined incompetence from Elm to C++.

There is always an excuse to complicate problems when you are incompetent and invent useless languages.

Re: Why I’m Leaving Elm

#379
post #313

Earlier quoted context omitted.

I think there’s also a third category, which is “I’m interested in Elm / have dabbled in it but all this puts me off ever using it for anything serious”. If the comments in this thread aren’t ringing red alarm bells for the Elm leadership I don’t know what will, frankly.

Elm is an experimental research language. It's fun to learn and make little toy projects in and that's fine No one is getting rich off of Elm having professional users. It showcases an interesting architecture and has lessons for Haskell-style languages in how to make compiler error messages that aren't hideous

Yes, Elm is eventually turn out to be inspiration for other languages and go nowhere itself. As a professional Elm developer makes me sad.

Re: Why I’m Leaving Elm

#380

Earlier quoted context omitted.

> most people would agree that user packages shouldn't be able to invent yet more custom operators I'm actually curious why; I have yet to see people actually abuse operators outside of C++, and those were in the standard library …

This can be a problem in Haskell, where you can find a library using some operator like +>>* that you haven't seen before, imported from one of its 30 odd globally addressed modules, which may just be re-exporting other modules. Hoogle/google rarely help with such operators, so finding any documentation is often an exercise in frustration, scanning through library after library for one declaration.

I'm not sure there's a meaningful difference between a strangely shaped operator and a strangely-shaped function. (Indeed they desugar to the same thing, except one is symbolic and one is alphanumeric).

Any decent library will describe the operator in its Haddock documentation, and most will export a named function with the exact same semantics and type.

Post reply on HN