LAMP’s Standing Still
Three or four years ago I used to get excited about PHP releases, I remember how big was the jump from 4.0.6 (read buggy) to 4.1 (read cool). We all know it was the 4.x tree that caused everybody to hail. We compared it to 3.x, we liked it a lot. Not because 4 became object-oriented, not because 4 introduced tons of features, but because 4 made it much easier to do what we do best: make stuff.
I would argue that PHP’s next major tree was the 4.3, but then things stated getting out of hand. Everybody started getting touchy feely about the “enterprise”, we wanted to prove that PHP can make, that Java’s no better. Remember the PHP vs. Java, PHP vs. ASP.NET, PHP vs. Fluffy Puppies debates? Benchmarks? Micro-scrutinizing?
str_str? I do, and I couldn’t bare it. I couldn’t care less whether PHP was enterprisey or not, I just wanted to make stuff, I wanted a sharp tool, a single tool, not a swiss-army knife, and I’m sure many PHP developers would agree.
PHP5 couldn’t make up for it. Admit it. Deal with it.
PHP5 introduced all sorts of bells and whistles, a whole new OO model, SimpleXML, SQLite and whatnot. How many of us felt these are crucial? These features where important, cool, but not crucial, they weren’t enough of a reason for ISPs to upgrade, they weren’t good enough for the “ignorant” 90% user base. Web applications are simple, and that’s what the language, platform and tools are supposed to be. Take a look at Rail’s success then tell me otherwise.
I’m sorry if I sound too harsh, but it is only because I really like PHP and I don’t want it to lose focus. I loved reading this guy and this guy, I used to keep up with [this site]http://www.dotgeek.org and this site, I used to like this board and this thing. I used to do have no doubts about PHP, I don’t want to be disappointed now.
The PHP community is shrinking by the day, at least that’s how I feel. I consider the community to consist of the extremely enthusiastic evangelists, those who make stuff instead of benchmarking them. We have a growing base of young developers who only need a small portion of PHP’s capabilities and a shrinking base of developers who want to make things happen. We need chaos, not community rules. We need a CPAN, not a PEAR, a Smarty or a Zend Framework; these projects give me a feeling of being the “chosen” ones.
However, along with chaos we need an educated community, one that can automatically filter crap. Let a thousand frameworks flourish because with a filtering community only the best of the best will survive, and not because Zend or PHP.net chose that.
Winning company’s acceptance is not an advantage per se. That’s starting at the top of the pyramid, which the opposite of how Perl and Ruby grew. Hackers used to like Perl, I personally love Perl, I use it everyday for tons of mini tasks, and I think that’s how Perl got into big corporates; Larry had nothing much to do with it.
PHP has limited itself to web applications, and that was good. But later on, PHP started to market itself as both an enterprise and a scripting (as in CLI) language. Of course there’s no way it can fit both, because “scripting” and “enterprise” can’t be crammed into the same sentence without horrible consequences. This marketing expansion didn’t come naturally, it felt like it was forced upon PHP and that we’re shoving PHP somewhere it doesn’t belong, and that it was now obliged to compete with two well-backed platforms.
Few have noticed that PHP wasn’t a platform by itself, and that it can’t compete with Java or .NET because it wasn’t complete without LAM. We should be pushing PHP away from that stiff competition and try to convert it to a leader in its own category. I think Marco’s pointing in the right direction with his suggestion to make PHP a foundation. It’ll hand over the steering wheel back to where it belongs.