87
submitted 10 months ago* (last edited 10 months ago) by pathief@lemmy.world to c/programming@programming.dev

I've been working with a Javascript (+ TypeScript) + Java + SQL stack for the last 10 years.

For 2024 I'd like to learn a new programming language, just for fun. I don't have any particular goals in mind, I just want to learn something new. If I can use it later professionally that'd be cool, but if not that's okay too.

Requirements:

  • Runs on linux
  • Not interested in languages created by Google or Apple
  • No "joke languages", please

Thank you very much!

EDIT: I ended up ordering the paperback version of the Rust book. Maybe one day I'll contribute to the Lemmy code base or something :P Thank you all for the replies!!!

you are viewing a single comment's thread
view the rest of the comments
[-] matcha_addict@lemy.lol 25 points 10 months ago* (last edited 10 months ago)

I have a couple of suggestions based on what you want!

Ocaml: A good intro into functional programming

The languages you've used seem to be primarily imperative style. Ocaml is not commonly used in the industry (with some exceptions), but it has a vibrant small community, and more importantly, because it's a functional language, it will be different enough from what you know. Even if you don't use it in industry, it will teach you a lot that would be hard to learn using non-functional languages.

Ocaml is a compiled language, with a very fast compiler and very good type system.

Scala: the only semi-mainstream language that blends OOP and proper functional programming well.

Although scala is mostly a functional language, it still has most of the gestures of imperative OOP languages like Java. It is also far more mainstream than ocaml and has used in industry.

Scala also runs in JVM like Java, and thus gives you access to most JVM libraries.

Rust

Intro into low level programming Other answers spoke enough about Rust so I won't dive here

Zig

similar to Rust in low-levelness, but less mainstream, better C interop, and other interesting differences

Raku: the result of 15 years of programming language design

Raku, formerly perl 6, was almost redesigned from the ground up to resolve complaints of perl 5. It has a very interesting design, with a gradual type system, a blend of functional and OOP paradigms, plus interesting syntax features like sigils and grammars.

There are many interesting languages out there. I could talk forever about this, but I'll leave you with the above. I personally would recommend ocaml if you're interested in functional programming or care about performance. Otherwise, Raku, since its very interesting but doesn't perform well (Raku's VM is still immature and under development).

[-] YIj54yALOJxEsY20eU@lemm.ee 4 points 10 months ago* (last edited 10 months ago)

Ocaml is going to be my next learn for fun language forsure! I'm getting sucked into the functional paradigm hole. The option/result types in rust have made working in languages without them much worse.

[-] ericjmorey@programming.dev 1 points 10 months ago

Coming from JavaScript, they may enjoy using ReScript instead of Ocaml.

[-] matcha_addict@lemy.lol 2 points 10 months ago

I tried to give OP languages that would be reasonably different from what they know already, so that its more fun (imo).

However I didn't know of ReScript, so I gotta check it out.

[-] msage@programming.dev -3 points 10 months ago

I'm sorry, but as someone who was paid for Perl 5, I have trouble seeing the appeal for Raku.

The first thing they should have done was nuke Perl from the orbit. Instead they built on top of the magic variable hell.

So no thanks. PHP is much better.

[-] matcha_addict@lemy.lol 1 points 10 months ago
this post was submitted on 26 Jan 2024
87 points (92.2% liked)

Programming

17314 readers
378 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 1 year ago
MODERATORS