Professional PHP

PHP Programming, Web Development, PHP Advocacy and PHP Best Practices.
« Extreme Simplicity
php|architect Test Pattern »

James Gosling on PHP

March 11th, 2006

James Gosling, the “father of Java,” recently commented on PHP:

“PHP and Ruby are perfectly fine systems,” he continued, “but they are scripting languages and get their power through specialization: they just generate web pages. But none of them attempt any serious breadth in the application domain and they both have really serious scaling and performance problems.”
…
PHP (for example) is able to make things simpler because it’s 100% aimed at web pages, Gosling explained. Whereas with Java, he said, “We have a balancing act: we need the simplicity but we also need power.”

The headline here should be “Father of Java says writing web applications in PHP is simpler.” This is pretty much what I said in my Comparing PHP with other languages post:

Why is Java considered so complicated? One reason is that it is designed to run on everything from servers to cell phones, from desktops to dishwashers. It’s scope is impossibly general. Of course, specialized tools such as Rails and PHP are more productive for their sweet spot applications.

Both .NET and Java have this be all things to everyone mentality. If you need that generalization, fine, but generalization is not without cost as Gosling points out.

He called Simplicity and Power “evil twin brothers” – “Building systems that have a lot of power just attract complexity. Because of the way that the world has become so interconnected it helps to have systems where it carries over from one domain to another. You can do web presnentation stuff really well in PHP but you couldn’t write a library that does, say, interplanetary navigation.

So, if you are writing software for interplanetary navigations, by all means, choose Java. If you just want to write really good web applications quickly, choose PHP.

Regarding the scalability and performance characterization. I’m so tired of that. PHP performs and scales just fine for many people. Flickr makes an interesting case study of PHP scaling:

  • Scaling fast and cheap – how we built flickr
  • Hardware Layouts for LAMP Installations
  • Open source helps Flickr share photos
  • flickr and PHP

Filed Under

  • PHP

Related Posts

  • No related posts
Both comments and pings are currently closed.

7 Responses to “James Gosling on PHP”

  1. DerelictMan says:
    3/11/2006 at 10:08 am

    “Regarding the scalability and performance characterization. I’m so tired of that. PHP performs and scales just fine for many people.”

    How do you know that Gosling was talking about web apps? It’s not possible to determine that from the article. He said:

    “But none of them attempt any serious breadth in the application domain and they both have really serious scaling and performance problems.”

    Since that was paired with a statement about Ruby and PHP lacking breadth, maybe he meant that they have scaling/performance problems in certain domains, not necessarily web apps. Surely you’ll agree there are some areas (desktop GUI applications, long-running system daemons, etc.) where PHP *would* have scaling/performance problems and Java would not? Perhaps that was what Gosling was referring to; who knows? This seems to be supported by his other statement:

    “You can do web presentation stuff really well in PHP…”

    so I think it’s likely that he didn’t mean web apps when he said that PHP has “serious scaling and performance problems”. Just my interpretation…

  2. Harry Fuecks says:
    3/11/2006 at 2:05 pm

    Realise the scaling thing is tiring but it’s also interesting.

    There’s some excellent stuff about Wikipedia’s architecture floating around as well. There was a bunch of fascinating talks at some wiki conference in Berlin, if I remember right (lost the link) – some detail on the architecture and some fascinating insights like how the need to “diff” word by word, not line by line.

    A quote from a fairly lightweight article here: http://www.wired.com/news/culture/0,1284,66210,00.html

    “One of the mysteries of scale is that there’s no such thing as scaling well,” said Clay Shirky, who writes about culture, media and technology. “You can make something 100 times bigger, and if it works, you think you’ve got it licked. But the next power of 10 can kill it. So I don’t know whether or not openness and co-creation are incompatible at Wikipedia scale.”

    So that’s the opinion of someone who has scaled.

    In fact I wonder if PHP (and MySQL, Apache, Squid and everything else involved) needs to bang the wikipedia drum more often. I love to hear more from those involved.

    When you look at alexa’s top500, Wikipedia is number 19;

    http://www.alexa.com/site/ds/top_sites?ts_mode=global&lang=none

    Now looking at the sites ranked higher, only myspace.com (coldfusion?!?) and ebay (claims to have “gone J2EE” but still much C++ around) might be considered “many-to-many”: sites which are having to cope with lots of reads and writes. The rest are effectively read only : updates are restricted to the few. What would be a really interesting statistic is the number of GET vs. POST requests these sites are having to handle.

    The point is I think wikipedia certainly has unique scaling requirements and perhaps the most challenging – no one really has an architecture on their drawing board to handle this (no matter how much they get paid to invent ones). So far the LAMP stack has worked well for wikipedia. Or as a snide turn around – have Java ever scaled to anything like this?

    Also wonder if Java really would be a good choice for interplanetary navigation – at least if writing such systems ever became close to mainstream – strikes me you’d want a language specialized to that task such as data structures that makes it easy to work with 3d + time. Also a long might need to be very very very long – perhaps longer than what Java offers right now? And what about relativistic data types ;)

  3. links for 2006-10-19 « dEOS says:
    10/19/2006 at 4:19 pm

    [...] James Gosling on PHP – Professional PHP (tags: php scaling programming) [...]

  4. hospital hershey pa says:
    11/10/2011 at 5:11 pm

    You definitely know how to bring an issue to light and make it important. I cant believe youre not more popular because you definitely have the gift.

  5. Francisco Dockery says:
    1/10/2012 at 5:17 am

    Hi, I’m just trying to get a pdf in the browser but I’m getting a blank response.

  6. Rosann Nevares says:
    1/10/2012 at 8:02 am

    10 Google Products That Failed to Live Up to Expectations

  7. go learn web98. says:
    3/13/2012 at 8:13 am

    [...]The information mentioned in the article are some of the best available [...]……

    [...]The information mentioned in the article are some of the greatest available [...]……

    Subscribe Feed
    Share Subscribe to this blog…
    Share Bookmark or share this page…
  • About

    My name is Jeff Moore. I'm a PHP programmer living in San Francico and working for a startup.

    More about me…

  • Categories (Home)

    • Agile Methods (14)
    • Mac (14)
    • Misc (18)
    • Open Source (14)
    • PHP (99)
    • Software Design (29)
    • Usability (14)
    • Web Design (20)
  • Recent Comments

    • rsync to remote server via ssh  37
      Petr Halounek, Penni Tomasino, Rodney Kohnen [...]
    • WordPress BBCode Plugin  30
      wepniveth, Pamella Philipps, evakuat [...]
    • PEAR Templates  18
      Sang Bellotti, Kandice Sansing, car insurance estimates for teenagers [...]
    • Extreme Simplicity  15
      Gilbert Moatz, Roni Beauregard, Barb Geyer [...]
    • Manual Memory Management is Dead  6
      Grass Fed Filet Mignon, Kellie Carello, PAPANDOR [...]
    • Friendster wrapup: does MySQL scale  38
      Ollie Joya, nfl jersey on sale, selling scrap gold [...]
    • The Coding Apprentice  51
      fkawau, Annamae Mccane, Boca Raton Personal Injury [...]
    • The Legality of Republishing RSS Feeds  30
      dasfdsfsd, reebok authentic nfl jersey, Tory Rennemeyer [...]
    • Exceptional PHP  7
      Sports, The Click, Laraine Waterhouse [...]
    • PDO versus MDB2  42
      selling silver coins, Oliver Luongo, ddkoaorpa [...]
  • Recent Posts

    • Richard Thomas
    • ZendCon: Writing Maintainable PHP Code
    • Looking Towards the Cloud
    • Holiday Tech Support
    • Closures are coming to PHP
    • php | tek Wrapup
    • php | tek 2008
    • Sarah Snow Stever
    • Benchmarking PHP’s Magic Methods
    • The Endpoints of the Scale of Stupidity on Video
  • Site

    • Archives
    • Log in
  • Search