Threads for Devit

  1. 0

    We use(d) Elm at the company I work at. (A start-up.) Elm is great. All of the positive rumors about it are true.

    The issue we’ve had with Elm isn’t typically discussed: My CTO doesn’t seem to see the value of it+. So we recently replaced our Elm code with JavaScript.

    I wonder if anyone else finds themselves in a similar situation.

    +It’s a bit more nuanced. We’re in a very “MVP” stage; the line of thinking is to use something everyone’s more familiar with so we can move fast.

    1. 3

      Your CTO is right. Elm-isms should be translatable to JS, and honestly, you can make simple webapps today with JS and React only.

      Sure, maybe Elm forces a style onto the programmers. But when you join a project, you’re supposed to follow the project’s style anyway. If you started the project “Elm style” it should continue on this style with new hires.

      +1 to your CTO.

      1. 4

        This simply doesn’t happen. New hires will expand the team past the ability of the initial developers to control, “Elm-isms” (e.g., good practice) will be abandoned, and it’ll become a typical JavaScript project. After a few months you’ll never know that it started as an Elm project at all. After all, there’s no backup from above to maintain the Elm-isms because the “CTO doesn’t seem to see the value of it.”

      2. 2

        All of the positive rumors about it are true

        Indeed. Whats more, I think Elm should be everyone’s first programming language. Just learning Elm is way easier than learning JavaScript and all its ridiculous thorns, and Angular, and React, and Redux, and Gulp, and Ramda, and Immutable, and and ad infinitum.

        My CTO doesn’t seem to see the value of it

        That’s a shame. I disagree with their assessment, but then usurping that person wouldn’t work either (I’ve tried a few times).

        The good news is that us programmers are in an amazing position to start our own businesses the way we see fit.

        the line of thinking is to use something everyone’s more familiar with so we can move fast

        That sounds reasonable superficially, but how familiar is everyone really with the current JavaScript landscape? It’s the part of the industry with by far the most NIH and churn.

        1. 1

          I can imagine it’s hard to stick with elm in the beginning because you spend a lot of time on issues you could resolve easily/quickly in JS as you’re more familiar with it. I think the benefits of elm can pay off though (rather sooner than later). But only, if your product stays somewhat similar.

          In an MVP stage though, it happens all too often, that you pivot your business model a few times. Spending a lot of time on code that you’ll eventually throw away doesn’t help anyone (except for you as a developer, because you get to learn a lot and don’t have to suffer from your past mistakes ;))

          Your story reminded me of this article: Move fast and don’t break things. They share a more positive perspective on using elm in a startup environment.

          1. 0

            I thought the goal of Elm was to have a very simple language/framework, with the main point of moving fast with it (no shiny new features every month).

            1. 0

              I’ve only tried it briefly about 4 years ago but to me it was basically haskell without typeclasses.

          1. 1

            I’m currently in the process of porting my 2048 Solver - a few things I’ve observed:

            • Threading isn’t currently supported so don’t expect great performance from code leveraging go routines.

            • CPU heavy code tanks rendering so definitely consider wrapping your WASM logic inside a web worker.

            • You may need to pause execution to allow any JS event handlers you’ve defined to fire.

            1. 4

              This is pure marketing and nothing else. The article says nothing concrete. What is the exact new experience?

              1. 3

                It’s kinda buried in there but it looks like:

                • A new rendering engine
                • Bottom navigation bar
                • Stricter privacy controls
                • Collections…which looks like grouped bookmarks?