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!!!
C
I would suggest Nim, I had a blast learning it and making a small project. It is not a mainstream language, nor is it a joke language.
Since you already know Java, you could jump straight to C++ with Bjarne’s book “Programming - Principles and Practice Using C++”: https://www.stroustrup.com/programming.html
You can then move to more modern C++ with his other book “A Tour of C++”: https://www.stroustrup.com/tour3.html
And then if you’re curious to know how software design is done in modern C++, even if you already know classical design patterns from your Java experience, you should get Klaus Iglberger’s book: https://www.oreilly.com/library/view/c-software-design/9781098113155/
In parallel also watch the “Back to Basics” video series by CppCon (see their YouTube channel: https://www.youtube.com/@CppCon , just type “back to basics” in that channel’s search bar).
Learning proper C++ should give you a much better understanding of the hardware while the syntax still remains elegant, and you get to add a new skill that’s in very high demand.
Alternatives
- C#, because it’s good
- Rust, because it’s different
- a (purely) functional language, because it’s different
- Nushell, nice shell, and great for scripted data processing
I see you mentioned JS, but not TS. If you haven’t tried TypeScript, you 100% should! It helps a lot at scale.
Also, I really do recommend Rust. It’s pretty awesome having the errors actually make sense, and it’s not as complicated as the hype makes it out to be (until you get into async rust lol).
As others have mentioned, C# is also awesome.
We do use TS as well, yes!
Rust is definitely a language I’m considering. Syntax looks a bit scary, though!