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!
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
While I generally agree with you I would like to add that for some people it isn't about learning about some scientific field, it can be about learning about an industry in depth and then use technology in that industry to solve problems.
In the past when a scientist knew about programming and was able to code stuff he was able to suddenly revolutionize his field with a few lines of code, nowadays programming is kinda assumed as a must have on those fields and there are entire teams that understand "both worlds" enough to come up with very advanced solutions.
Tl;dr: It is no longer the lone scientist that happens to know how to code that cames up with some solution, it's about large teams of computer engineers with backgrounds on that field and vice-versa that collaborate to build software that takes months / years and delivers some additional value over what already exists.