在微软的Web应用程序托管环境Windows Azure里,将要发生可怕的事情。微软总部Redmond的Slugworth推出了在他们web应用平台上的PHP支持。微软的Windows Azure是Google App Engine的竞争对手,并试图通过支持互用性和标准来获得更多人气。
APP Engine和Windows Azure都以向开发人员承诺自动可扩展性为荣,就如同在19世纪初的美国,一个带着草帽的旅行商,穿着红白细条纹相间的西装,和身材矮小的助手一起自夸他们的含有秘密配方的补品能够治愈你所有痛苦。
朋友,我有一个提供给您的正确的行动步骤。您对于可扩展性有什么疑问吗?您是否对于规格化数据模式来优化热点访问路径有些无能为力?您是否写了个N方循环的程序,同时抱怨在你的运行环境上的执行速度奇慢无比?那么,一步一步来,因为我已经为您想好了解决方案。
那些巧舌如簧的人的危险就是,他们可以让一个很差劲的程序员认为自己是优秀的。谷歌做了足够的工作,通过对Java或Python限制APP Engine来把麻烦置之事外。现在你会说,这让Java开发人员怎么办,但是当APP Engine首次带着对Python的支持现身时,他们就立即明确表示,你应该对这个表示敬畏。
针对这一点,似乎微软正在采取我喜欢称之为的小人物同盟战略:每个人都是赢家,甚至是一个被直线球正中脸部的孩子,直到本赛季结束只能坐在板凳上等待,听着大人们鼓励他说,这看起来并不那么糟糕。
那么,请允许我向您介绍专业的PHP程序员。你看,PHP就是像一把手枪。就其本身而言,它只是一个没有生命的工具,没有道德倾向。如果被握在一个有责任感的公民手中,它就可以用来造福社会。但如果被握在没有受过训练或精神不稳定的人手中,它就可能会引起令人发指的罪行。
每当有这样的悲剧发生,其他开发人员就会迅速责备PHP。如果PHP是非法的,那么Yahoo!将永远不会出现。如果我们对PHP严格管制,那么将不会有Digg 。现在说"如果没有PHP,世界将更美好"是不公平的。但社会当然可以尽可能少地鼓励它,这就是为什么Azure对PHP的支持让我感到很苦恼。
PHP的伟大贡献是,它能够让经验不足的程序员快速解决小问题,这对于那些本职不是做web应用的人来说是很棒的一件事。但是,当微软开始告诉人们可以不必担心可扩展性时,就导致了一个潜在完全失败的产生。
这将发生在当微软和一组PHP开发人员都认为他们正处于通向胜利的轨道上时,但开发人员们是生于一个社会网络、一个Twitter克隆、或另一个内容管理系统的时代。PHP开发人员失败了,因为他们是PHP开发人员。微软失败了,因为他们扮演了肆无忌惮的商人,把PHP提供给了那些可能无权使用它的人。然而他们都没有意识到自己的失败,这意味着他们是一败到底了。
然而,微软正在热身开源领域。他们为Azure平台提供FastCGI,这意味着他们正在建立对大量不同的语言的支持。如果你曾经不得不在Windows上建立Python的C扩展,那么现在你可以和我一起感到满意,因为微软的一些人将要解决这个问题。让我们称之为Internet Explorer 6的补偿。