Nowadays, many people strive to conquer the heights of programming in one language or another. There are debates about which language is better, which is more productive, many developers and beginners focus on benchmarks and foam at the mouth to prove something to each other. This is so childish and so pointless!
Ask yourself the question, what will you create using this or that language? Do you have a startup idea? Can you create something new? Remake an existing one, but make it 10 times better?
If you are offered a job or take tests and interviews, you will be given technologies that you will be required to use. Business, money, and interests of managers who have never written code themselves will carry more weight than the results of your research and study of effective programming languages. This is the fucking reality of the industry today!
Therefore, you need to learn something else: physics, mathematics, chemistry, neurobiology, any natural science. This will give you the opportunity to write something in your favorite programming languages that someone else really needs. Not boring schedules and product lists, mailings and stores, fuck commerce.
Natural on, that’s what should advance your programming knowledge!
That is not even remotely the reality where I work. The reality where I work is:
Everyone we have hired, and everyone we plan to hire in the future, is familiar with languages X/Y/Z. Therefore you will use those three languages.
If you want to use a fourth language, first you need approval to train every single employee in that language. To a high level of proficiency. That would take thousands of hours for each employee.
I’ve worked at a company where each and every single engineer was free to pick up what he felt was the best tool for the job.
It was an utter mess of unmaintainable code, and everyone wasted time trying to get projects not die out of bitrot.
Training people is not a problem. You also do not have to train everyone to create a single project in a particular framework/programming language. What you do have to factor into your analysis is the inefficiency of having to waste time managing multiple fameworks/runtimes/deployments/programming language development environments, and the lack of progress you will have in your team’s skillsets if everyone turns into a one-man silo.