Winds of the World, give answer! They are whimpering to and froRudyard Kipling - The English Flag
And what should they know of England who only England know?
The poor little street-bred people that vapour and fume and brag,
They are lifting their heads in the stillness to yelp at the English Flag!
I like that stanza a lot, and (taken out of context) it rather suits an opinion I hold on the merits of learning of several programming languages. Most programmers have a core language, the one they are most able and comfortable with; I think we should expand the list of peripherals.
Knowing more than PHP
So many languages share fundamental principles, and indeed many are even derived from the same concepts, but because they differ in their approach there’s something new to understand in each. It’s these differences that will frequently bolster your understanding of your primary language, or indeed of programming as a whole.
Yelping at the PHP Flag!
Another point succinctly raised is against the dogged ‘vapouring, fuming and bragging’. How often have you read a post titled ‘243 reasons Programming Language X is shit and Programming Language Y is the King’? Or more likely, how often have you scoffed at the title and ignored it, thinking ‘what a jerk, Programming Language Z is obviously King’?
There’s no reason to attack another language just to validate your own investment in another - it’s crazy. It’s when the communities come together and share their ideas: discussing improvements and drawing inspiration from one another that things get interesting.
Stop arguing about whether their language sucks and your language is great and start listening to the opinions of another discipline: I guarantee you’ll get more out of it.
So what are you waiting for?
I realise it’s a big investment to learn a new language from scratch, and I’m not suggest that you necessarily do that. You could however easily complete a decent ‘getting started’ tutorial: it’s often the fundamentals that are most rewarding anyway. Frankly you don’t even have to switch languages: if you’re a PHP type who uses CakePHP, go and learn Symfony; if you’re a Django type have a look at Pylons.
It’s stepping outside of your comfort zone and engaging with the underlying concepts of the languages and tools you are using that will enable you to grow as a developer. As the Pragmatic Programmers have said before… consider the case of the developer who claims ten years of experience, but in reality it was one year of experience repeated nine times. That doesn’t count as experience.