Hacker News new | ask | show | jobs
by lyu07282 1890 days ago
a true believer I can tell. But you could easily say the same thing about a well architected typescript/react frontend app, its just that it has several orders of magnitude more experienced developers and billions in corporate sponsorship behind it. Which is significantly more important than any cool feature the hip esoteric language of the week may have.
5 comments

> a true believer I can tell

Just fuck off with that kind of comment. I provided a well reasoned post, dismissing my views like that just because they don't align with yours is dishonest on your part and no way to have a discussion.

To answer your claims: No, I couldn't easily say the same about TS/react. In elm the language forces the architecture and safety. In react it can be whatever you want with leaks and unsafe modifications all over the place.

I feel like since TS's rise in popularity so many people who've never used a type system other than Typescript's believe that all static systems are equal and fail to appreciate the benefits of something like Elm. I personally haven't used it in a year or two for anything but it shifted my perspective as a developer.
Cussing the GP out for a light joke does not inspire confidence in you or your cause.
I don't have "a cause". I'm just providing insight, not trying to convert anyone to anything. So you're no better than GP in irrelevant accusations.
Dude, you told a fellow HN-er to fuck off at the drop of a hat. That’s not “giving insight”, that’s just vitriol.
That was mostly in response to your statement "it can be hard to believe when not experienced first hand just how hard it is to introduce bugs in elm"

Is just about the most ridiculous thing I ever heard (and certainly what a "true believer" would say even if you obviously and predictably disagree)

That a true believer will react angry to criticism is entirely self evident.

There are thousands of times more developers and companies using typescript over Elm, there is inherent value in this simple fact. No matter how much steam escapes your ears, its true.

I couldn't say the same thing for even well-architected TS apps. There are important escape hatches that TS gives that make it unreliable, as summarized in this article: https://incrementalelm.com/tips/typescript-blind-spots/

Refactoring code or updating dependencies is and feels a lot safer in Elm than in TS, and doesn't require asking for every npm package author to add TS type definitions.

I'd also argue that TS/JS have the esoteric/cool features. Elm is a very simple language, complete enough to be able to write most programs, but small enough to give you a lot of guarantees about how the code will behave.

| There are important escape hatches that TS gives that make it unreliable

This is one way to mitigate those escape hatches:

https://github.com/cyrilletuzi/typescript-strictly-typed

But in my experience, you had better be starting a new project. They aren't joking when they say laying it on an existing codebase is a nightmare.

Do you know if that somehow fixes https://github.com/microsoft/TypeScript/issues/8677 ? That's still the most annoying thing about typescript for me.
> you could easily say the same thing about a well architected typescript/react frontend app

Having built extensively in both Elm and TypeScript, I'd disagree, there's no comparison, even after importing Elm-ish concepts like discriminated unions, functional purity, decoders and immutability into my TypeScript approach. As others mention, TS leaves some type ambiguity.

> But you could easily say the same thing about a well architected typescript/react frontend app, ...

A badly-written Elm app can still be reliable, even if it ends up slow or sometimes acts funny. A badly written TS app is completely inscrutable.

You need to try elm. Elm is better despite not having everything you mentioned. I’m not a fanboy either. I just used elm for one project, but from that it’s already enough to know.