Top Next Languages

I know Python. What should I learn next?

People who have been following me kind of know that I have been mostly writing about machine learning these days. But it’s the end of the year and everyone is coming up with their best programming languages for year 2018 and what could be the programming languages for the year 2018. So, I also thought that I should also say something on the topic and not let the chance go by. 🙂

This post is for those developers who are seasoned in Python and are looking for ways to improve their skills and become more attractive in the job market. In case you are a beginner still this post may have something for you. As a bonus I will tell you the programming language you need to start with. Also, please note that the listing here does not mean that I am ordering them. Please take into account your individual goals and motivations then choose the language that you would like to learn.


These days there is a lot of good things that are going good for JavaScript. In case you have been living under the rock for the past 1000 years, everything is mobile. Internet speeds are only going to increase and internet has become a basic need for a huge portion of the population. If you have been ignoring and avoiding JavaScript, now is the best time to learn it. The new ECMA6 has a lot of new and improved features which make learning and using the language easy. Then there are a lot of libraries that are there in JavaScript one of the most used for web programming is React. Though React had some backlash from the open source community due to its licensing, Facebook, who is maintaining the library changed the license to make it more developer friendly. So, keep calm and accept JavaScript.


That was web programming. Although Python has many advantages but one of the key disadvantages is that it is notoriously difficult to create native apps. If that is the case, why should you as a developer disadvantage yourself. Take a look at Xamarin. You would write in C# and easily deploy in Android, iOS and even desktop apps. I would suggest learn basic C# and Xamarin, keep all your business logic in flask endpoints and easily create android and iOS apps on the fly with minimal code.


Armin loves Rust and hence I love Rust. So, you should learn Rust. Period.

The above statement should be your biggest motivation, but in case you are not convinced, there are many good things going on with Rust. The fact that it does not have a runtime makes it an excellent candidate for those small patches of code that take a lot of memory and CPU. In case you are looking to make code optimizations and were thinking about C or C++, take a look at rust. It might be just right for you and your team. Take a look at this excellent article on the same.


Although I don’t really like these languages, the fact of the matter is there is a lot of legacy code in C and C++. Also Python is written in C and if you want to get into the internals of Python you should probably know C. Another way to look at it is that the current trends are Machine Learning, Artificial Intelligence and probably AR/VR. All of them are computationally intensive and hence, to wring out the most from your machines you probably will need to know some C and C++. Maybe this is the right time to get into those languages now that you have solid Python under your belt.


All of the above are good choices but probably you are just interested in earning money. Or probably things are not going good at work and hence you are thinking of taking the freelancing route. In that case PHP should be a good bet. You may think why am I saying this although you may have heard a lot of people dissing it. Generally, tools are not inherently bad, its the programmers who are bad. An excellent example is that Facebook was able to build a massive empire based on PHP. Also, major portion of the web is based on WordPress and there is still a lot of wordpress related freelancing jobs. In fact, I would argue that its a good thing that people are speaking bad about WordPress. Think about it this way. Once the code in a lot of websites become old and are legacy, there will be high demand for people who know PHP and you will be able to demand a high charge for your services.


Now lets get away from money and come to the world of the uber geeks, code quality and best code structure. If you fall in that realm, probably you should look at Clojure. You can choose any of the other functional programming languages as well but I will tell you why you should consider Clojure. IT WILL GIVE YOU A PURPOSE. Just imagine you started with Clojure and you have mastered the functional programming concepts and are writing pure code with microscopic amount of side effects.

Interestingly, Clojure runs on JVM and you can now write Java apps. You now have the power to wage war against those corporate managers and team leaders and those corporate developers. They will write all those massive architectural designs for simple TODO apps while you will be doing the same thing in 50 lines of code. You will able able to piss off everyone. Just a little food for thought for the rebel in you.

That’s it from me. In case you have some favorite lang which I have not included in this list do write them out in the comments. Also, I had promised that I will speak about the language that you should learn in case you are interested in programming and what to start in the field. The answer is easy. PYTHON.

Joydeep Bhattacharjee