Latest posts

What should they know of PHP who only PHP know?

Winds of the World, give answer! They are whimpering to and fro
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!

Rudyard Kipling - 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

I suggest that by learning more than one programming language, you stand to learn even more about the one at the core of your skill. It’s commonplace in the programming community to stick to one language, be it Ruby, PHP, C++ and so on; but I think if you do you’re missing a trick. I’ve titled PHP herein, because it’s a language I’m familiar with, but my own adventures in JavaScript and Python especially have been enormously rewarding and have helped me learn a lot about PHP actually.

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.

Erskine Design
Published in: