Specifically, I’m interested in BEAM, but I’m not sure if I should go for Elixir or Gleam. What seems cool about Gleam is that it has static typing.

I have no experience with functional programming at all btw

  • gedhrel@lemmy.world
    link
    fedilink
    arrow-up
    4
    ·
    3 days ago

    Another great avenue into this world is Racket. The tooling is fantastic and the documentation culture is first-class.

    • AlligatorBlizzard@sh.itjust.works
      link
      fedilink
      arrow-up
      2
      ·
      2 days ago

      I had Racket as an intro class language but haven’t really gone beyond the beginner level (I also took another beginner class in Fortran, long story but I don’t hate Fortran, lol) but at that level I enjoyed it. How similar is it to Clojure and what’s my next steps to actually being competent-ish (and maybe employable) from here?

      • gedhrel@lemmy.world
        link
        fedilink
        arrow-up
        2
        ·
        edit-2
        2 days ago

        Clojure has it’s own set of idioms; it comes with some small surprises for old lisp hands. There are some things it’s really brought into the mainstream: performant persistent data structures in particular.

        As well as excellent tooling and pedagogy, the principle attraction of Racket is the macro system. There’s a great book about this (this is true of just about all aspects of Racket). Racket’s focus is on building a tower of languages via macro extension. Metaprogramming is thematically FP-adjacent but neither sufficient or necessary; but if you’re looking for a fun learning experience it’s really worth a look.

        In terms of employment opportunities - I know of several Clojure shops (on the JVM it has the bonus of being able to take advantage of the hole ecosystem), but I’m not aware of anywhere that’s using Racket outside of the academic sphere.