• david@feddit.uk
    link
    fedilink
    arrow-up
    20
    arrow-down
    2
    ·
    edit-2
    1 year ago

    Elm (for frontend).

    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.

    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.

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

    • christophski@feddit.uk
      link
      fedilink
      English
      arrow-up
      8
      arrow-down
      1
      ·
      1 year ago

      I’ve literally never heard of this before. Are there any major projects which use this?

    • technojamin@lemmy.world
      link
      fedilink
      arrow-up
      3
      ·
      1 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.