4 ms·
It seems like a lot of people love to hate PHP, and I am not the biggest fan of PHP myself but some of the arguments are a bit off. My current consultancy focus
by trcollinson 12y ago
It seems like a lot of people love to hate PHP, and I am not the biggest fan of PHP myself but some of the arguments are a bit off. My current consultancy focuses on coming into companies in a last ditch effort to fix problems with startups, generally after they have failed some sort of technical due diligence when being sold. I get a fairly even mix of most languages (Ruby, PHP, Python, .Net, Java) and they all have problems in the wrong hands.
In 2014 (so very recently, this year), I was brought into a company that was just about to be sold and failed a technical due diligence. One of the red flags was that most of the engineers were in the process of leaving having "accomplished a dream and sold their amazing system to a large organization". They left for really big, well known companies rather than finish the technical due diligence and take an aqui-hire position.
A look at the code showed why. While these were all honestly rather Senior level engineers, they had written some of the most horrible Ruby, JRuby, and Clojure code I have seen in my career. Often it seems they decided well known and good frameworks were just "not good enough" so they decided to write and not maintain their own. Their list of technical sins was quite long but the last I will mention is that they never could decide, from day to day, what the right architecture was, so they just changed it, over and over, on a whim.
The point of this story is, languages don't write poor code, engineers do. I know that people will say, "But PHP has an ecosystem of Junior developers just picking it up and pushing out bad code and never really learning." This may be true, but it's actually just as true with Ruby, Python, .Net, and Java. Those languages, Ruby and Python in particular, are just much better at the PR game of making themselves look "more mature" than PHP is.