【作者】Leonid Mamchenkov
【来源】 CSDN
PHP 应用的复杂程度越来越高,而 PHP 却因为不够漂亮而吸引和保留不了优秀的程序员。结果呢?越来越多的应用是那些不够水平的开发者写的。于是,PHP 也越来越难找到合格的开发者。
在过去的六个月甚至更长的时间里,我至少在为三家公司寻找 PHP 开发者。我和一些程序员聊过,收到了一些反馈,甚至还面试了几个人,但是我却从来没有推荐过任何人。
在我解释之前,先别抨击我的要求太高。我并不是在寻找火箭科研人员,也不是找同样高端的开发者,我甚至都不打算找一个高级的 PHP 开发者。只要有足够的水平来维护 CakePHP 和 WordPress 这两个项目的人就够了,更何况,它们还是开源的。
我理解并不是每个人都使用过 CakePHP 和 WordPress
来做开发。我也明白熟悉这些代码和通读相关文档都需要一些时间。更知道不是每个人都熟悉开源软件开发模型,不是每个人都在团队里工作过,所以,熟悉版本控
制软件,文档编辑工具和 bug 跟踪等等都不在要求范围之内。
但是我不明白的是,为什么那些自称使用 PHP 和 MySQL ,至少开发过两个 web
项目的人,却不能用纸笔写出最简单的代码?为什么有数年 PHP 开发和团队领导经验的“高级 web 工程师”,面对没有 Dreamweaver
的开发环境时却一无是处?那些至少拥有一个计算机科学学士学位的开发者,却还在崇尚冒泡排序法?为什么程序员不再回答技术问题,反而开始向潜在的雇主讲述
面试经历?为什么拥有数年团队合作经验的技术人员,在面试时哪怕是被问到最简单的技术问题,都会茫然不知所措?
如果你想知道上面这些问题的答案,这里正好有个例子。比如说,有个简单的问题:“stack (也称为 FILO ) 和 queue (也称为 pipe 或者 FIFO) 两者之间有什么不同?”答案就已经明显地隐藏在问题之中了,不是么?
这些自称有好几年开发工作和项目经验的应聘者,在面试时通常会遇到一些简单的程序问题。比如下面这个问题:
“使用 PHP
创建一个存储人物信息的列表,人物信息包括姓名、年龄和性别,向其中添加三个样本。然后按列表中的男性名字的字母序排出一个列表,如果不使用数据库会有额
外加分。”每个应聘者只有一张纸,一支笔,和无限制的答题时间。但是在这六个月里,我还从没看过有人能手写代码解决这些问题。
我们通过所有的招聘网站、报纸、各地社区和职业介绍所来寻找应聘者,结果却是无一成功。现在我们只需要三个人,但是在不久的将来空缺将更多。
这就像塞浦路斯 (地中海东部一岛国,人口约82万) 上的人力资源状况一样,需求大于供给,但是仍然无济于事。所以我也希望你们了解我的感受。
想讨论塞浦路斯这个在科技领域里又小又不注目的国家,你们还是得等一等吧。去年我去了希腊博主露营会,今年
我又去了阿姆斯特丹的下一代网络大会。在这两个大会上,我和来自欧洲和美国的朋友们都聊过。我也访问过各地的社区和招聘网站。我的感受是,这不仅仅是和塞
浦路斯所面临的问题一样。当然,因为其地理原因和科技水平地位,塞浦路斯的情况确实是比其他地区要严重一些。
现在,我仍然在花费大量的时间来寻找 PHP 开发者,但是同时我也在思考这个问题的根源。PHP 看起来是种很流行的语言,但是为会在寻找一个好的 PHP 开发者时会遇到这样的问题呢?我得出这样一种理论,也许称其为一系列的假设和推测比较好。
PHP 是丑陋的语言
我本人认识一些优秀的开发者,我也读过更多优秀开发者的博客文章。尽管他们常常使用 PHP ,有些还把
PHP 作为日常开发基础语言,但是我却从来不记得他们其中有任何人说过喜欢 PHP 语言。如果在新项目时有开发语言的选择的可能,他们会选择
Java,C,Python,Perl,Ruby on Rails,Haskell等等,但就是不会选择 PHP 。PHP
有它的优势,但是却不是一种漂亮和方便的开发语言。
PHP 是面向新手的语言
PHP 之所以如此流行,原因之一就是它是面向新手的语言,人们可以不需要任何编程基础就开始编写
PHP 应用程序。 大多数应用提供商会提供 PHP 开发程序给你,而这些程序每个月的激活费不过是少之又少。你可以在任何文本编辑器里写 PHP
程序,所以你也不需要高性能的机器或是昂贵的 IDE 。HPH.net
开发网站上有所有你所需要的开发文档和实例,所以你也不必在学校苦学,更不必和开发者网站签订使用协议。对编程新手来说,所有这些都是让 PHP
吸引力十足的原因。
PHP 回避了某些问题
大多数我认识的优秀程序都有一定的 PHP 水平,而那些差劲的程序也学习过一些
PHP。但是对于优秀程序员来说,PHP 既不是他们的所在领域的第一位语言,也不是他们的发展方向。而我所知道的大部分差劲程序员,却只了解 PHP
这一种语言,而且他们并不精通 PHP。所以,对于优秀程序员来说,学习和使用 PHP 不过是一时需求;而对于那些差劲者来说,使用 PHP
却是永久的习惯。
因为次要原因流行的 PHP
有很原因促成了 PHP 的流行:免费,开源,易于上手,等等。大多数应用提供商都提供可用的 PHP
开发包,而很多程序里就已经预置了 PHP 。而 PHP
本身最大的特点,比如执行速率,资源要求,开发速度等等,却和其他很多语言没有多大差别。PHP 不过是因为一些次要原因而流行起来罢了。
PHP 已经过时
PHP 起源于 Perl 中过时的 web 开发库,它已经发展和扩展成熟甚至过时,那些用 PHP
编写的项目也是如此。如果说以前大部分 PHP 项目做的是的最简单的事情,比如连接注册表单,访问者计算和一些模板,那么,现在这些 PHP
项目的处理能力已经在用户管理,金融操作,高实用性和平衡配置等需求上到达了瓶颈。
冲突
现在来说说 PHP 所面临的两难境地。PHP 应用的复杂程度越来越高,而 PHP
却因为不够漂亮而吸引和保留不了优秀的程序员。结果呢?越来越多的应用是那些不够水平的开发者写的。于是,PHP
也越来越难找到合格的开发者。(你自己的 PHP 项目也变得越来越复杂。)
问题?
我们怎样才能吸引优秀的开发者来做 PHP 开发?最大的原因就是不能找到合格的开发者,这个问题也困扰其他一些开发语言。其他的开发语言能解决这个问题吗?这个问题真的有解决之道吗?
出路
和别人一样,我也没有解决方法。但是,我却看好服务应用提供商,比如 Amazon 和 Google 。他们可能会在几个月甚至几年后才过时,但是到时又会有更多的服务商加入进来 (Yahoo,微软,或 IBM ?) 。
我认为提供应用服务的方式应该是这样的。首先,他们应该把程序员类为两类。第一类是新手程序员,他们既不知
道也没有多少资源可以调配,他们要通过服务商的提供来使用服务,数据库,函数库和编程界面。(当然,优秀程序员也可以使用这些,但是他们另有选择,而不像
新手一样。) 提供的应用服务应该会方便地解决他们所不了解的东西,并且可以随时随时帮助他们。特别是像 PHP
,已经这样做了数年了。而优秀程序员大多数都会参与到核心项目和专项开发中,他们则会需要更多的知识和经验。
【原文】Angelo’s Blog
1990年,万维网之父蒂姆•伯纳斯-李(Tim Berners-Lee)开发出了第一个网页浏览器ViolaWWW,随即很多出色的程序员加入了网页浏览器开发的行列。
终于在1993年1月,NCSA(National Center for Supercomputing
Applications,美国国家超级电脑应用中心)完成革命性的创新,在Unix平台上开发出了第一个图形化的网页浏览器Mosaic(Alpha
版),同年九月发布的1.0正式版实现了在Apple Macintosh和Microsoft
Windows平台上的运行,一时间Mosaic俨然成为
Web浏览器的标准。随后NCSA将Mosaic的商业运营权转售给了Spyglass公司,该公司又向包括微软公司在内的多家公司技术授权,允许其在
Mosaic的基础上开发自己的产品。
1994年Mosaic研发的核心成员马克•安德森(Marc
Andreessen)和几何图形发生器的发明人吉姆•克拉克(Jim.H.Clark)共同创立了Mosaic Communication
Corporation。同年11月为了避免与NCSA的法律纠葛,公司更名为Netscape Communication
Corporation即网景公司,并一直沿用。其中后者还先后创立了Silicon Graphics(视算)公司和Healtheon(永健)公司。
在二人领导下,公司合力进行超越以往浏览器的新一代浏览器的研发,试图打破Mosaic的垄断并取得业界的领导地位。所以对新浏览器名为
Netscape Navigator,即“导航者”。对内其1.0版本的研发代号则为Mozilla!Mozilla一词是由“Mosaic
Killa”(Mosaic杀手/终结者,Killa是俚语中Killer的拼法)和“Godzilla eat the
Mosaic”(Godzilla,即“哥斯拉”,日本遭受核打击和“第五福龙丸”事件后创造的经典虚拟生物)合成而来。即Mosaic+
Godzilla+Killa=Mozilla!读作[mәu’zilʌ]。网景公司员工也常将其称作Moz或Mozzie。
起初,网景公司尝试了很多图标。最后考虑到哥斯拉是一只由遭到核辐射的蜥蜴演化而成的怪兽,最终决定采用一只会喷火的绿色蜥蜴造型。并由其员工戴夫
•泰特 斯(Dave
Titus)于1994年设计完成。在1995年网景浏览器1.1版中,网景公司开发人员首先在浏览器内加入了启示文学《Mozilla之书》(《The
Book of
Mozilla》)!这并不是一本真的书,只要你在地址栏中键入about:mozilla便可以看到书中的“节录”(至今依旧如此,随版本不同内容亦不
同)。在这个首次出现被称为“12:10”(12:10这个章节编号实际上是指日期,即12月10日)的章节中,出现了一只野兽(“beast”,这也是
全书的主体),显然此时Mozilla已经被定位为一只野兽了。
在当时的环境下,网景浏览器的推出无疑是革命性的。如果说Mosaic是互联网热潮的燃点,那么NN(Netscape
Navigator的官方简称)无疑是当时以至导致后来.COM热潮的最大的催化剂。自1.0的发行版推出,NN便迅速的占领了市场,并且成功取代
Mosaic成为新的Web标准。曾一度达到了超过90%的统治级市场占有率,并且一直保持这个占有率到1996年初,是其有力证据。
1995年,微软在取得NCSA授权后开发出了自己的第一代浏览器Internet Explorer 1.0(官方简称IE),并于同年8月开始在其新版32位操作系统Windows 95中搭售。目前普遍把这一时间看作是第一次浏览器大战的起点。
但是随后NN依旧保持着绝对垄断的市场占有率,故而“Mozilla”成为了几乎所有浏览器向Web浏览器发送的标识验证字符串。在网景公司的竞争
者中最
先采用这一办法的是微软公司,其IE验证字符串为Mozilla/<Mozilla版本号>(compatible;MSIE<
MSIE版本号>)。直到1997年10月微软推出IE4.0版本的时候NN依然拥有72%的市场份额!
伴随着Windows 98系统的发售以及微软与ISP以及主机厂商的合作;可以加入IE专属标签的FrontPage软件的普及;对CSS的抢先支持;以及网景公司的错误决策。NN逐渐败下阵来。
为了扭转颓势,1998年2月23日。网景公司内部成立Mozilla组织(Mozilla.org),该组织独立运作来负责Mozilla
Application Suite的研发。Mozilla Application Suite(简称Mozilla
Suite)是一套自由的、跨平台的因特网应用套装软件,它的组件包括Navigator(网页浏览器)、Mail &
Newsgroups(电子邮件客户端)和Composer(HTML编辑器)。3月31日,网景决定依托NPL(Netscape Public
License,网景公共许可证)开放NN的源代码,意图在于吸引来大量的开发者完善软件。这一时期网景放弃了绿色蜥蜴的造型,开始使用一只凶猛的、线条
粗犷的、红色的、类似霸王龙的形象。在后来看到的《Mozilla之书》“3:31”章节中明显可以看出反攻的意图。并且使用了“玛门(Mammon)”
这一闪米特族语汇,用其贪婪和财富的内涵来隐喻微软。10月网景决定将Mozilla的源代码全部改写。
然而这些努力还是没有能够扭转颓势,终于在1998年11月24日,AOL(American On
Line,美国在线)以42亿美元免税换股的方式收购了网景。其后Mozilla组织在AOL的资助下继续进行研发,期间IE夺取了浏览器市场的统治地
位,并于2002年达到96%的峰值。而Mozilla组织则接手了网景过去的很多事务,但是很多Mozilla的核心成员对成果并不很满意,他们把这归
结为受到投资方(AOL)的需求所累。
2002年6月5日,Mozilla推出了Mozilla Suite的1.0版本。由于Mozilla
Suite主要是针对软件开发者而不是消费者,所以他们将每次的发行版本定名为milestone
release(里程碑版),在每个版本为期4个月的研发周期里,第一个5周释放Alpha版(不稳定版,内测);第二个5周释放Beta版(较稳定版,
公测);最后几周发布正式版,期间还有可能发布RC版(release
candidate,候选版)。在最后的几周中,程序的主体将用于下一版本的研发,分支将继续作稳定性适应改写。最后发行版的完成度和稳定性完全由这4个
月以及其中开发周期中程序员的完成度来决定。
2003年5月,著名的AOL诉微软垄断案达成和解。作为让步,AOL同意解散网景并中止其下业务。同年7月15日(AOL关停网景全部业务当
日), Mozilla组织在得到了来自AOL的200万美元和米切•卡普尔(Mitch
Kapor,Lotus创始人)30万美元资助后,正式注册成为了非牟利机构。并正式更名为Mozilla基金会(Mozilla
Foundation,简称MF或MoFo),并注册Mozilla为期商标。标识为恐龙形态的Mozilla头部(右)半面相。该基金会主体拥有免税资
格。其成立目的在于保证Mozilla计划在没有网景之后可以继续下去。早在同年3月Mozilla组织就决定放弃冗杂的业务,把精力投入到其旗下的两个
旗舰产品Firefox和Thunderbird中。在9月释出的《Mozilla之书》“7:15”章节中,描述了巨鸟用火(Fire)与雷
(Thunder)驱散玛门信徒,令野兽重生的场景。此时Firefox还在使用其第二个名字“Firebird”,所以章节中只出现了巨鸟(great
bird)这一个意象。
Mozilla组织在释出Mozilla Suite1.1版本之后,便放弃了NPL(Netscape Public
License,网景公共许可证)转而采用MPL(Mozilla Public
License,Mozilla公共许可证)其二者都类似于GPL(GNU General Public
License,GNU通用公共许可证),但是都保留了部分不可更改的权利。当自由软件基金会(Free Software
Foundation,FSF,GNU计划和GPL协议的官方机构)发现了GPL与NPL以及MPL的不兼容的事实之后便像会员建议不要采用
Mozilla系产品。故而Mozilla组织/基金会在2003年逐步对下属全部产品源代码进行了向GPL的过渡。
2004年,Mozilla基金会专注于Firefox和Thunder的开发。使其逐步成为一种界面友好的消费软件。4月Mozilla基金会协
同 Opera Software(Opera是其旗下浏览器品牌)以及Apple
公司(Safari是其旗下浏览器品牌)共同成立WHATWG(Web Hypertext Application Technology
Working Group)工作组,致力于开发和制定新的Web标准。并且提交W3C(World Wide Web
Consortium,万维网联盟,又称W3C理事会)审核。
2005年8月3日Mozilla基金成立了完全所有的应税牟利子公司Mozilla公司。其公司初始运营资金来自Mozilla基金,其成立目的
在于推
广Firefox和Thunderbird。11月29日,在三个RC版之后Mozilla终于发布了后来广受好评的Firefox1.5正式版。由于安
全问题等多方面原因导致IE的市场占有率再次下跌至85%左右,这一时间的回落主要源于Firefox的攻击。
在2006年Mozilla基金会加强了与非本土的爱好者以及那些对Mozilla文化的认同者的联系以扩大市场。研发周期不断缩短,基本每月都有
新版本 释出。2006年10月底微软和Mozilla同时释放出IE7以及Mozilla
Firefox2.0的正式版本。虽然在短时间之内IE7的下载量就突破了百万,但是却不能挽救其市场占有率持续下降的势头。Mozilla
Firefox和Opera成为其主要竞争对手,另外Safari也保有了一定的市场份额,在这一时期Firefox的市场份额一直稳定的保持在10%以
上。Firefox2.0和IE7的同时释出被很多人看作是浏览器第二次大战的开端。Mozilla公司在2005年底开始的与Google合作计划也顺
利的进行着,06年上半年正式推出了带有Google工具条的Firefox正式版本,伴随Google推广攻势的展开取得了显著的效果。但是
Mozilla公司一直没有公开06年的收益,年初计划启动的时候曾有媒体报道这一做法为Mozilla带来了7200万美元的收入。Mozilla的首
席执行官米切尔•贝克(Mitchell Baker)则表示说这数字不确切,但是相差不多。
进入2007年,Mozilla似乎已经安定了下来。不想过去那么复杂多变,而是基本以一个商标或者品牌的形象出现(虽然大家还是习惯说只用
Mozilla描述基金会和公司)。5月30日,Mozilla放出了Firefox1.5的最后一版(1.5.0.12),并且公布在07年的第三季度
放出3.0的正式版。前两个季度Mozilla旗下的Firefox和Thunderbird都在保持持续的增长,不仅在欧洲市场发展稳定而且在亚洲市场
也开始被认同。6月下旬Mozilla基金会决定在中国大陆投资成立子公司谋智网络公司(谋智,Mozilla的音译),由前微软Windows
Live中国区总经理宫力出任董事长兼CEO。并于7月正式挂牌营业。
至此,Mozilla的历史还在延续……