LAMP’s Standing Still

These guys seem really serious about losing LAMP. I don’t think we’ll lose LAMP as a platform, but it’s probably stagnating. That is, not lost but not going anywhere.

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? strstr vs. 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.



14 Responses (Add Your Comment)

  1. Zee Robinson Jun 29, 2006
    at 5:25pm

    You seem to have somewhat confused “enterprise” development
    and frameworks. PHP5 and the Zend framework are not only about
    keeping the enterprise happy, but also about improving the
    language and keeping it current. OOP is not an “enterprise”
    technology, yet it is only now as of PHP5, with the advent of
    a decent object model, that we can truly do it. After all that
    is precisely what has made Ruby on Rails so successful. Perl
    also went through a similar transition from version 4 to 5.
    Finally, serving the “enterprise” doesn’t necessarily need to
    be a bad thing (read:
    http://hades.phparch.com/ceres/public/article/index.php/art::columns::exit0::june).

  2. I didn’t say that building the enterprise part of PHP is a bad
    thing, I just said it’s bad when it’s our focus. I disagree
    with you Zee that only now we can truly build enterprise
    software, OOP isn’t what builds enterprise software. Amazon
    did it with Perl, Google did it with C, neither are “true”
    OOP. (Oh c’mon, don’t tell me you think Perl’s OO isn’t hardcore).

    Rails’ success also wasn’t due to Ruby’s OOP features. Rails
    success came because those who made it didn’t focus on
    building enterprise applications, they couldn’t care less,
    they only wanted something that works and doesn’t make you
    want to stick your thumb in your eye.

    And by the way, I really like PHP5′s revamped OOP model, I
    just think it shouldn’t be the main selling point. I find
    this: “With PHP5′s new OO, SQlite and SimpleXML, you can
    build websites in half the time!”
    very difficult to swallow.

  3. Will Macdonald Jul 3, 2006
    at 9:14am

    Hear Hear !!

    PHP is stagnating. The majority of low-cost hosts still use
    PHP4 and won’t move away for fear of breaking customer’s
    scripts. If the hosting company breaks a clients scripts they
    will get annoyed and leave. The customers will mutter ‘…and
    they broke my scripts for no reason… I’m finding a new
    host.’

    PHP gets it’s popularity by being readily available on low-cost
    hosting solutions.

    I find myself wanting to try a ‘fancy framework’ and being
    severaly limited because very few run in PHP4.

    Will

  4. PHP5 is more robust, and adds modules that improves productivity.

    Sure Shared hosts that have used php4 for clients aren’t just
    going to switch to php5. But I bet if you asked them they’d
    have php5 ready for you. How many sites do you have that run
    php4, they work fine, and you don’t really want to touch them
    right now???? I have lots. They still run on php4 and thats
    fine for me.

    ALL new development I do now is PHP5 and probably the majority
    of people that are really ‘developing’ are using PHP5.

    Personally I use the PHP CLI all the time to run different
    cron scripts. Is it the right tool for the job? Absolutly,
    just like my site files I have times where I need to process
    things on my database or clean up file directories etc. I use
    a logs processor that I wrote to email me any errors,
    warnings, parse errors etc, in a format that I want, when I
    want it.

    What I like about PHP is it lets you go about your business
    and doesn’t try to force a framework on you. I think all the
    tools are there. (In all fairness I have not tried to use
    Ruby yet, maybe I’ll fall in love….???)

    Will…. upgrade to PHP5, its not that hard.

    Rami, what would you suggest that would improve PHP… you
    bashed it, but didn’t seem to really have much constructive
    criticism. What tools do you want that you don’t already have?

  5. I wasn’t trying to bash PHP5. On the contrary, I really like
    the new features and espeically the new OOP model (I wouldn’t
    have written an article about SPL otherwise).

    PHP5 is robust, and it’s a big step up from PHP4, but it
    doesn’t add any “real” value to developing websites. If I was
    to make decisions on PHP.net I would’ve advocated spending
    more time on awareness. The kind of awareness that let’s
    people say: “PHP is the best thing that happened to web
    applications”.

    That used to be true before Rails came in, and it was only
    able to steal the glamour from PHP because they concentrated
    on the right thing, they didn’t care about formalities (read
    proper OOP model), they only wanted to make websites real quick.

    What I suggest to improve PHP is to drop the
    corporate-butt-kissing attitude and get real. Zend is an
    amazing company, and they don’t actually need IBM,
    Yahoo, or other companies. These are great partnerships, but
    they’re not going to improve PHP.

    The barrier of entry for new PHP developers (core language
    ones) is high, it’s very difficult to get started and there’s
    no way you can get proper help. I followed up with mailing
    lists and many core developers turn a deaf ear to suggestions
    every now and then.

    Egoism doesn’t help the language either. I don’t remember
    exactly how the decisions were made to implement the new
    features in PHP5 but I would guess they were pushed by a few
    seniors rather than by the masses.

    There are a lot of things we can improve in PHP, but most of
    them are market-related. I need to gather up a few more
    thoughts before I make any more accusations.

  6. Ahhh,

    I see what you’re saying. Easier to ‘make stuff’. More of a
    RAD framework?

    When I look at it though… PHP needs to take more of the
    enterprise outlook. By that php needs to gain a reputation
    for being reliable, robust, and scalable.

    You’re very right in the fact that between php4 and php5 there
    is very little if anything that actually makes it easier to
    create a simple app for the beginner. But really php is easy
    enough already and maybe let CakePHP or other frameworks
    handle making it easier for the beginner/intermediate person.

    Getting IBM to jump onboard doesn’t make PHP any different to
    Joe Smith that has a site to show off his cat and uses
    php/mysql to process ‘Fluffy’s Blog’, but if you look at a
    company that wants to deploy a web based service that is
    scalable and cost effective, IBM’s support and other large
    organizations that partner with PHP might just be what
    instills confidence in PHP.

    In my opinion Celebrities don’t do anything to improve shoes,
    clothes, etc… but they sure sell the crap out of them.

    In my opinion (just my opinion) PHP is a great language, if
    you look to almost any source it is known as a really really
    simple language to dive into, and with the advent of PHP 5 it
    gives the more advanced developers the tools they want.

    In no way is this meant to be heated, I respect your opinions,
    however I feel php is on the right track for the most part…
    there probably are more things that would help out the
    language, but I use it and love it.

    -cheers

  7. Kevin. Ok, first, thanks a lot for your thoughtful comments.

    And you’re right, PHP is on the right track… for the most
    part. We’re just trying to please the enterprise
    instead of pleasing the geeks. I think starting at
    the very bottom is the right thing to do.

    Of course PHP is really easy as it is, we wouldn’t have seen
    loads of badly-written software otherwise. But I think if PHP
    was easy enough it wouldn’t have let Rails steal the lights.
    See where I’m getting?

    Rails came out of necessity. PEAR, Smarty and ZPF came due to
    formalization. Other examples, like CakePHP, are limited by
    the language itself and the domination of PEAR.

    Maybe I’m saying all this because I’ve been a Perl developer
    for the past ten years or so, and a PHP developer for only
    half of that. I think Perl’s success can be solely attributed
    to CPAN. They let developers do whatever they please and let
    the community choose a winner. Nothing was formal, except for
    a few guidelines.

    I think “Please the geeks” should be a big factor in PHP’s
    future developments. Sebastian’s
    leaving
    isn’t what I call “pleasing”, and that’s the tip
    of an ice berg.

    Like I said, PHP’s problems don’t lie in tools, libraries or
    third-party support, I think it’s more of a philosophy issue.

  8. Right on, I’m much greener to the arena as I’ve really only
    been deep into PHP and more skimmed other languages. I have
    no experience with CPAN, so all I’m used to is the php.net,
    pear and the other php sites.

    No doubt rails is gaining ground, but eventually if the
    community deems that they want a ‘rails for php’ type thing
    I’m sure it will happen, and it will be done well. Rails is
    taking off and gaining exponential growth… but when you
    start from basically none of the market share it’ll be easier
    to expand your market share 10, 100, 1000 fold very quickly.
    Is php really shrinking??? or are they just giving the new guy
    his time in the light? Creating a simple app very quickly is
    impressive and draws attention, but will it keep the attention
    of developers?

    You’ll notice most of my statements are questions… the
    reason being I’m not going to spend the time to look it up, if
    I can even look it up. Just my little devil’s advocate way of
    trying to get to the bottom of things.

    I should probably dive into rails just to see if this approach
    is really ‘better’ or just different in the way that I can
    produce a small app very quickly. Does it work well for large
    sites? Does it equal functionality that php offers?
    Probably, maybe, I honestly have no idea.

    If it does, and it is truly better (more functional, scalable,
    etc), I better jump on the boat right?

    Your point on please the geeks is very well taken. You do
    start at the ground up, and the geeks are the ones that push
    it foward. Obviously there are geeks in the enterprise….

    I apoligize if I didn’t exactly get the large picture of your
    article, but when I read things I sometimes get stuck on the
    things that interest me, or the things that I disagree with,
    or just other things I want to know more about.

    -Kevin Korb

  9. Nice to read such articles.

  10. aXdBfr Extremely easy by words but in reality�, a lot of things don`t correspond. Not everything is so rosy!

  11. Can I simply say what a relief to find somebody who really is aware of what theyre talking about on the internet. You undoubtedly know the way to convey a difficulty to mild and make it important. More individuals have to read this and perceive this facet of the story. I cant imagine youre not more widespread since you positively have the gift.

  12. I do like the way you have framed this specific challenge and it does give me personally some fodder for thought. However, through what precisely I have observed, I basically trust as the remarks stack on that people today stay on issue and not embark upon a tirade associated with some other news of the day. Anyway, thank you for this exceptional piece and although I can not really agree with this in totality, I value the perspective.

Trackbacks:

Other Entries

Tweets from