Azure拥抱PHP是好是坏?从另一个角度看微软开源策略

原创
开发 后端
微软在Azure云上开始正式支持PHP。事实上,微软的Windows平台对于PHP也一直有良好的支持。对于PHP开发者而言这是值得高兴的,但也有不买账的开发者。本文作者就Azure和Google的App Engine做对比,认为微软在Azure上支持PHP是不智之举,但也认同此举为Azure吸引了大量的开发人员。

【51CTO快译】本文是发表在The Register上的一篇评论文,文章作者对于近日微软Azure云在支持PHP方面的动向表示不置可否,认为这是“通过支持互用性和标准来获得更多人气”。无论作者最终观点如何,在51CTO编者看来,微软对PHP的支持,以及近年来微软开始拥抱开源的举动,在PHP开发者和开源社区中还是得到了很多好评。这样的努力即使付出了一些代价,也绝对是有价值的。

以下是译文:

在微软的Web应用程序托管环境Windows Azure里,将要发生可怕的事情。微软总部RedmondSlugworth,不顾一切想要赶上Mountain View的巧克力工厂,推出了在他们web应用平台上的PHP。微软的Windows AzureGoogle App Engine的竞争对手,并试图通过支持互用性和标准来获得更多人气。

APP EngineWindows Azure都以向开发人员承诺自动可扩展性为荣,就如同在19纪初的美国,一个带着草帽的旅行商,穿着红白细条纹相间的西装,和身材矮小的助手一起自夸他们的含有秘密配方的补品能够治愈你所有痛苦。  

朋友,我有一个提供给您的正确的行动步骤。您对于可扩展性有什么疑问吗?您是否对于规格化数据模式来优化热点访问路径有些无能为力?您是否写了个N方循环的程序,同时抱怨在你的运行环境上的执行速度奇慢无比?那么,一步一步来,因为我已经为您想好了解决方案。  

那些巧舌如簧的人的危险就是,他们可以让一个很差劲的程序员认为自己是优秀的。谷歌做了足够的工作,通过对JavaPython限制APP Engine来把麻烦置之事外。现在你会说,这让Java开发人员怎么办,但是当APP Engine首次带着对Python的支持现身时,他们就立即明确表示,你应该对这个表示敬畏。(51CTO编者注:Google App Engine是Google的云平台,于2008年4月初推出,一开始只支持Python;在2009年4月初的一周年之际,App Engine推出了对Java系列语言的支持。)

针对这一点,似乎微软正在采取我喜欢称之为的小人物同盟战略:每个人都是赢家,甚至是一个被直线球正中脸部的孩子,直到本赛季结束只能坐在板凳上等待,听着大人们鼓励他说,这看起来并不那么糟糕。  

那么,请允许我向您介绍专业的PHP程序员。你看,PHP就是像一把手枪。就其本身而言,它只是一个没有生命的工具,没有道德倾向。如果被握在一个有责任感的公民手中,它就可以用来造福社会。但如果被握在没有受过训练或精神不稳定的人手中,它就可能会引起令人发指的罪行。  

每当有这样的悲剧发生,其他开发人员就会迅速责备PHP。如果PHP是非法的,那么Yahoo!将永远不会出现。如果我们对PHP严格管制,那么将不会有Digg 。现在说“如果没有PHP,世界将更美好”是不公平的。但社会当然可以尽可能少地鼓励它,这就是为什么AzurePHP的支持让我感到很苦恼。 

PHP的伟大贡献是,它能够让经验不足的程序员快速解决小问题,这对于那些本职不是做web应用的人来说是很棒的一件事。但是,当微软开始告诉人们可以不必担心可扩展性时,就导致了一个潜在完全失败的产生。  

这将发生在当微软和一组PHP开发人员都认为他们正处于通向胜利的轨道上时,但开发人员们是生于一个社会网络、一个Twitter克隆、或另一个内容管理系统的时代。PHP开发人员失败了,因为他们是PHP开发人员。微软失败了,因为他们扮演了肆无忌惮的商人,把PHP提供给了那些可能无权使用它的人。然而他们都没有意识到自己的失败,这意味着他们是一败到底了。(也有开发者对此持完全相反的观点。比如本月初51CTO发表的开发老手谈Windows平台的PHP应用开发一文中,那篇文章的作者就认为微软拥抱PHP是一个明智的决定。)

整个闹剧中最奇怪的一部分是,微软正在热身开源领域。他们为Azure平台提供FastCGI这意味着他们正在建立对大量不同的语言的支持。如果你曾经不得不在Windows上建立PythonC扩展,那么现在你可以和我一起感到满意,因为微软的一些人将要解决这个问题。让我们称之为Internet Explorer 6的补偿。  

相关介绍:

FastCGI是语言无关的、可伸缩架构的CGI开放扩展,其主要行为是将CGI解释器进程保持在内存中并因此获得较高的性能。众所周知,CGI解释器的反复加载是CGI性能低下的主要原因,如果CGI解释器保持在内存中并接受FastCGI进程管理器调度,则可以提供良好的性能、伸缩性、Fail-Over特性等等。

FastCGI的官方站点:http://www.fastcgi.com

无论如何,如果你考虑Azure上的FastCGI它并不是太远的飞跃。毕竟,这是一个不必要的协议,可以很容易就被持久HTTP连接所取代,并要求程序员围绕其模型进行编码。所以我很高兴看到他们没有重蹈覆辙。  

更能体现微软作风的是,对于FastCGIPHP支持完全就是一个自导自演的喜剧。FastCGI需要你在一个连接接受循环内部编写网站处理代码,使得任何资源的初始化只有一次机会。显然这对于专业PHP人员来说是很难的,所以FastCGI只有不断保持解释器的运行,让你不必在每有一个Web请求时就执行它  

如果你不是Web开发人员,这就有点像试图想用来复枪杀死一个人,却用枪捶打他的脚,希望这个武器钝性的末端能够打破皮肤,然后受害人会死于感染,因为他处于如此偏远的地方,没办法获得抗生素。  

微软已经认识到开源世界中质量的灾难,并接受了它。这是一种病态扭曲的协作,但至少这是一个开端。  

对于Google,这是一个有趣的冒犯,Google迄今只是支持开发基于APP Engine编程语言。就像一个英国人与美国人的辩论,Google正试图保持较高水平和圆滑的论述。我们美国的微软,在另一方面,刚刚嘲笑英国人“您怎么没词儿了”  。

但是不管喜欢还是不喜欢,支持PHP确实吸引了大量的开发人员。

原文:Microsoft arms half-wit developers with PHP handgun

作者:Ted Dziuba

【编辑推荐】

  1. 微软发布ASP.NET MVC源代码
  2. 微软公布CCI工具源代码 并加入微软开源许可
  3. 开发老手谈Windows平台的PHP应用开发
责任编辑:yangsai 来源: 51CTO.com
相关推荐

2011-09-30 09:51:04

VXLANLAN虚拟网

2016-09-23 18:40:42

微软开源代码开源社区

2020-09-29 15:42:49

量子芯片网络

2021-05-29 07:13:26

微软Nobelium网络攻击

2011-12-19 10:43:47

Azure微软云计算

2016-12-26 15:23:21

戴尔

2018-01-22 12:17:57

戴尔商用笔记本

2015-11-09 14:04:28

2015-01-23 13:28:11

OfficeWindows Pho

2014-11-04 11:14:25

AzureDocker

2012-01-12 10:09:55

Elementary 思路

2017-12-12 20:25:53

微软win 10Edge

2010-07-16 09:00:20

开源RedOffice红旗2000

2018-09-14 08:50:58

2011-03-28 14:02:07

MirahJava对手

2021-12-14 17:19:15

存储数据

2024-01-15 00:35:23

JavaScript框架HTML

2017-12-21 10:57:09

云服务云计算碎片化

2022-01-28 09:03:35

PyechartsPython可视化

2018-12-05 09:00:46

DevOps持续交付持续集成
点赞
收藏

51CTO技术栈公众号