Live data from Hacker News

IBM releases Elm-powered app

discourse.elm-lang.org

131–140 of 199 posts

Re: IBM releases Elm-powered app

#131
post #105

Earlier quoted context omitted.

> The ReasonML debugger supports time-travelling as one of its features. Yes, but the question is: does it guarantee to be working or is it only "sort of" working? Can your view do side-effects? Can it call JS? If yes -- it will break soon. > The Bucklescript compiler that backs ReasonML provides dead-code elimination. I didn't say it doesn't. I said it will be way more poor than the one Elm has. I don't have the lin…

Interesting since OP says time-traveling is not mature in ELM Tooling isn’t mature. IDE plugins, time travel “debugger” : they cannot compare yet with our usual Dev XP for TS

Well, it's one thing to not be mature yet (UI could definitely be improved, it's very minimalistic currently, but works ok for me), and another to not work in principle :)

Re: IBM releases Elm-powered app

#132

Earlier quoted context omitted.

> North Korean style crap This confirms my belief that most criticisms of Elm are emotional responses, not rational ones. Allowing arbitrary JS functions to be called from wherever would indeed break everything. Want to use `Math.random()`? Whoops! There goes referential transparency. Want to use `document.querySelector()`? Hello runtime errors my old friend. Want to use `function(x) { return x / 0; }`? Yeah, have fu…

Or use some 100% pure referential transparent functions in Elm. https://medium.com/@eeue56/top-6-ways-to-make-your-elm-app-c... >>> I'll stay in North Korea Please do.

Ah. So because the implementation has some bugs, then the concept is fundamentally flawed.

Got it.

r/iamverysmart

Re: IBM releases Elm-powered app

#133
post #126

Earlier quoted context omitted.

> If you'd like to, why not? It's up to you. You're not forced to do, though. Well, yeah. If I'd like to hang myself, I'd pick a technology with fewer correctness guarantees. As it turns out, that's not what I want. This is self-evident. It's also not a valid criticism for you to say that you've found Elm doesn't "follow the common sense". This is too vague to be any kind of constructive criticism.

> Well, yeah. If I'd like to hang myself, I'd pick a technology with fewer correctness guarantees. As it turns out, that's not what I want. This is self-evident. That's exactly what I'm talking about. I'd also like to pick up some "silver bullet", like Elm(if I got you right), for any new project. Unfortunately, real world is usually a little bit more complicated than "I'm free to pick up any technology that I want.…

> I'd also like to pick up some "silver bullet", like Elm(if I got you right)

Nothing is a silver bullet. Never claimed it was.

> Anybody who does webdev knows that.

I am a web developer, and I disagree with you.

> Picking a language with nice "correctness guarantees", is not going to help you much.

That hasn't been my experience.

> Since then, many things have changed to the worse, imho

Exactly — it's your opinion. Removing surface area for runtime areas is a change for the better, in my opinion.

> building things a little bit more complex than counter apps

My businesses are more complex than counter apps.

Re: IBM releases Elm-powered app

#134

Now that we have ReasonML, which has a more predictable and sustainable release cycle, and large support, as well as functional programming from OCaml and smoother JS interop when that's desired, what does Elm still bring to the table? When Elm was originally developed, there wasn't a viable alternative for those who wanted good statically-typed FP in the browser, but it would seem now that new apps in this style of…

Also, Elm has terrible communication (yearly posts) and official docs

Re: IBM releases Elm-powered app

#135

Earlier quoted context omitted.

> In a comment below the main post they say that the app they wrote is approximately 45,000 lines of code over 170 Elm files. One thing I've found a bit weird about the Elm community is how common it is to highlight or even brag about the size of the codebases. One of the reasons I have come to particularly enjoy Clojurescript on the front-end is because of how much code I don't have to write. I once ported an Elm ap…

I think you should read this as being an otherwise 150kloc project in Java. Seriously, at this point IBM should fork a couple hundred thousand dollars just to know how anyone on their staff can recreate this in idiomatic java (or whatever OO language they want) and have you do it in idiomatic clojure/script. I'd be surprised if you managed less than 30k and very surprised if the OO implementation managed less than 10…

In this comparison of a minimal "real world" app comparison, Elm version has around 3 times as much code as ClojureScript.

https://medium.freecodecamp.org/a-real-world-comparison-of-f...

Re: IBM releases Elm-powered app

#136

Earlier quoted context omitted.

> In a comment below the main post they say that the app they wrote is approximately 45,000 lines of code over 170 Elm files. One thing I've found a bit weird about the Elm community is how common it is to highlight or even brag about the size of the codebases. One of the reasons I have come to particularly enjoy Clojurescript on the front-end is because of how much code I don't have to write. I once ported an Elm ap…

That’s not how I feel about it. I’d say it’s more “look how many lines of code there are vs how many ways this could break in production”. This will always be very different from your average ClojureScript/Reframe/Reagent app, which may or may not have fewer lines of code (in my experience they’ve been roughly equivalent), but vastly more opportunity for runtime errors.

ClojureScript will have quite a bit less code in a non-trivial project https://medium.freecodecamp.org/a-real-world-comparison-of-f...

Meanwhile, my team has been working with ClojureScript for years, and runtime errors are a really rare occurrence in my experience. Especially if you use Schema or Spec around the API between components.

Re: IBM releases Elm-powered app

#137

I don't understand why this is noteworthy. I think maybe this is when you decide 'maybe our language has failed'. Or at least admit it's a toy language that hasn't been properly engineered to be effectively used commercially. When it's a 'worth mentioning' when a single app has been written in it by some dying company. I mean, imagine if we had a headline on the frontpage of HN for every app written in C or C++ or Ja…

>Functional languages are great toys but nobody uses them to get work done, almost without exception.

As somebody who's been working with Clojure professionally for nearly a decade that's big news to me. Also, you might be surprised to know that it's used by companies like Walmart for critical infrastructure https://clojure.org/community/success_stories

Re: IBM releases Elm-powered app

#138

Earlier quoted context omitted.

I literally have never experienced a bug because of the existence of Math.random(). I don’t think I’ve ever used it outside of a coding interview. Similarly, I don’t spend time debugging runtime errors caused by document.querySelector()? If I do it’s usually only once when I write the initial query. I don’t understand your last argument: why would I divide by 0? Everyone’s relationship to their tools of choice has an…

The core question is, "have you ever experienced a runtime error?" Have you ever spent time debugging a runtime error deployed to production? You can't get those in Elm.

List.tail []

Re: IBM releases Elm-powered app

#139

Earlier quoted context omitted.

That’s not how I feel about it. I’d say it’s more “look how many lines of code there are vs how many ways this could break in production”. This will always be very different from your average ClojureScript/Reframe/Reagent app, which may or may not have fewer lines of code (in my experience they’ve been roughly equivalent), but vastly more opportunity for runtime errors.

ClojureScript will have quite a bit less code in a non-trivial project https://medium.freecodecamp.org/a-real-world-comparison-of-f... Meanwhile, my team has been working with ClojureScript for years, and runtime errors are a really rare occurrence in my experience. Especially if you use Schema or Spec around the API between components.

Great. I'm happy for you.

However I think there's a difference between "with care, runtime errors are rare", and "by default, number of runtime errors is zero".

Re: IBM releases Elm-powered app

#140

Earlier quoted context omitted.

ClojureScript will have quite a bit less code in a non-trivial project https://medium.freecodecamp.org/a-real-world-comparison-of-f... Meanwhile, my team has been working with ClojureScript for years, and runtime errors are a really rare occurrence in my experience. Especially if you use Schema or Spec around the API between components.

Great. I'm happy for you. However I think there's a difference between "with care, runtime errors are rare", and "by default, number of runtime errors is zero".

There is also a big difference between spending one hour debugging runtime errors on any given day or week vs. the time it takes to write 3x or 4x the code and handle compiler errors.

Ultimately there are tradeoffs in how time is spent in both languages. Each developer will prefer different tradeoffs. I think in terms of net time spent on the whole dev cycle, it's hard to beat Clojurescript.

Post reply on HN