Ask Lemmy
A Fediverse community for open-ended, thought provoking questions
Please don't post about US Politics. If you need to do this, try [email protected]
Rules: (interactive)
1) Be nice and; have fun
Doxxing, trolling, sealioning, racism, and toxicity are not welcomed in AskLemmy. Remember what your mother said: if you can't say something nice, don't say anything at all. In addition, the site-wide Lemmy.world terms of service also apply here. Please familiarize yourself with them
2) All posts must end with a '?'
This is sort of like Jeopardy. Please phrase all post titles in the form of a proper question ending with ?
3) No spam
Please do not flood the community with nonsense. Actual suspected spammers will be banned on site. No astroturfing.
4) NSFW is okay, within reason
Just remember to tag posts with either a content warning or a [NSFW] tag. Overtly sexual posts are not allowed, please direct them to either [email protected] or [email protected].
NSFW comments should be restricted to posts tagged [NSFW].
5) This is not a support community.
It is not a place for 'how do I?', type questions.
If you have any questions regarding the site itself or would like to report a community, please direct them to Lemmy.world Support or email [email protected]. For other questions check our partnered communities list, or use the search function.
Reminder: The terms of service apply here too.
Partnered Communities:
Logo design credit goes to: tubbadu
view the rest of the comments
Can code in without code completion or checking the docs: C, C#, Scala, F#, SQL (ms server), js/ts, Erlang, Elixir
Have a general idea of but may need to check things about the standard library every so often: Kotlin, Python, OCaml, C++, prolog
Have used in the past but would need to look up the syntax to use again: Go, Rust, Haskell, Java, Gleam
I'm probably missing some from each category though
What's your thoughts on Gleam vs Elixir?
I just started learning elixir last month then I read about gleam, watched some video introductions, it looks good, but I think Elixir is still the better language to learn right now to choose one.
So personally I prefer Erlang to Elixir - the language feels more like it was designed around the programming paradigms it supports (message passing, everything's one of about 6 types for efficient serialisation etc), whereas Elixir feels like "what if we made a language with syntax like Ruby that worked like (and with the backend of) Erlang?" - there are some aspects I like, such as how the vast majority of things, even def, are a function call, and the parameter lists, but it feels very much like there's a lot of workarounds of the design principles of the language to get it to work
I also prefer Gleam to Elixir - it brings much nicer functional programming than either Erlang or Elixir and of course typing, which feels very missing from Elixir but not from Erlang, which is far clearer that something is one of very few types and lets you handle multiple types in a very natural feeling way. It also feels more akin to modern "full featured" (as opposed to scripting) languages than either Erlang or Elixir does.
Basically if you're learning something for employability, learn Elixir. If you're learning something for a potential business idea, use Gleam. If you're learning something for personal projects, see if Erlang is intuitive for you - if it is, I can guarantee you'll love it, if not, use Gleam.
That's a great perspective, thanks for sharing that and it makes me want to reconsider using Gleam, but even more so makes me want to properly learn Erlang. And actually I'm not really a fan of Ruby, so that's not something I'm attached to in Elixir.
I certainly appreciate the introduction of typing in Gleam, but one criticism I've seen of Gleam is the lack of function overloading, that is such a core feature of both Erlang and Elixir.