What Makes New Programming Languages So Irresistible?
Today, I want to talk about something that recently came to mind when reading blog posts about trending programming languages, such as Rust or Golang.
Why do “old” programming languages, such as C#, tend to lose people over time, while new programming languages attract people to use them?
In theory, new stuff isn’t tried and tested, and when making big business decisions, depending on something that just surfaced the earth isn’t a bright choice.
And that’s one of the first things that came to my mind.
As developers, most of us want to be using cutting-edge technology. We are driven by learning new things daily and know that not doing so will make us insignificant long-term.
While the corporate environment asks us to use an established tool, we are keen on trying new things outside of work. It’s like using an old bike as a daily commute and window shopping for a fancy new-designed bike.
Don’t get me wrong - I’m not talking about tried and tested expensive bikes, such as a Tour de France-winning bike. I’m talking about prototypes with fancy new features yet to be ridden by a professional.
Another factor is that learning new programming languages is easy.
Learning a new programming language that focuses on solving a single problem is always easier than learning a programming language such as C or C#, which has developed over multiple decades.
Developers are lazy and going for the low hanging fruit here makes total sense.
So, is it a good or a bad habit to learn new programming languages when they surface?
In my eyes, it’s absolutely fantastic to learn new programming languages. You get to experience different approaches to similar things and learn how to solve a problem using various techniques.
However, would I want developers to implement production code in the lastest programming language they have learned over the weekend?
Absolutely not.
Don’t fall into the fallacy that newer always means better. There is survivor bias in thinking that new stuff always surpasses old stuff. We only remember the programming languages that made it. What about the thousands of tries that yielded nothing and vanish as fast as they arrived?
What can we learn from all of this?
I believe that being proficient in an established programming language and learning new programming languages here and there for fun is the sweet spot.
Once a new programming language gains traction, you’re in the mix for becoming an early expert because you already have a head start. If it doesn’t take off, you still learned a thing or two that you could apply to your job.
What’s your take on adopting new programming languages?
And more importantly, when was the last time you thought outside your box and learned about something new outside your comfort zone?