It is certainly that there is a lot of programming languages on the market. Each language creates itself job positions and even programming “religion” where engineers prefer using a certain language over others, and thanks to that, the software development market can thrive because the diversity in language increase the scarcity in workforce.
So why some language offer higher salary than others ?
Well, language is tool, each tool is more appropriate for a certain purpose. Salary is the compensation from the budget assigned for a purpose. So actually there is no standard market price assigned to each language. It still is the supply-demand game. The difference is the demand is influenced by big boys in the industry. Big boys create programing languages, frameworks that overcome limitations of the ones exists before. The limitation can be speed, memory efficiency, friendly syntax, built-in solution for repeatable tasks. As the result, it can save money in renting physical resource (computers) and save working hours (constructing and error fixing) and that savings also contribute to the compensation, or the salary.
Can an engineer learn multiple language ?
Learning a language is always hard and time-consuming. There is a lot to remember: syntax. And syntax can be translated from one to another by the same principle as human language. So far, for each language, what we need to remember are:
- How to declare variable
- How to write conditional check (if-else)
- How to do the loop (for-while)
- How to separate code in reusable blocks (class, method, function, interface)
- How to handle concurrency (process, thread, event loop)
- What libraries are offered out-of-the-box per each language.
The tactic is, for the first language, learn it carefully and practice a lot. For new languages, compare it to the one we knew, and find the translation between syntax sets, then practice a lot.
Another tip is to search for open-source projects, and read their code. This is also a quickest way to learn from top engineers.
Is it worthy to know more than one language?
Yes, I think.
If we only need a stable job, one language is enough. But remember that technology changes everyday, and any project has the starting date and the end date. So, ensure your adaptability.
If we are interested in technology, learning new languages can provide us a deeper understanding about computer as well as to see more than 1 way to solve same issues. It keeps us open-minded, curios and provide a broad range of knowledge, which is a truly stability, so far as what I learn from many professionals.
And, the whole programing activities is a career, not a single language itself.
Is it tired to know more than one language?
Yes, obviously. No need to explain.