Should I learn X language in Y year?
In summary, yes and no.
This question comes in many variations every year.
This mainly asked for C++ and PHP most of the time. This post is an approach to answering them all at once.
The programming language we have today is the result of:
Different languages are written, sometimes for the same purpose, sometimes for a different purpose. Sometimes, these are developed with different philosophies in mind. Some have different internal architectures and paradigms.
For example, Java, C++, and Smalltalk are object-oriented; JavaScript is object-based, but many prefer a functional approach to it. Python has great readability. Golang meant to be fast like C, but with better readability, garbage collection, etc.
When different approaches and philosophies are found and match different types of problems, each language starts getting a fit. More than one language can be fit for one type of domain. Also, when it was initially created, the problems of that time were primarily kept in mind and updated when there was a requirement for a new feature to add, any other bug, or just an improvement.
One language created can also be a result of the purpose of overcoming some limitations of another programming language. If you are a beginner and are choosing a programming language for finding a job, then first of all, you have to decide what domain you want to get into and then choose a programming language. You have to check for trends while choosing. You should check for demand and how much availability of the job is there in your area, city, country, or planet. Then pick that language and start learning it.
If you are a hobbyist, pick anything! Whatever excites you, try it!
If you are developing an application, there are some factors, like:
And there can be many more questions. So, choose the one that suits your needs.
For example, game developers mostly prefer C++ because it is close to the hardware, making the code faster in terms of hardware response and graphics rendering.
You still might want to consider assembly for microcontrollers or embedded C if the project is a bit complex.
If we have a pretty simple web application with less use of resources like databases and moderate traffic, then you can use PHP. Why? Because you can host your application on shared hosting, which will be much more cost-effective than using VPS with the same or another programming language.
One of the great examples is WhatsApp choosing Erlang for developing its backend because Erlang programming language is very efficient, highly available, has the ability to handle large and concurrent users, and is primarily a messaging service. It wants to be that.
And as time passes, you might want to use more than one programming language. Take a mobile app that is using React Native. For example, you would be using JavaScript primarily, but now you want to add a feature that has to leverage the hardware-level power of the mobile device. In that case, you would use either Kotlin or Swift depending upon whether you are developing an application for Android or iOS, respectively, or both.
If you are an experienced developer and are working in a job, then you also should learn the language of your choice depending upon the trends, interest, demand, or hobby. This will make your resume and your overall skillset more versatile and will keep you up-to-date with the times and trends.
A language to be learned is dependent on the desire and/or the demand, as well as the domain of work. There are some surveys, like the StackOverflow Survey, some good YouTube channels, the job portal, and some popular software applications that might help you choose and curate your journey.
You don’t need to learn everything, and it’s always good to learn more languages and technologies. This also helps to create more than one approach to solving a problem and a good application.
© progshala.in