As the other person said, Python. Or if you want something lower level, how about Rust?
Scheme, and work through SICP, watch the lectures along with the reading.
I prefer Chez Scheme but there's many implementations. Chez's fast and practical, C FFI, large standard library, nice REPL with editor.
I love C#, but F# is also super fun and worth checking out.
Download GODOT and learn the scripting language and the shader language. Make a game! Or at least neat shader art.
Bonus answer: Csound. Make funky noises with code.
Perhaps Elixir is worth a look.
I would second Elixir. Either that or Rust. Sure both are popular, but for good reason.
They are completely different from the languages you use.
You will be introduced to new paradigms.
As a person who used the same stack as you (albeit typescript instead of JavaScript), I think it would be a waste of time to learn C#. It is so close to Java, and learning it may make you hate having to use Java, because it seems a bit better put together. Even though it runs on Linux, and is a good language, I don’t think there is ever a reason to chose it over Java, because M$.
Kotlin would be the most straightforward/useful professionally if you're primarily Java. Other Java stack options are Scala or (shudders) Clojure
Clojure, it's a lisp that runs on the jvm and would be quite the shakeup for ya.
C
IMO Zig obsoletes C in the way that go and rust tried to do. Personally, I would advise anyone to not learn C; or even start a new project in C, for that matter.
I disagree but ok
PHP is a really fun language syntactically and has a surprisingly good built-in library.
PHP was my favorite language like 20 years ago but I don't think I ever want to touch it again xP
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.
Seriously - try PHP.
It's a much much nicer language than Java or JavaScript and unlike some of the latest languages (which are, arguably, even nicer) PHP has a massive library of third party packages that you can either use or just learn from.
And unlike Python, which is a general purpose language, PHP is purpose built for exactly the type of work you're doing.
Most PHP websites are wordpress, which deserves all of the crap people ditch on it, but all of that crap is wordpress not PHP, and there are other options. Start with this: https://phptherightway.com/pages/The-Basics.html
I think Rust and C# are the future.
Controversial opinion, but I think Python, Java, VB, and others will become legacy languages. They'll be around for 30-60 years, just like Cobol, but I expect things to settle around other languages.
Ada and COBOL are still where the big money is, and still will be for years to come.
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.
Factor!
It's incredible and elegant and defies some common categorization.
I've put some of my favorite resources in the sidebar of https://programming.dev/c/concatenative and I'm happy to walk through any particular challenges/examples -- I've done about the first week of Advent of Code with it this year, and the most recent handful of Perl Weekly Challenges, and some basic Euler problems.
Hi there! Looks like you linked to a Lemmy community using a URL instead of its name, which doesn't work well for people on different instances. Try fixing it like this: !concatenative@programming.dev
I love Clojure+Clojurescript
- modern PHP (version 8.x with some modern framework like Symfony)
- Typescript
- C#
- C++ (this one's always fun, I recommend the Qt framework since you have a Java background - it would be easier than raw C++)
Have you ever wanted to do more with regular expressions? Then give Perl a try.
Do you want to awaken the Elder Gods, and consequently suffer a slow and inevitable descent into horror and madness? Then give Perl a try.
Truly efficient perl code is write-only.
Odin is quite a fun new language I just started learning. It is meant as a C replacement and comes with a decent standard library and third party library so there is a lot already built that you can use. It also is fully compatible with C and can use C libraries.
Just be warned that documentation is lacking and you will have to read the source code of the standard library from time to time or seek help from their discord.
I say that you should find some interesting project, possibly something related to some desktop environment like Gnome, KDE, sway, cosmic and so on. There are multiple fun/interesting projects around them. Then pick a small and manageable task, use that to learn the language that project uses.
I find Cosmic to be a very interesting desktop project, and they use Rust if that would be of interest.
While it's related to your job and not very new compared to your current stack, it's very worth it to learn typescript. It has a cool type system and makes frontend development sane.
Programming
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