For a long time I have seen that the developers around me hate PHP, and I still do not understand why this happens.
I don't like some PHP stuff, but that does not mean it's a bad programming language ... I think every programming language has its own purpose, so instead of starting to complain about "why PHP does not work for me " I think we should spend more time comparing different programming languages and choose the one that achieves the goal of your project.
What is your opinion?
Oldest comments (37)
Because people use Y, and it's clearly better than X.
All languages have strong points and weak points. These pros and cons also vary based on domain: there are some places where PHP is useful, and other places where it's utterly useless.
Every coder should know multiple languages. I think it's a legitimate concern that if somebody knows only PHP* that their coding knowledge is somewhat limited. There are so many differnet constructs in other languages that you might just never see in PHP. Granted, it, like all languages, evolves over time.
*My concern applies basically to any language. You can't know just one and expect to be a good programmer.
I second that. Also changing levels and paradigms also helps a lot. For example, if someone uses PHP on a day to day basis, learning something like Scala or Clojure would change his way of thinking completely.
A lot of it is because it's the cool thing to do! Especially when it comes to PHP and JavaScript, the mockery is because it's just "common knowledge" that they're bad languages even though if you press someone to explain why they won't be able to. Even if they have a reason it usually involves arbitrary examples or really specific expressions that fail in surprising ways that don't really have real world examples.
PHP and JavaScript both came out of a particular moment in history and seem to have a lot of overlap in their issues; loosely-typed languages often do.
The noise with Javascript has died down considerably in the past 5 years, though. People are less certain about their mockery because of how big Node.js has become and how robust some of the frameworks written on the front end have become.
It's still easy to find, though.
Some people do legitimately get burned, though. Languages all have landmines, even strongly typed languages.
I have encountered far too many people who think PHP is from the mid 90s while thinking javascript is from the 2010s and therefore better and "modern"!
The big thing with JavaScript is that is the only language that lives in the browser, so people have to use it whether they like it or not. If PHP was the only language to run natively on the server, few to none would ramble on it.
Still, they are unsatisfied with JavaScript and have written a bunch of transpilers for it - that clearly resembles that even in situation of only one language possible people tend to find troubles.
I agree with others here that people are really good at finding reasons to justify why we do the things we do (even if they are mostly arbitrary).
That being said, if you are interested in an in-depth criticism, Google turned up this one which seems pretty comprehensive: PHP: a fractal of bad design.
The article you linked was written in 2012. Some points are still true, but currently the core is waaaaay better, more consistent and predictable. Still, for backward compatibility, some inconsistencies remain.
FYI, another explanation of PHP-hate from Coding Horror: The PHP Singularity
Some of the issue could be the fact that many companies are bandwagoning into it (and other techs) just because that's what FaceBook or WordPress used, rather than weighing the technical merits of their choices. (Otherwise they might have noticed what FB had to do to PHP to keep their websites going, and this ReasonML thing going on now.) Now it may make total sense for the situation, like the bootstrapped startup does WordPress plugin dev to pay the bills while working on their own product. But the stigma is one of group-think.
I had bad experiences with maintaining applications written in older versions of PHP. I am not likely to use PHP for anything new, but some people I respect use it to good effect. Teams have to use whatever makes sense for their situation, regardless of popular opinion.
PHP is the best worst programming language.
I love it, and hate it too.
I don't mind using it as long as it does the whole job.
First I want to say the article "a fractal of bad design article" is a good reference. A complex tool gives the possibility of a complex solution. You don't need a complex tool to create something complex. Complexity should lie in the business code, not the framework/language. This is why Go is gaining momentum but it's also a hype (because Google).
PHP as a coding standard only since 2012 github.com/php-fig/fig-standards/c...
PHP had outdated tutorials for years and the "standard" framework Zend was/is paid so it was rarely used. So it also trained programmers with bad practices.. like common SQL injections.
As example, Python was there as long as PHP but from the the start they decided to impose a coding standard. Python PEP-8 exists since 2001. You don't hear much people complaining about Python because it was done simple and with a standard from the start. The Zen of Python is the best thing you can have in programming in general even I think.
I second that, php community is immature, there’s still a ton of bad practices advertized as good/applicable solutions, progress of this platform is slow and innovation is not there at all, what is it php community actially introduced, and not borrowed? I am a php dev btw, but hey folks, lets be realistic, there is NOTHING exciting about php
Well, being able to just
$username = $_POST['username'];
was pretty much exciting in 1995, don't you think?
I wrote my opinion there :)
code-artisan.io/love-letter-to-php/
I agree with you, most of the time, when we "love" a programming language or something else, we also hate it or get frustrated, because we always find something difficult that we can not find a way to solve it unless we spend a few minutes/hours playing around with a tedious documentation... XD
I think it is a mixture of the language and what people did with it. It provides a really shallow barrier to start programming, so a lot of newbies started doing stuff with it (I did as well) and so the "average code level" is or was lower. And I think that's just natural, because we all started a some point and (hopefully) learned a lot since then. But the impression from these early days can stick in people's minds.
The second part is, that the makers of PHP were learning how to create a language while creating one as well, which led to entry and removal of magic quotes, auto variables etc. and also inconsistent names and parameters for the functions (search with needle and haystack or array and item?).
And when the people have set their mind and start making jokes, it is hard to give it a fair chance again. That being said, I personally prefer other languages today, with static typing and a carefully designed set of language features. But PHP today also is not PHP of the early days anymore.
Some comments may only be visible to logged-in visitors. Sign in to view all comments.