Your Favourite Language Doesn't Matter
Go. Go is my favourite language. That's it.
I could elaborate on why Go is my favourite language, weighting the pros and cons, touting its qualities, but I won't.
Instead, I will elaborate on why this does not matter.
Your favourite language does not matter
Why do you like the language you are currently using? What is your favourite thing about programming? Why are you programming anyway?
To solve problems. You are programming to solve problems. And I bet this is why you are enjoying it.
And, in your opinion, what makes a good language?
A language that helps you solve your problems. How it does it, it's up to your own metrics and how you need help solving your problems.
It can either be by:
- being a simple language, that does not get in your way
- being tailored for performance, or to perform well in your use case
- being safer than the alternatives for a given job
- prototyping faster for your MVP
- helping model a complex and intricate problem
- supporting a use case that you often encounter
- a combination of the above
I am not saying that developer experience does not matter of course. It does. And this is probably one of the most important things you need to consider when choosing a language for your project, since it determines whether your developers will be productive or not.
It's just that you wouldn't probably use C++ to make a REST API, unless there is a very specific business reason justifying that choice. Even if you have an absolute passion for C++.
Problems do
The reason your favourite language is your favourite, probably stems from the problems you like to solve.
You like designing web APIs? You probably like Python, Ruby, or Go, or a JVM language. You like working on Data Mining, or AI? You probably like Python, Julia, or C++. You like working on video and image processing? Well you might prototype on Python and love C/C++. Or maybe your thing are mobile apps? Well Kotlin or Swift are probably your languages.
You could speak lengths about their features, their syntax sugar, or anything else. But let's be honest, any modern language is full of cool features.
To the recruiters
Please, stop asking that question, it's pretty silly. I understand you want to know whether someone is suited or not for a job, but you'd rather ask them what kind of problems they like to solve, or why they think the language specified for a job will help then solve them problem.
Depending on how the person responds to that question, you will already learn a lot on your applicant. At least you'll know if he has some perspective about what he is doing, and why he does it.
Because in the end, what matters, it's the business. Developer's work is not building some technological marvels, but bring business value by solving problems.
And this is our commitment at Unicowd.