What Language Should I Choose?
Published on Oct 11, 2024
Whether your just getting started with programming or you have been learning for many years now, the most common question you have probably asked yourself is: What language should I choose? I asked myself that question quite often for a long time, but now I have the answer and I’m here to tell you it!
Contents
1. Consider What You Enjoy
Maybe it sounds obvious but, how much you enjoy writing/testing/debugging in a language plays a huge role in your confidence and in turn ability to code with that tool-set. When you find a language piquing your interest you want to learn more and more about it, you get that drive to dive deeper and deeper down the rabbit hole.
One language that really gave me that feeling was Gleam, it managed to wrap everything I liked about languages such as JS, Rust and even Java into one brilliant type-safe package. Not for a long time before I met Gleam had I wanted to try creating so many different things just to get to the bottom of how this language ticked, as it were.
So let’s say you want to do web development, you watched some YouTube’s and all the cool kids are using React and Next.JS, maybe you decided you would go another route like Golang with HTMX. Whatever it is, you have inadvertently joined a cult, welcome!
All jokes aside the framework or language you start with can typically stick with you the longest, like Javascript or perhaps Python. From that point you have options, you could do what I did and just follow demand or like some others have done and just tried absolutely everything their language had to offer (that means all frameworks too).
Maybe you decided you would stick a limb out and jump on the Rust bandwagon, ride off into the sunset and crash into the borrow checker inevitably a few hundred times.
The point I want to make is, if you have an itch for a certain language or tool, go ahead and try it. And once you find something you love, stick to it!
2. Demand in the Industry
The second key decider is simple: Is it in demand?
When choosing a language or framework, you want to make sure your skills align with industry needs, unless you’re freelancing. Freelance work typically gives you more flexibility in your choice of tech stack since, at the end of the day, clients care more about results than the tools used to get them. For instance, Martha who just wants to share her 56 cats with the world via a blog that automatically gets cat photos from her phone and posts them will not understand the difference between a backend in Rust or VisualBasic when she is using her site. If it works, it works. If you love what your doing, your on the right track.
If though your looking to join the next big unicorn startup, it’s worth understanding the tech trends in your desired industry. A large amount of startups have been using Javascript frameworks like React or it’s many delineations such as Next.js or Remix. So your best bet will be learning as much as you can about Javascript and trying out a few frameworks for yourself.
If your looking for maybe a more backend focused position though at a startup I have heard Golang is becoming more and more popular, but make sure to check your facts!
In general my advice is, if your going freelance, do exactly what you want to do! Use Rust and Dioxus, use Gleam and Lustre, use Python and Django, whatever your heart desires follow it. If you though want to go after startups or just a company in general, do some research into companies in your local area if that is an option where you live or start doing market research into the most sort positions and compare the requested skills with what you enjoy, that will help you make a better guided decision.
3. The Importance of Experimentation
Ultimately, there’s no substitute for hands-on experience. One of the best ways to learn and grow as a developer is by trying different languages and frameworks. Each one will teach you new concepts and offer unique insights into how problems can be solved.
Over the years, I’ve gone from Java to JS, dipped my toes into Rust, and many others, all while picking up knowledge along the way. The more languages you experiment with, the broader your problem-solving toolkit becomes. Concepts like concurrency in Go, type safety in Rust, or the asynchronous, non-blocking, dare I say rage inducing, nature of JavaScript all build your understanding and make you a more versatile developer.
If you’re interested in a language other than the one your currently the best at, give it a go! The only way to know if you like something is to try it.
Final Thoughts
When deciding which language or framework to learn next, balance personal enjoyment with practicality. If you like a language, you’ll naturally lean toward mastering it. At the same time take a good look for the opportunities available for you and how they align with your interests.
No matter what you choose, whether it’s diving deeper into a familiar stack or venturing into new territory with a brand new language, the key takeaway is this: Experiment, learn, and apply. Every language you learn contributes to your growth as a developer, and in the end, it’s not about the language itself but how well you can use it to solve problems and in turn make the world a better place.
This has been Jasper, until next time 👋