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!!!
Python seems to be a staple for as long as I can remember and it looks like it’s still gonna be going strong for a good while yet!
I’m thinking of taking the dive and finally learning it myself soon.
Python is especially great for quick scripts or PoCs. I’ve been using it a lot lately to prototype some things and it just makes it a breeze
Main complaint is the snake_casing convention. By far my least favorite
Hah I love snake case.
I also love python for distributed micro tasks and data pipelining
I am the only person that feels like snake casing belongs in declarative stuff, data serialization etc. (SQL, protobuf, JSON, YAML…) while camel case elsewhere?
I don’t hold any of that, I just find it the most readable for me.
Python’s become very widely used in industry - it’s definitely a plus when looking for jobs these days. TIOBE now says it’s the most popular language in the world.
Packaging solutions kinda sucks, but we’re about to get a JIT in the main CPython so that’s exciting.
When I used to work a lot with Python the packaging solutions available were the bane of my existence. I hope they’ve gotten better by now…
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.
When I first ventured into programming, I felt like a complete novice. With no prior experience, diving into the complex world of coding seemed daunting. That’s when I stumbled upon full stack development service. These services offered a comprehensive solution, covering everything from front end to back end development. It was like having a guiding hand through the intricacies of programming. With their expertise, I was able to navigate the complexities of software development with confidence. Full stack development services became my stepping stone into the world of programming, helping me transform from a novice into a proficient developer.
Id suggest rust, gets you a step closer to the hardware and a bit of a different paradigm than Java while still feeling high level.
Rust is definitely something I’ve been keeping an eye on. The syntax looks a bit scary, to be honest, but looks very versatile.
I’m a Rust noob. At first it’s daunting and nothing will compile. But it’s getting easier and I feel like getting over that initial difficulty is mainly a matter of internalizing a few basic rules, after which it feels more natural. So from what I’ve seen so far, I wouldn’t rate Rust as especially difficult. It certainly feels easier than C++.
For a really challenging language I’d suggest Haskell. That one nearly broke my brain because thinking functionally is really very different if you’re used to more procedural languages. Rust, it seems, teaches you new discipline, but Haskell teaches you a different way of thinking.
Anyway, that’s how it feels as a relative noob in both.
Definitely rust, and definitely use rustrover from jetbrains for an IDE. It’s amazing
Ada particularly the SPARK subset. It’s approach is quite different than most languages, focusing on minimising errors and correctness. It’s fairly difficult but I like to use it to teach people to actually understand the problem and how to solve it before they ever write the code.
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.
I tried to get into Python, but always found it boring. Ruby was more my speed because it was inspired by Perl and that’s the first language I learned. But Python will likely get you more job opportunities.
COBOL
A strangely effective option for young whippersnappers who want to maximize employability and income stream in “boring” tech. You’re not gonna be standing up many greenfield projects using that language - and likely speaking, you might go an entire career without ever touching a codebase younger than you are - but if your passions run towards Janitorial/Plumbing work with regards to code, it might be right up your alley.
It’s a coding language I recommend to anyone wanting to code in finance. Banks like it’s reliability I guess
PHP is a really fun language syntactically and has a surprisingly good built-in library.
As a PHP Dev: Please avoid PHP unless you have to use it.
I know it’s fashionable to shit on PHP but it’s significantly better than it once was… it’s honestly like a cleaner python that lets you use brackets.
Cleaner python? Hahaha that’s hilarious
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!
Rust syntax is totally fine really. It often feels like writing python
As the other person said, Python. Or if you want something lower level, how about Rust?
Rust doesn’t even have to be lower level