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!!!
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).
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.
Coming from JavaScript, they may enjoy using ReScript instead of Ocaml.
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.
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.