37

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

you are viewing a single comment's thread
view the rest of the comments
[-] FizzyOrange@programming.dev -3 points 3 weeks ago* (last edited 3 weeks ago)

Rust. It has all the good bits of functional programming but basically none of the bad bits.

Good bits:

  • Strong type system (though not quite as sophisticated as Haskell or OCaml).
  • Map, filter, etc.
  • First class functions (though lifetimes can make this a bit awkward)
  • Everything is an expression (well most things anyway).

Bad bits:

  • "Point free style" and currying. IMO this is really elegant, but also makes code difficult to read very quickly. Not worth the trade-off IMO.
  • No brackets/commas on function calls. Again this feels really elegant but in practice it really hurts readability.
  • Global type inference. Rust requires explicit types on globals which is much much nicer.
  • Custom operators. Again this is clever but unreadable.
  • Small communities.
  • Poor windows support (not a fundamental thing but it does seem to be an issue in practice for lots of functional languages).
[-] sukhmel@programming.dev 2 points 3 weeks ago

I would advise going in the opposite direction, learning a purely functional language first to then being able to appreciate functional parts

That is beside the point of an opinionated list of the good and the bad, that will differ for others

[-] AbelianGrape@beehaw.org 1 points 3 weeks ago

The only things on the bad list that I agree with are top-level type inference and small communities. And ocamls windows support is terrible. Haskell's is more than ok now.

In Haskell, any style guide worth its salt requires annotations on top level functions, and many of them also require annotations on local bindings. This pretty effectively works around the problem.

Bad code will be unreadable in any language of course. But the other things don't themselves make code unreadable once you're actually familiar with the language and its ecosystem.

this post was submitted on 11 Sep 2025
37 points (100.0% liked)

Programming

22953 readers
236 users here now

Welcome to the main community in programming.dev! Feel free to post anything relating to programming here!

Cross posting is strongly encouraged in the instance. If you feel your post or another person's post makes sense in another community cross post into it.

Hope you enjoy the instance!

Rules

Rules

  • Follow the programming.dev instance rules
  • Keep content related to programming in some way
  • If you're posting long videos try to add in some form of tldr for those who don't want to watch videos

Wormhole

Follow the wormhole through a path of communities !webdev@programming.dev



founded 2 years ago
MODERATORS