15 votes

Elixir Is All You Need

10 comments

  1. [2]
    Eji1700
    Link
    I''m all for simple stacks, i'm hesitant at anything dynamically typed though (seems they don't do implicit conversions but you're still going to get runtime errors rather than compile time if i'm...

    I''m all for simple stacks, i'm hesitant at anything dynamically typed though (seems they don't do implicit conversions but you're still going to get runtime errors rather than compile time if i'm reading right?).

    Either way though, the site is...odd (doubly so if you look at the sister postgress site).

    The image shows Elixir + Phoenix replacing a whole stack of stuff, including redis, then a few lines later we have the same thing replacing websockts, but if you want to replace background jobs, the equivalent of redis is now Oban, GenServer, and Task.

    Like...yeah most languages that have any adoption have libraries in ecosystem to replicate common needs. This doesn't do a great job of convincing me i'd wind up using less, as it's own flow sorta contradicts itself. Now maybe you CAN get away with just Elixir+Phoenix instead of the stack shown, but the chart below doesn't make me think so.

    6 votes
    1. fxgn
      Link Parent
      Elixir has gradual type checking now https://elixir-lang.org/blog/2026/06/03/elixir-v1-20-0-released/ GenServer and Task are both features built into Elixir, not separate libraries. Oban is a...

      i'm hesitant at anything dynamically typed though (seems they don't do implicit conversions but you're still going to get runtime errors rather than compile time if i'm reading right?)

      Elixir has gradual type checking now

      https://elixir-lang.org/blog/2026/06/03/elixir-v1-20-0-released/

      the equivalent of redis is now Oban, GenServer, and Task

      GenServer and Task are both features built into Elixir, not separate libraries. Oban is a library and it depends on SQL, so it's not really just "Elixir+Phoenix", but I guess the chart doesn't claim you can also replace a SQL database with Elixir.

      6 votes
  2. [4]
    howdoicomputer
    Link
    I'm building three things in parallel right now: An Etsy alternative. An "alternatives project" site that will list, well, alternatives to Big Tech platforms in hope that it helps drive traffic to...

    I'm building three things in parallel right now:

    1. An Etsy alternative.
    2. An "alternatives project" site that will list, well, alternatives to Big Tech platforms in hope that it helps drive traffic to those sites.
    3. A browser extension to help validate Etsy listings.

    Elixir is used for all three. It's honestly a great language to work in and I'm pretty happy with it.

    3 votes
    1. [2]
      fxgn
      Link Parent
      You're making a browser extension in Elixir? How?

      You're making a browser extension in Elixir? How?

      3 votes
      1. Bwerf
        (edited )
        Link Parent
        In guessing with popcorn somehow? https://popcorn.swmansion.com/ Popcorn compiles and runs elixir code in a vm in webassembly, but I think it's more geared towards building websites, so I'm not...

        In guessing with popcorn somehow? https://popcorn.swmansion.com/

        Popcorn compiles and runs elixir code in a vm in webassembly, but I think it's more geared towards building websites, so I'm not sure if you can actually build extensions in it.

    2. KajMagnus
      (edited )
      Link Parent
      Interesting! How do you go about doing that? How do you find alternative projects? (Or people who want to submit projects.) With Big Tech platforms, do you mean Azure and Google Cloud etc or ......

      An "alternatives project" site that will list, well, alternatives to Big Tech platforms

      Interesting! How do you go about doing that? How do you find alternative projects? (Or people who want to submit projects.) With Big Tech platforms, do you mean Azure and Google Cloud etc or ... What, more precisely?

      How will the list be kept up-to-date? (If you've thought about that already)

      Some years ago there were some websites who listed Made-in-Europe software, but then they didn't update those lists, and now they have gone stale. But the AIs still find these lists and think they're up-to-date and good answers.

      Do you combine Elixir with some static website hosting stuff or CDN? Or what happens if the site gets 999 999 visitors? What hardware do you use if it's a VPS?

      (I've been thinking about creating a few niched alternatives lists myself.)

  3. [2]
    aeriforms
    Link
    I would be looking into Elixir a bit since I heard it's useful for a lot of backend projects with large scale like Discord or Whatsapp. That said though the AI-gen text on this kind of turns me...

    I would be looking into Elixir a bit since I heard it's useful for a lot of backend projects with large scale like Discord or Whatsapp. That said though the AI-gen text on this kind of turns me off a bit. Hope they are just an enthusiast with limited time though.

    2 votes
    1. bme
      Link Parent
      The beam ecosystem is nice. I recently wrote a small sidecar to do something very boring but quite challenging to do well, and chose elixir: OTP Libcluster Nicer language than Erlang Reasonable...

      The beam ecosystem is nice. I recently wrote a small sidecar to do something very boring but quite challenging to do well, and chose elixir:

      1. OTP
      2. Libcluster
      3. Nicer language than Erlang
      4. Reasonable memory footprint

      All of this ended up being true, but I did not leave a fan of elixir. I'd say decidedly mid as a language. Not sure what the fuss is. I think gleam looks much more pleasant, but it currently enjoys the advantage that I didn't have to do anything with it.

      The thing I had to do: we run at work a couple of stateful HA systems that can tolerate loss of VM and will re-replicate the lost state. However, this is expensive in time and bandwidth. Better if you separate compute from storage (we are on Aws). So I wrote a small sidecar that scans for ebs volumes and attaches them if they exist such that a fresh VM can assume the identity of a departed VM. This gives you a stateful set on steroids. Libcluster gives you a cluster with no effort, erpc gives you instant native rpc, OTP gives you a great framework for resiliency. I am sure go + go-discover + serf probably gives you a similar-ish base, not actor mode baked in, and for a collection of simple stateful endpoints actors are perfect.

  4. [2]
    rkallos
    Link
    I've worked professionally in Erlang and Elixir for the past decade. I also do most of my hobby programming in Elixir. Happy to answer any questions folks may have. This website seems like an...

    I've worked professionally in Erlang and Elixir for the past decade. I also do most of my hobby programming in Elixir. Happy to answer any questions folks may have.

    This website seems like an expansion of a fun slide presented by a popular Elixir coder and educator Sasa Juric in his GOTO Conf 2019 talk "The Soul of Erlang and Elixir"

    2 votes
    1. talklittle
      Link Parent
      The slide got me thinking. Do any orgs use BEAM for all those things? Or is it more likely they use it for most of the things and then pull in Caddy/nginx etc. (often in a Docker setup)? I'd want...

      The slide got me thinking. Do any orgs use BEAM for all those things? Or is it more likely they use it for most of the things and then pull in Caddy/nginx etc. (often in a Docker setup)? I'd want to balance the lightweight BEAM components (where lightweight itself is a feature) with more popular/well-supported options sometimes.