php数据结构不够丰富 php数据存储

PHP为什么会被认为是草根语言从PHP诞生之日起 , PHP就开始在Web应用方面为广大的程序员服务 。同时,作为针对Web开发量身定制的脚本语言,PHP一直秉承简单、开源的思想 , 这也使得PHP得以快速的发展,并且大力地推动Web2.0的出现与发展 。但是,长期以来,PHPer(PHP Programmers)被认为是处于草根阶层的程序员 , 被认为是技术含量少,层次低的程序员 。这点在国内尤其突出 。
记得一个技术主管说过这样一个事情 。php数据结构不够丰富他给一个程序员分配了PHP的开发任务,没想到那个程序员居然说php数据结构不够丰富:“我是学Java出身的,你让我去写 PHP,你这不是在贬低我吗?” 。这件事情给我印象很深、触动也很大 。虽然这不能代表大部分程序员的看法,但是这么认为的人应该不少 。还有人说,现在如果是大型的政府项目 , PHP是肯定不会被列入考虑的范围之内的 。
那么为什么PHPer会被认为是草根阶层,是因为它很简单,人人都可以学会,所以没什么难度吗?我以前也是这么认为 。PHP入门很快,处理文件,数据 , 远程连接,网络编程都非常方便,官方也有这样的说法php数据结构不够丰富:PHP学习的成本很低 , 所以你容易去使用它 。这个想法也是普遍的,甚至大部分的PHPer 自己都这样认为 。
说到这里 , 我想大家就会想到我为什么要写这些文字 。因为一年多的PHP推广工作让我了解到许许多多的使用PHP的公司的大概情况 。在这些过程中我慢慢体会到其中的根本原因 。这里我说是根本原因虽然是个人的看法,但是我觉得事实就是如此 。
那么为什么PHPer会被看成草根阶层,根本原因是PHPer所作的事情(通过代码实现)的绝大部分都是表现层的东西,这个熟悉PHP的人都知道 。当然也会有PHP会说php数据结构不够丰富他用MVC结构编写的某某框架具备的如何如何的功能 。但是这些还是表现层 。所以只会处理表现层的程序员就被看成草根阶层了 。事实上也是如此 , 因为这种情况下PHP确实很难构造大型的应用 。
这就找到原因了,不是的 。为什么PHPer总是在负责表现层的东西呢 。答案是底层的数据处理(Web应用就是数据存储和查找)我们一般不去触及 。好 , 那么说到这里有些人可能已经想到了,那不就是数据库吗?对,就是数据库 。让PHPer一直当草根的元凶就是数据库 。为什么?
PHPer对MySQL的依赖过大
因为目前流行的web架构中,前端是负载均衡系统 , 中间是web服务器,后面是数据库服务器 。所以,大部分PHPer工作在Web服务器层面 。因为数据库已经很好地为我们组织数据了 。所以PHP中没有太多的算法,而且大家潜意识下也觉得不需要,更何况会影响性能 。
这种情况下,PHPer就成为了数据库使用者,他总是在操作数据库 。而不是在做程序 。一个最简单的PHP脚本就是,连接数据库,把数据取出来,然后用命令输出到浏览器 。整个过程不超过10行代码 。给人的感觉就是太简单了 。没有任何技术含量 。为什么了,因为数据处理部分都已经被数据库做完了 。尤其是MySQL的使用 。MySQL是免费的 , 所以大多数程序员可以自由地使用它,另外MySQL的速度够快了,所以做个PHP应用程序非常的简单 。这就相当于给你枪以后你觉得没有必要学习武功一样 。当然,我不是说枪没有武功好 。而是说 , 枪的出现,小孩都可以轻松便捷地杀人了 。
我们再详细说说为什么是数据库 。这里我说一个例子 。我去过北京一家非常著名的网站,当时我们还有一个比较资深的PHP程序员在那说些系统架构的事情 。我记得当时那个程序员问大家一个数据结构中的算法问题的时候,全场没有一个人能答得出来(包括我) 。然后那个程序员就开始给大家讲些很基础的数据结构的东西了 。让我一下子回想到大学时候学的数据结构课 。而这些基础的数据排序、查找、传递的问题在其他高级语言(比如C)是非常普遍的 。但是在PHP没有 。PHPchina.com的论坛也有个板块叫PHP的数据结构和算法 。这个板块的帖子也是寥寥无几 。

推荐阅读