Why Google App Engine Shouldn’t Include PHP
I've recently been increasing my interest in Google App Engine (GAE) for some upcoming projects I have in mind. The top feature request is to add PHP support. This is definitely a mistake for Google to adopt this.
Sure, PHP may be "the most popular language for the web". But that's mostly because of being the best first. Being one of the earliest languages for the web, it grew with no major competition. When there's no other better choice, it obviously grows rapidly.
Guess why C/C++ is the most popular language in the world today? It's because it was one of the first languages. Ruby, Python, Java, weren't around then. Fortran was getting outdated and no one wanted to write a bunch of parenthesis on dedicated LISP machines.
The web hosting market is already saturated with plenty of decent PHP web hosts. It is trivial to deploy PHP servers and decently fast in comparison to other languages. Linux distributions allow integration with apache easily with provided packages (apt-get install apache2 mysql php and you're set).
The primary advantage GAE provides is the scalability, but there are plenty of PHP sites that scale just fine. There are few large-scale PHP web applications all run on their own cloud-like server systems (Facebook, Yahoo, etc.). Even if you're an extremely popular php-powered application, simply switching to AWS wouldn't be as much hassle as ruby or python due to php's ease of setup.
Since Google isn't a PHP shop, it's less likely the PHP features will be well supported as opposed to Ruby or Java. Just because customers want it doesn't mean they should support it. Enthusiasm towards that particular feature is important. But that isn't the whole problem. Try checking out your closest Microsoft product.
It's an assumption by non-PHP programmers that PHP developers are beginners. While I'll agree not all PHP developers are beginners, having an expert language designer at the helm of your language of choice definitely helps. Making some mistakes when designing your language is acceptable, but PHP has plenty of left-overs from its earlier venerable days. Features such as PHP's safe_mode are just hacks for bigger security problems which were attempted to be addressed.
You may not think about it much, but in a way, It's like a credit score: would you want to use a language that has a large history of security flaws? I'd like to know the features I investigate have security in-mind, or at least adequate documentation about possible security implications. For example, there's no mention of possible SQL injection in the documentation for mysqli::query.
(digression)
This is part of a larger problem of PHP, the documentation lacks good education for its users. And like school systems, better education correlates to smarter students. The thought that most PHP programmers are beginners isn't an accident, it's intertwined with the language's less than ideal documentation.
(/digression)
More effort is required to support these beginners. And for any company, this results in costlier maintenance. Both in consumer support and security standpoint. If your users are less aware of security, your systems are more likely to be exploited. Better hope you sandboxed all the loopholes.
Adding PHP is also has numerous hidden costs. Besides PHP support, most PHP users would want mod_rewrite, MySQL, safe_mode off (although this will be permanent in PHP6), etc.. PHP is like the gateway drug to more feature requests that cater only to PHP. And having MySQL would greatly alter the current nature of GAE's underlying systems, including BigTable, Google's own database system designed for scalability.
After you have the entire suite of software to get PHP running like most PHP developers prefer, what makes Google much different from other cloud based solutions (other than a great deal for developers and a pain for Google sys admins, but all companies need to be profitable)?
Just seeing the ticket comments, it's evident a decent amount of PHP developers also want MySQL support too. It's because many PHP applications are already so dependent on PHP. Even the very popular wordpress only supports MySQL.
I'm guessing here, but most PHP users just simply deploy PHP-powered applications, not actually write their own from scratch. Recently, I've only use PHP for two things: small, quick projects and using/tweaking someone else's code. Nearly all of existing PHP code assumes you're on the LAMP architecture, and guess what PHP users want for GAE to support?
---
I don't mind PHP as a language. It has a place it the web world, but PHP doesn't fit in Google App Engine. Even if PHP is supported, most of the popular PHP applications won't work. If you just simply like to write in PHP, I don't have much against you for wanting GAE to support PHP.
If you're disappointed about that, don't worry, there are tons of alternatives available, Google isn't the end-all solution to hosting. You could always ask Yahoo! to open up their servers to the public, at least they're PHP shop
-
Google Secret Loophole
-
thatonedude
-
thatonedude
-
Bruno Cassol
-
Richard
-
jeffhui
-
udkl
-
jeffhui
-
Last Post!
-
jeffhui
-
Goutam Dey
-
jeffhui
-
Nat
-
Nat
-
jeffhui
-
Nat
-
jeffhui
-
Federico
-
Robert
-
alex
-
AkitaOnRails
-
henk
-
Srinath
-
jeffhui
-
rakesh juyal
-
jeffhui
-
mardix
-
jeffhui
-
skoop
-
jeffhui
-
BradMc
-
jeffhui
-
Reilly
-
Bill
-
jeffhui
-
Aman
-
Drew
-
jeffhui