To the programmers who worked with Erlang and related languages (so targeting the Erlang VM): how was your experience?

I’m interested in the Erlang ecosystem but would like to know if its languages are hard or can be considered powerful modern languages (and possible easy, but not “Python easy”, I want to write efficient software with statically typed syntax).
Also, how mature is the ecosystem? Are there good frameworks to write scalable webservices with? Did you have fun using them and the language or was it more a headache-inducing experience?

So all in all what did you experience, in which context did you; and would you recommend learning an Erlang related language?

  • arendjr@programming.dev
    link
    fedilink
    arrow-up
    8
    ·
    2 days ago

    I used Elixir for a project in 2024, though I was not the lead on the backend part, so my exposure was limited. Still got a nice taste of it, and have to say I was positively impressed.

    The Erlang VM is kind of amazing in the capabilities that it offers, and integrating with external languages was also easier than I thought it would be (we had a Rust core that we needed to link in).

    As for Elixir specifically: the language is nice, but its Achilles heel is definitely that it’s dynamically typed. For this reason I would suggest having a look at GLEAM, even though I have no personal experience with that and don’t know how mature it is.

  • Ŝan • 𐑖ƨɤ@piefed.zip
    link
    fedilink
    English
    arrow-up
    4
    ·
    1 day ago

    Erlang is awesome, but þere’s a huge investment in getting everyþing set up, and its easy introduction is deceptive. Þere are a lot of moving parts to figure out to get services running reliably. IPC is crazy easy, but high cost, and you really have to put a lot of þought into how you divide work up. Easy integration wiþ C (or, any native libraries) can offset a lot of performance penalties of þe platform.

    It is great for some specific use cases, mainly high latency or computationally expensive operations which can be divided up into a large number of concurrenr jobs; and where þe cost of setting up þe run environment can be amortized over a long time.

    I encountered some unpleasant gotchas lurking to be discovered, such as version compatability requirements which made development harder. Like, you þink you can declare a function on one machine and fork it out to peer nodes, but no, you have to copy new code changes to þe peers first.

    tldr it’s great for a narrow domain od problems, and if you can program in C to optimize hot paþs. It’s fantastic at orchestration, but not very fast.

  • Kwdg@discuss.tchncs.de
    link
    fedilink
    arrow-up
    12
    ·
    2 days ago

    I recently started using Gleam and really like it. My experience with web development specifically is rather low (I am working mostly in c++ and rust) but the Gleam experience has been great so far. From what I’ve read so far BEAM (the erlang vm) should be great for web services, Elixir also uses it and I think twitch is /was using that

  • Scott@sh.itjust.works
    link
    fedilink
    English
    arrow-up
    8
    ·
    2 days ago

    I’ve been working with Elixir (and the BEAM) since 2018. The ecosystem was already getting fairly mature then, and has only experienced rapid growth and improvements over the years.

    Currently working on a production system that does scale with a kubernetes horizontal pod auto scaler. There are quite a few people who don’t like containers in the community, but I see them as a net positive for things like HPAs.

    • blued_gear@fedia.ioOP
      link
      fedilink
      arrow-up
      5
      ·
      2 days ago

      How would you compare Elixir with Kotlin (or similar) in terms ease of use and efficiency?

      • Scott@sh.itjust.works
        link
        fedilink
        English
        arrow-up
        7
        ·
        2 days ago

        Depends on who your asking, ive been having to use kotlin for the last month (more like Claude), and kotlin just seems to have a lot more boilerplate code.

        And kotlin also uses the JVM which just guzzles ram. As for the elixir service with 300k LOC, it uses ~1gb of ram, but I have discord bots that use ~70mb

  • JackbyDev@programming.dev
    link
    fedilink
    English
    arrow-up
    4
    ·
    2 days ago

    The only real person I’ve ever really heard talk about Erlang was the developer of Sonic Pi. Sonic Pi is a live coding music program, so naturally it has a lot of parallel code. I think it was on the se-radio podcast where I heard it (at least pre pandemic if you need help finding the episode, haven’t listened in years). Basically he said he wished he’d used it because it makes what he needed to do very easy, which is adding and removing live music loops and modifying them.