51CTO观察:PHP星星之火可燎原

开发 前端 后端
2013年7月9日,Tiobe语言社区发布的新一期编程语言排行榜上,php位居第五,上升势头迅猛。不得不说,PHP正在崛起,这一点毫无疑问。正如Red Hat推动了Linux的发展,Zend也正努力将PHP带入黄金时代 。

2013年7月9日,Tiobe语言社区发布的新一期编程语言排行榜上,php位居第五,上升势头迅猛。不得不说,PHP正在崛起,这一点毫无疑问。正如Red Hat推动了Linux的发展,Zend也正努力将PHP带入黄金时代 。

php:星火燎原之势力

雅虎是PHP语言最早的使用者之一,随着雅虎的兴起,大量的站点开始学习雅虎背后的语言—PHP。此时,软件开始从传统模式向基于Web模式转变,几大势力一一长成:Linux操作系统、Apache网络服务器、MySQL服务器,以及以PHP语言为代表的“P”族语言(PHP、Perl、 Python)。而在前不久,因为收到开发者很多添加PHP支持的请求,谷歌宣布 Google App Engine 开始支计算机语言PHP ,让用户可以在上面运行以WordPress为平台的博客,大公司也可以依赖这项服务运行他们企业级的“大数据”。面对记者,PHP之父安迪·古特曼斯说出了看似高傲却信服话:“谷歌支持PHP一点都不奇怪!”。

[[77189]]

小编在前段时间做了一个名为《php:草根出身成大树》的技术专题。在专题里,以读者所在公司的网站使用什么语言做了一个投票调查,结果php以54%占据一位。很明显,国内现在的大多数公司都是php的忠实粉丝。

PHP成功的两大秘诀,***条就是简单。PHP简单到让喜欢卖弄技巧的程序员感到羞愧,但让那些渴望进入Web开发领域的初学者欣喜若狂。 PHP像是一条鲶鱼,与XML、Web Services融合无间。即使历次的版本升级,也无需担心PHP会丧失这种简单的特性。无疑,这个特点给需要快速开发、交互应用的Web2.0潮流极大 的带来了方便,有超过半数的Ajax-enabled和Web2.0站点都选择了PHP。

PHP的第二个秘诀,就是“Community(强大的社区)”。不像其他的开发者需要从零开始,大量的PHP程序都有开放源代码可供学习,后人站在前人的肩膀上加以改进,又将这种知识积累的结果回馈给社区。这曾被比喻为“大教堂和集市”,在集市中,知识得到了***化的利用,效率提高、错误减少、成本降低。而大教堂只能越垒越高,不断延迟发布时间。

PHPer草根,才让PHP显得草根

长期以来,PHPer(PHP Programmers)被认为是处于草根阶层的程序员,被认为是技术含量少,层次低的程序员。尽管在应用范围上,PHP拥有广泛的使用者。这点在国内尤其突出,

为什么PHPer会被看成草根阶层,根本原因是PHPer所作的事情(通过代码实现)的绝大部分都是表现层的东西,这个熟悉PHP的人都知道。当然也会有 PHP会说他用MVC结构编写的某某框架具备的如何如何的功能。但是这些还是表现层。所以只会处理表现层的程序员就被看成草根阶层了。事实上也是如此,因为这种情况下PHP确实很难构造大型的应用。

PHPer被扣上了数据库使用者的帽子,他总是在操作数据库,而不是在做程序。一个最简单的PHP脚本就是,连接数据库,把数据取出来,然后用命令输出到浏览器。整个过程不超过10行代码。给人的感觉就是太简单了。没有任何技术含量。为什么了,因为数据处理部分都已经被数据库做完了。尤其是 MySQL的使用。MySQL是免费的,所以大多数程序员可以自由地使用它,另外MySQL的速度够快了,所以做个PHP应用程序非常的简单。这就相当于给你枪以后你觉得没有必要学习武功一样。当然,我不是说枪没有武功好。而是说,枪的出现,小孩都可以轻松便捷地杀人了。

我们再详细说说为什么是数据库。这里我说一个例子。我去过北京一家非常著名的网站,当时我们还有一个比较资深的PHP程序员在那说些系统架构的事情。我记得当时那个程序员问大家一个数据结构中的算法问题的时候,全场没有一个人能答得出来(包括我)。然后那个程序员就开始给大家讲些很基础的数据结构的东西了。让我一下子回想到大学时候学的数据结构课。而这些基础的数据排序、查找、传递的问题在其他高级语言(比如C)是非常普遍的。但是在PHP没有。 PHPchina.com的论坛也有个板块叫PHP的数据结构和算法。这个板块的帖子也是***。

说到这里,大家明白了吧?大部分PHPer仅仅处理表现层的东西,而在MySQL的便捷使用下,PHPer几乎不用触及任何数据结构与算法的情况下完成大部分开发任务,所以一个才有上面的,没有一个PHP程序员能够回答出那道数据结构的问题,换成是C等语言,情况可能就大不相同了。是PHPer草根,才让PHP显得草根。

说到这里,我想大家都已经回忆了不少自己平时用PHP做开发的经历了吧,是否发现大家确实都在操作数据库呢。

把数据存放在数据库,然后数据库只起到备份的作用。然后你用自己的中间层来处理分析数据,效果是90%  以上的用户不访问数据库。有人就会说了,这不就类似连接池的东西吗?是的,因为数据库的瓶颈是无法解决的,我们只能在Web服务器和数据库中间加个中间层来做缓冲。

可能大家会说了,切,这个我们早就知道了。那好,这里我要说的是它引发的两点思考:

***,有些语言已经有连接池技术的基础上,那些程序员可以方便地使用连接池而构建大型应用。那么如果他们认为  PHPer只会是用数据库,那么我们是不是可以说他们只会是用连接池呢?连接池和数据库在这个概念上有何区别?

第二,当PHPer开始构建自己的缓存系统的时候,他是不是突破了PHPer只会是用数据库的层次?因为他参与了数据逻辑的处理工作。那么他还是草根吗?

***,懂得独立思考的PHPer不是草根,什么事情都丢给数据库去做的才是。当然,如此备受瞩目的PHP也不是!

责任编辑:陈四芳 来源: 51CTO
相关推荐

2014-07-02 13:55:17

Spark

2014-01-16 16:01:45

2018-04-12 17:32:18

红旗软件Linux人才培养

2016-05-31 10:21:45

SparkSpark 2.0并行计算

2010-05-26 16:23:57

软考CCIE

2022-04-25 12:55:55

低代码无代码开发

2013-09-05 14:54:52

浏览器内核开发

2009-03-18 18:04:48

IBMSun收购

2011-04-28 10:32:02

PHP自测

2011-09-08 13:50:51

51cto 51CTO

2010-12-10 13:21:47

51CTO博客大赛

2021-01-12 22:35:34

边缘计算云计算开源

2011-09-08 13:26:27

51cto 51CTO

2010-04-30 10:25:39

3G培训

2013-11-07 17:18:15

观察浏览器安全

2010-09-10 08:58:14

浏览器升级

2024-07-18 14:19:59

2010-04-21 11:06:15

点赞
收藏

51CTO技术栈公众号