I received an interesting question the other day from a recruiter:
Would you be open to moving away from PHP?
First, by analogy. I’m a photographer, most of the cameras I own are manufactured by Nikon. This is like asking if I’m open to using a Canon.
I happen to be very adept with using a Nikon. However, I don’t think the photons bouncing around care much what logo sits on front of the camera they are in. I’d be a poor photographer if what I did was care about the brand of camera I carry instead of the picture I am taking.
PHP is designed to solve one problem: the web problem. It solves it very well—as evidenced by marketshare and its continuing durability. At nearly all other stuff, PHP happens to suck at.
I happen to be very adept at PHP. That pretty much means knowing that there is a better tool than to use PHP to solve the problem at hand at hand, and using that instead of PHP: MySQL, Apache, memcached, MongoDB, CouchDB, Scala, Erlang, Puppet, CruiseControl, AWS, etc.—none of which, to my knowledge anyway, written in PHP.
I’d be a poor programmer indeed if I thought that the problems I solved cared much the language I was adept in.
I’m not a poor programmer.
The Short answer: “Yes. Depends on the problem and the existing environment.”
(Recruiter was amused by my answer because he was owns a Canon. I suggested we “get on either side of the street and start making threatening dance moves at each other like the Jets and the Sharks.”)
Another question I got:
Which do you think is better [some programming language] or [another programming language]?
They’re just tools. That’s like asking a handyman which they think is better: a hammer or a screwdriver.
(That elicited a laugh.)
Using a programming language is simply a choice. There are many things that go into making a correct choice that are far beyond what language one prefers for a problem that happens to be not that hard to solve in the first place.