I don't understand this winner-take-all mentality around programming languages. Why "switch?" Why not instead simply add another tool to your toolbox? I like having a myriad of languages and libraries at my disposal. Each has its strengths and weaknesses. Understanding those allows you to choose the best tool for the job at hand.
One thing we need to learn to accept is that no tool is ever perfect. What is optimal for building applications may get in the way when doing embedded work. An outstanding teaching language may not be efficient enough for experts. There are many different situations we'll encounter as programmers. Not every can be resolved with the same set of tools, so the more we have available (and understand!), the better.
s/language/religious/
and wars over religion have been going on for thousands of years. I don't think that explains it but the mentality seems very similar to me.
I think it depends what you do with your toolbox. Most people have a limited amount of working memory and filling it with syntax rules + library APIs of 15 programming languages is not best way to get most tasks done (unless the task is to learn as many languages as possible).
I would prefer to know as few languages and APIs as possible that let me get my work done. Python is one of the languages and the other one is C.
C is for doing realtime stuff and Python is for everything else (setup, network IO, GUI, web, etc). Unlike the author of the artice I like using Twisted and it works reasonably well for what I am doing.
I disagree: the more people work on improving my favorite programming language, the better. Who knows, if it became really popular, it might even be possible to find jobs using the programming language.
I like learning new languages, but realistically, I can not be very good in an unlimited number of them.
One thing we need to learn to accept is that no tool is ever perfect. What is optimal for building applications may get in the way when doing embedded work. An outstanding teaching language may not be efficient enough for experts. There are many different situations we'll encounter as programmers. Not every can be resolved with the same set of tools, so the more we have available (and understand!), the better.