There was a time in my life when I made up my mind to be a programmer, I had a very big problem deciding which technology to learn.
To me then I would always want to be relevant and so I wanted to learn a language that would keep me in the relevant zone for decades to come.
The advice I got was to learn Java, because during that period Java was reigning in my geographical location at least. I did my research and I felt why not Java.
Often times when we make up our mind to become a software developer most of us think like this, but the simple truth is that things are more complicated than anyone thinking of the technology to start their software career with, just to be an instant hit in no time.
Let's get the point straight, am not saying you shouldn't look out for a promising tech skill to acquire on the contrary am saying the tech space is hug and if you must be relevant in that huge tech space you need first choose which part to function in that huge tech space and then learn the most promising technology for that part.
It's important to first know if you would love to be a frontend or backend developer, before choosing a programming language to learn. When choosing a language to learn as a starter you should choose the most promising, when I use the word promising I mean acquiring a tech skill that is in high demand today and will be tomorrow, yes that's possible.
Every developer wants to remain relevant in the Tech space and the best way to achieve that today is to identify the language of today and of the FUTURE. Talking about the language of the future, first we need ask how far in the future are we talking?
More than a decade out? Hard to say. More than two? Impossible. Looking at current trends, though:
Python is nailing machine learning, but losing momentum on servers.
Julia could come up from behind and displace Python in Machine learning.
Java is pretty well embedded in the enterprise space, but there are cracks around the edge of its dominance.
Go might survive due to strong Google backing, though I have a hard time recommending it.
Swift is likely to stick around as the Apple platform language for the foreseeable future. But it doesn't seem likely to make the jump to anywhere else.
Kotlin could displace Java. Scala has had its chance, but it appears to have failed in garnering market share. I frankly don't see that changing any time soon.
C# is probably going to persist in some enterprise companies, and as the language of Unity3d and Xamarin.
On the high performance end, it's a hard call. C++ has ruled this roost for two decades, and has received some recent updates that look great. But Rust seems to have a strictly better type system, which provides better compile-time code verification with equivalent or better performance.
C is the low level language of the past. Like COBOL, there's a crap ton of code written for it, so it won't just vanish. But except in narrow cases I don't see C as being a good language for new development. Rust is strictly better for anything that you might want to start in C today. I think this will be increasingly true. So in that respect, Rust may be more likely to be a major language in the future.
The first language will be hardest, because you're learning how to program for the first time. After that, the second language will be easier, and so forth.
If you gained something from this article, take a minute of your time, hit the share button and share this piece with your network on social media, also give me a follow on all social media platform via @ifycoool.
Visit my official blog via https://www.blog.ifeanyiokeakwam.com