Being at the forefront of technology is something that I’ve always sincerely enjoyed. For example I was one of the first C# programmers in Italy back when C# was still in beta, and I was there in the early days of Rails as well (just a few months after its initial release). Over the years I’ve dared to risk and have made some educated bets on technology that have served my career well.
I share this as a way of illuminating the fact that there is a reward to be had if you enjoy keeping up with technology and the programming world – and it’s a payoff that goes hand-in-hand with the sheer fun of exploring and using new cool technologies.
We live in a world that moves quickly, with significant innovations being introduced every couple of years and entire tectonic shifts coming along every decade or so.
This doesn’t just apply to programming languages either – we’re talking databases (e.g., NoSQL), paradigms (e.g., parallelism and concurrency), new approaches (e.g., Big Data in the Cloud), new frameworks (e.g., Meteor), and many other corners of this vast field.
In the programming world, in order to stay competitive, you can not ever stop learning. If you’re not leading the pack, you apt to be left in the dust.
One way to keep up is to never stop experimenting, playing with new languages and technologies in your spare time and applying them to non-mission critical projects. That’s the strategy I have grown accustom to at least, and again, no complaints from me when it comes to taking such an approach.
Wayne Gretzky, arguably – if not flat out – the best hockey player of all time, has a great quote that applies to hockey as much as it does to life in general.
I skate to where the puck is going to be, not where it has been.
Damn, Gretzky was good on the ice. Anyway, back to the topic. Some developers might consider R or Node.js to be the future. In reality, that’s where the puck is now.
Where will the puck be in three, five, or ten years? We’ll have to wait and see to know for sure. Meanwhile, I encourage you to explore three programming languages that might very well be headed in the same direction of that most iconic of Canadian sports equipment, the humble yet mighty, puck.
- GO: A fast, truly cross-platform, concurrent language that resembles a modern C on steroids.
- Julia: A very high level language that’s aiming to be the future of scientific computing and data science, including integrating with existing solutions such as Python scientific packages. Think of it like a modern Fortran on steroids.
- Elixir: This language fully leverages the power, reliability, and concurrent nature of the Erlang VM, but does so with an elegant Ruby-like syntax. It’s Ruby taking steroids in the gym she goes to seven times a week.
I make no promises or guarantees that these languages will pick up massive momentum over time. What I can promise you is that you’ll enjoy and learn from them in the moment. Each one is not only promising, but already delivering and is well worth checking out, if you haven’t already.
Let me know where the puck is headed for you.