In my early programming years, I had this strange pull towards every new programming language that was hitting the scene. I would begin to get familiar with my work language, only to steer completely away to something that was hitting the latest tech blogs. It was exciting at first. A brand new IDE was my reward along with this sense of being one with the technology community. Except that it didn't work out quite as I had hoped in those early beginnings. I didn't retain any of those languages in memory. Only one. The one that I use for work in my day to day.
Just like how most people have 1 primary spoken language, programmer's also have 1 primary programming language. It is their go to language when they create a new project. Sure, you can dabble in others for those "just in case" scenarios when you might be working on someone else's project. But you shouldn't make that your primary goal. Act as if there is 1 language and own it.
where your attention goes, your energy flows
You either master 1 language to do incredible things. Or you learn bits of pieces of many languages but at the same time put yourself in a small box of possibilities. The more capabilities you realize a language has, the bigger your field of vision when it comes to creating something.
Learn it if you need to
Needless to say, some programming languages are more specialized than others. For example, if you're building a mobile IOS app, then you have to know one of the few languages that can be used for such a thing. You can't go in with your C++ knowledge and polish out a mobile app. But that comes down to your job essentially. What is it that you're working on. Many times programmer's pick their niches and stick with them for the long haul. Some specialize in web development. Other's in app development. Sometimes the two meet somewhere in the middle, but usually not for long.
So learn a language if you find yourself in need of it. Sometimes, certain things are a million times faster and easier in a specific language, and it might definitely pay off to make the switch. If you're going to be working on machine learning applications for example, then going with PHP might not make the most sense. Luckily, there's Python. However if you're a web developer that knows PHP very well, then you probably won't be going into the field of machine learning.
Knowing of them
It's good to keep up with the latest languages however. Not in a purchase all the newest books and read all of the tutorials on it as soon as it comes out. And not even in a "I'm going to start a new project in 'x' language". Just know of it. Know who made it, for what purchase, who's using it and just basic knowledge of said language.
If it's a language that you'll need to learn, it'll come in time, but at least you'll know of it for now. You'll remember about that specialized language that came out for mobile app development that did that one very particular thing that you require currently. It's also interesting to see where programming languages are headed as far as complexity and functionality is concerned. What's trendy this year, as it were. Not something to be married to of course, as any new technological trend more than likely has little to do with whatever work you find yourself doing personally.
Letting the language pick you
And that's essentially how it works. You don't really get to pick your primary language. You get to grow with a language. And that will become the one that you think you chose. You'll try to convince others it's amazing. And that's because it is. You can build all kinds of fanciful things with it. It's an incredible gift. But so can any other programmer using the language of their choice.
So when it comes to learning all of the programming languages in the world to stay on top of the game, just remember that every great project started with just 1.
If you enjoyed this, or other posts, consider buying me a cup of coffee . It is always appreciated.
Your feedback is welcomed
About Walter G.
Walter G. is a software engineer with over 10 years of professional experiecne.
When he isn't blogging or being a CTO he enjoys coding randomly complex things that he hopes many
people will get a chance to use one day.