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.
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.
If you want something that feels more quirky, go with Lisp.
I've been having a lot of fun with scheme lately (specifically guile, but I don't think it matters much). It's a very stripped down language compared to common lisp, so I felt it was easier to get started with.
- 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++)
Qt is an amazingly good C++ framework that encourages a much safer approach to using the language that emphasizes const refs over pointer insanity.
Also, the library function are quite powerful.
If you haven't done any Clojure, may be Elixir?
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 like Scala:
- multi-paradigm, you can explore many ways of doing something, within one codebase - arguably the most complex language, if you want, but doesn't have to be: start simply, later scales robustly
- compiles and interoperates with JS, JVM, native
- Scala3 dropped brackets - easily readable like python
- great tooling (recently) - compiler infers so much -> less puzzles / testing
- developed mainly in europe, not controlled by big-tech
Fwiw, here's my interactive climate system model running in pure scala.
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