-
Website
http://blog.jeffhui.net/ -
Original page
http://blog.jeffhui.net/2009/04/why-google-app-engine-shouldnt-include-php/ -
Subscribe
All Comments -
Community
-
Top Commenters
-
hboon
1 comment · 3 points
-
Robert Wideman
1 comment · 1 points
-
jeffhui
23 comments · 2 points
-
skoop
1 comment · 1 points
-
mardix
1 comment · 1 points
-
-
Popular Threads
That's just patently false. PHP was far, far from the first. Perl was extremely popular for web apps (and still is, powering several high-scale sites today). C wasn't uncommon for a while either.
That said, I agree PHP sucks. ;-)
Probably the most outstanding feature of PHP VS other languages was it's that is defaulted to opening html text. Printing out html lines all day long isn't quite as fun :P
http://brian.brispace.net/2009/04/09/php-on-goo...
=)
Just wondering, do you happen to know how much perl is used at Google or Yahoo?
So, how would you feel then if Google would only support PHP. No MySQL and such. Just PHP. That would weed out the majority of those "beginners" and mean that only professional, skilled PHP developers would use GAE. Would you be fine with GAE supporting PHP if it was like that?
I am aware of the fact that many people think PHP is mostly crap because most PHP users are crap developers. And yes, it is partially true. But don't make "us" serious PHP developers suffer because of that. That is just plain stupid. There are serious PHP developers outthere, and also those who would like PHP support for GAE. Let us also use the power of GAE, please?
This worries me since the PHP feature request is a lot more popular that it really should be. The ticket issue is filled with users saying, "PHP is the most popular, so support it!" and "Google should add [insert php application here] support". Both are not good reasons to add support for PHP.
Oh, and I did mention that Google doesn't officially use PHP, which would require them to (a) hire someone who's passionate about PHP or (b) attempt to do it themselves. Programmer's enthusiasm for these major features is important. In addition, there isn't "the" PHP framework which Google could port to increase adoption, the variety of PHP frameworks are too numerous and splinter the fan base.
After that, what Google brings to the table doesn't seem completely breath taking. Especially since most other webhosts can service nearly all the PHP users just fine: from the extremely cheap, to the scalable cloud. PHP users already have that stuff.
You can also apparently get PHP to work under Java right now (see comment above). I'm not sure how good is it.
PHP was meant to be easy and fast. I will never say that PHP was safe, but it wasn't the concern from the beginning, but pains were growing as the web was getting more mature. And all those headaches and backaches have their medicines in PHP 5, PHP 6. Unless you are under a rock and keep ignoring all the efforts done by the PHP community to patch stuff up, make PHP5, PHP 6 soon, stop using PHP4 period.
PHP wasn't the first. Other people have mentioned of Perl, imo ASP was there too. Back to my first point PHP was meant to b easy and fast. We have the freedom to do whatever. It wasnt about writing beautiful codes, but codes that worked.
"The documentation lack good education"
Are you kidding me. What type of education you wanted, step-by-step one? Well if you are programing, some how you should have some type of common sense.
And before I go, PHP is awesome because it's awesome period. Easy to develop with no frameworks (hint hint: ROR), beautiful bundle with: Linux,Apache,MySQL. Large community for help. Thousands and thousands of code snippets. PHP is genial, PHP is the best. And your blog is running on WordPress.
P.S: ROR developers are Frameworkers. lol.
so. I intended to argue why PHP shouldn't be in GAE.
ASP was rather limited due to the enormous popularity of Apache & GNU Linux
over IIS & Windows.
"Are you kidding me. What type of education you wanted, step-by-step one?
Well if you are programing, some how you should have some type of common
sense."
Common sense if you've done programming before, but you can't assume
everyone is at the same level as you. There's also lack of official code
examples. Comments which provide code can be a hit-or-miss. Humans learn
best by copying & applying. Not by reading or listening.
Yes, I'm running Wordpress. I like the irony :)
- Jeff
Ruby, Python & Java are cater towards programmer productivity at the sacrifice of low-level capabilities.
And as far as usability is concerned, I don't even want to get started. PHP is THE easiest web scripting language. And I'm sure GAE will have more takers if its included.
If Google does deploy PHP, it'll be likely sandboxed like Python, but, as far as I know, no PHP sandboxing application exists. Python has pypy which can sandbox a python interpreter. Even if pypy didn't really exist, but Google has Guido, who is intimately knowledgeable about python (since he designed it).
I didn't say PHP was a hard language to use (why else did it become so popular?) I'm glad PHP is easy. After all, it's how I started learning programming. :)
Google also probably considers the profitability of supporting a new language. Besides the oversaturated PHP hosting market, I'm betting most PHP applications can run well below the free limits for most users. As much as free as Google is, the current economy has put Google is a "lockdown" state, attempting to cut back costs while generating more revenue from its products.
Just supporting the language syntax would be relatively easy, and thanks to Quercus and the JVM in general supporting the PHP base libraries is absolutely a breeze. Quite problematic is supporting al the various third party libraries and mods that have been implemented under the hood in C. These will simply not run on GAE for now, and quite certainly not in the future either.
No matter how you put it, the main attractiveness in PHP is for beginners. Yes, professionals can build beautiful things in PHP, but that's more by virtue of the intelligent mind of said professional and not perse a virtue of PHP itself. It's beginners who, I think, have a very hard time understanding why the script they copied from phpfreakz doesn't run on GAE. They won't understand that one 'half of PHP' (that's MySQL for them) doesn't work, while the other half of PHP (while loops etc) does work.
Of course, Java programmers too have to understand that GAE is not like the regular JDK they normally work with. As clearly reported everywhere, many standard Java things are not supported. Files, Timers, Session Beans, Managed Beans, Threads, probably JTA and transactions in general etc. All of this is missing from GAE. Somehow, it think Java programmers are more able to cope with this. Most of them are already uses to a number of more or less different Java environments like Java SE (commandline, Swing apps), Tomcat*, Java EE , Java ME, BD-J, Spring and also from Google: Android. Whereas most PHP programmers are just used to... LAMP.
(*)
Tomcat is of course officially a subset of Java EE, implementing the Servlet and JSP specs. It's so popular however that it by itself became a kind of distinctive Java execution environment.
- Quercus (google it)
- No need to wait for Yahoo, Microsoft Azure is adding support for PHP :)
spent implemented to get most of PHP's features (including MySQL) into GAE
since that are what most PHP developers are accustomed to. That requires
either a modified version of PHP or changes to the GAE server architecture.
If MySQL isn't supported (which I doubt), then most PHP users won't use it
which results in less possible profits.
Even if MySQL is supported, Google loses money for developers that host PHP
applications since PHP's low resource-consumption means less PHP developers
will actually need to pay for anything.
There are some large PHP-powered web services out there, but how many of
them are out there that don't utilize their own servers? Vimeo, Facebook,
Yahoo all run and maintain their own servers (I'm actually guessing for
Vimeo, but their domain points to their parent company's nameservers).
The only PHP application that *might not* be self hosted is Digg. That's the
only one I can grab off the top of my head.
- Jeff
Technology:
GAE doesn't need to support MySQL. There are plenty of alternative storage engines, like Redis that was specially engineered for the cloud.
Business:
Digg, Facebook? What the hell are you talking about mate?
I mentioned those companies since some commenters mentioned as if PHP scaling was an issue. Which is obviously not a problem since there are other PHP-powered companies scaling just fine on their own, without the need for cloud services.
I may be more close-minded than I like, but I'm not that close minded (at least I hope :P). I can't tell you about countless PHP users that are perplexed when MySQL doesn't work.
And in response to your reply below: I'm specifically talking about OFFICIAL support by Google. Most of those you've listed below are unofficially supported through Java. I prefer that over official support since official PHP support would trick many PHP users that MySQL (and all its MySQL functions in PHP) would function correctly, which obviously won't
What's funny is that you are always associating a databases with MySQL. I always thought flash designers didn't have a clue about databases, now I know it's true ;)
the world I hang around. :/
Then tell me, what's wrong with the current GAE setup using quercus? They're
familiar with Java and PHP so there shouldn't be much of an issue there.
I'm perfectly aware that there are plenty of other databases out there. But
the average PHP user only knows of MySQL, a new PHP user would probably
search for php database or something similar. All the results would return
topics on using PHP with MySQL.
If we're just checking on search terms let's see:
http://www.google.com/trends?q=php+mysql,+php+p...
<http://www.google.com/trends?q=php+mysql,+php+p...
don't know about you, but mysql seems pretty popular. But that's the
problem, too popular. Many PHP users have this blind side for any other
database out there.
Since your friends are familiar with Java (and more importantly other
databases), they don't fall under the typical PHP user.
My definition of "typical" PHP user also encompasses those that just deploy
PHP applications: drupal, wordpress, phpnuke, etc. they don't have much
intention to invest deeply into PHP, just to get their site up. And there
are plenty of those people.
Finally, I don't know where you came up of the idea that I was a flash
designer. I'm not.
- Jeff
Read before your post, although ignorance is a bliss ;)
That doesn't make any sense at all! Never mind that "C/C++" isn't a language: it's two very different languages separated by over a decade. The latter is called "C++" because it came after "C", which is called "C" because it came after "B", which in turn came after "BCPL", which came after "CPL". You've explicitly picked languages whose names tell you how they're descendants of other languages. :-)
I have yet to see nontrivial Lisp code with more grouping symbols than the corresponding C or C++ code, so I'll ignore the "parentheses" swipe, but Lisp machines are younger than C, and *commercial* Lisp machines are younger than C++. Not a competitor.
I could list languages older than C all day (Pascal, Algol, APL, Forth, Logo, BASIC, Prolog, ...). Would you take a cheap swipe at all of them, too? Some of them are really fantastic languages, with awesome features we still don't see in hot-shot languages like Ruby and Python.
And if you admit that C/C++ was merely "one of the first", then what about the ones that came before it? Is your winning strategy for language adoption to be "one of the first"? Is, say, 17th place the winning slot? :-)
If you've come up with a new theory as to why C and C++ are more popular than Lisp today, you should at least acknowledge Dr. Gabriel's "Lisp: Good News, Bad News, How to Win Big", and why your theory is different from what we've known and accepted for 20 years. Because the existing theory does pretty well for even newer languages, and yours seems to fumble over the details of even the older ones.
(That sounded way snarkier than I'd planned. Sorry. I agree with your premise that PHP is a poor fit for GAE. I guess it's just a pet peeve of mine, that people in computing know the history of their field less well than most other fields.)
popularity, rather than developers switching to completely different
language for an OO. Being C-compatible (which is a good & bad thing)
definitely helped its adoption by some C programmers.
But, I stand corrected. I'm definitely not well-informed on CS history.
Thanks :P
I probably should of said something else other than "first language" which
seems to draw lots of heat.
- Jeff
There you go ..... you just voted for PHP......
exclusively PHP. GAE doesn't officially (and shouldn't, in my opinion,)
support native PHP. There's little Google can do to stand out from other PHP
hosts.
- Jeff
Then I guess they should shut down their business for good!
example, 37signals says
no<http://gettingreal.37signals.com/ch05_Start_With_No.php>to plenty
of features. Are they out of business? Nope. Apple's iPod still
doesn't have a lot of features its competitors have. Does that make it a
failure? PHP support is a feature
loop<http://gettingreal.37signals.com/ch05_Hidden_Costs.php>;
after users have PHP, they'll want MySQL, php module *x*, etc.