PHP is one of the most used programming languages in the world, but it has undergone a rocky existence over the years.
The language supports a huge proportion of the world’s web and thousands of programmers still profess a love of it, but that doesn’t mean it’s infallible.
A bit of a strange fish, TIOBE ranks PHP as the sixth most popular language around – and there are a lot of languages around – with w3techs showing it by far and away the dominant server-side programming language in particular.
Back at the start of this millennium it occupied the minds of swathes of computer students, free to create what they liked in a place (the web) crying out for new ideas, with little or no restrictions.
PHP is compatible with pretty much all servers around, is easy to learn, runs smoothly (when done right), runs on numerous platforms (Windows, Linux, OS etc) and popular across many hosting providers.
Start the ball rolling
Indeed if you were to look at what approach was used through PHP to create the original Facebook, and compare it to what drives such a service now, it’s clear the environment has changed.
“I actually studied Java in college,” explains Daniel Hunt, who graduated from DCU around 2005, “but I was doing some PHP on the side, projects with friends, working on different web applications.” At the time, in Ireland, PHP was a language in high demand as a couple of major employers popped up.
“It was driven, in part, by Hostelworld. They had a few hundred employees at the time, using PHP. Version 1, at the time, did something similar but they have since moved over to .Net. My first paid job was actually with Java, Spring on Java to be more accurate. That was with Precision Software, and then I got a job in Hostelworld with PHP. To get that, my side projects really helped.”
Adapt or die
Now, though, PHP is a different beast. OO with well-received frameworks (Laravel, Drupal etc) as well as its historic versatility, PHP caught back up, and it's a language likey to get you a job. Indeed as a dominant web scripting language, it would be remiss to ignore it completely.
And remember, everything front-end that catches the eye of the user, must be supported by some pretty good back-end programming.
“PHP in 2015 is nothing at all like it was in 2007, or even 2010,” says Hunt. “The current mindset of the top-end of PHP developers has resulted in a language that is flexible (as it always was), but with a structure and mentality that means it can actually be used in large scale projects.
“The biggest shift has been in the professionalism and approach that software engineers are now using to build products with PHP, along with that same shift in mentality that’s driving the actual language and core libraries itself.”
A good programmer is a good programmer
Hunt is now a senior engineer at Currencyfair, a business in Dublin on the lookout for PHP developers. However, it’s not exactly those well versed in the language that can get a job in the industry.
Much like our previous looks at Ruby and Python, a clever mind can pick up these languages quite quickly if they learned their trade the right way. Indeed it’s unlikely that people are taking courses on PHP in college, with many relying on side projects like Hunt to get their skills up to scratch.
“PHP’s bad name in the past, and the fact that it’s dynamically typed, mean that it’s unlikely to ever be taught in a formal setting,” he says. “The massive benefit that something like Java (or C++) gives, is the enforced structure and static typing that make it much easier to learn the basics of software engineering.”
From there, Hunt feels, you can spread your wings and learn what you truly enjoy, and there’s no harm eyeing up the jobs market and acting accordingly.
“Knowing Java is a great way to get a Java based job in an enterprise setting; knowing PHP, Ruby, or Python, as well as Java or C++ (at a high enough level), shows that someone can apply software design patterns across different languages, and can almost certainly apply those same principles to other languages, if required.
“Having a base (in any language, really), to prove they’re capable, is a good thing, and is expected of anyone applying for a job. But showing mastery of any individual language, along with at least a passing knowledge of others? That’s fantastic.
“That said, for a beginner or low-level developer who’s just entering the workforce? Solid grounding in the basics is a must-have. It’s very rare that someone will come along, having had little-to-no formal training, and prove that they have the chops for professional development.”