• @david@feddit.uk
    link
    fedilink
    18
    edit-2
    1 year ago

    Elm (for frontend). https://elm-lang.org/

    Nothing is as easy to refactor, maintain, add new features to, work with after a gap, nothing else is as crashless and rock solid.

    No compiler is a fast, friendly, helpful and insightful. Seriously. You don’t wait for the compiler. It’s instant even on huge code bases. And the resulting output outperforms other major frameworks.

    Its syntax is weird at first (even stranger than python) and the autoformatter is mad keen on blank lines but after a while it’s just so clear and easy to follow.

    You have to let go of your object oriented mindset and stop trying to turn everything into objects and components but everything I hated about maintaining old code evaporated once I did. I used to believe that objects detangled code, I don’t know why I continued to believe that despite the evidence, because apart from pretty small and simple things, OO code gets extremely tangled. Elm is absurdly easy to refractor, so you just do.

    It’s genuinely nice to add new features to old code, something I’ve never experienced before in a few decades of programming.

    The elm slack is also a very helpful place indeed and you usually get a lot of support pretty quickly.

    Adding the link to their front page, I see they call it “A delightful language for reliable web applications” and the first claim is “no runtime exceptions”. I remember thinking that was marketing BS but being intrigued by the bold claim. A few years later and I can honestly say that that accurately describes my experience.

    These last few years I’ve rediscovered the joy of coding.

    • @technojamin@lemmy.world
      link
      fedilink
      41 year ago

      I really love Elm, and it challenges the common notion of what it means to be a “healthy” language/ecosystem. It’s a beautiful passion project that can really only be used if you adhere to the vision of its creator, but it’s a really admirable and utopian vision.

      The reasons for it not being very popular are pretty clear (slow language evolution, “one way to do anything”, perfectionist design), but it’s an extremely cohesive and friendly language. I’ve never used it for anything serious, but I hope it stays around. Clearly the creator isn’t aiming for widespread adoption, but I hope that the niche it’s created grows nonetheless, because it’s a lovely ecosystem and community.