赞
踩
这门语言现在到底处于生命周期的哪个阶段?其定位到底是怎样的?诸如 PHP7、Swoole 的出现到底能给 PHP 带来怎样的变化?
当我们拿 PHP 和 java 进行比较的时候,我们往往就两门语言本身进行比较,如一个是弱类型一个是强类型,一个是数组打天下一个是各种数据结构,甚至连花括号是不是换行写都会被讨论一番。但它们真正的区别并非这些。
当我们谈论一门语言的时候,我们是在谈它的生态。
“生态”一词在百度百科上的解释是:“生态一词,现在通常是指生物的生活状态。指生物在一定的自然环境下生存和发展的状态,也指生物的生理特性和生活习性。生态(Eco-)一词源于古希腊字,意思是指家(house)或者我们的环境”。
生态具有如下特点:
一种生物的生存状态不取决于生物自身,而取决于环境,就如恐龙的灭绝并非恐龙自身退化了,而是环境改变了(或者说恐龙的进化赶不上环境的变化)。
一门语言的兴衰不取决于它自身,而取决于环境,具体来说是环境中源动力的强弱。
PHP 应 Web 而生,考查其兴衰得考查互联网的发展。
一般认为互联网大致经历了三个阶段:
以上三个阶段的演化中,用户参与度越来越高,交互方式越来越丰富,网站流量越来越大。
阶段一和阶段二是 PHP 的黄金时代,从阶段二开始悄悄发生变化,而到了阶段三,PHP 的黄金时代基本结束。
PHP 这门语言的特点是“简单、实用”,入行门槛极低,一个编程小白,一周入门,两天出个网站。一个典型的例子,在数据结构上,不像其他语言有 Array、List、Map、Set,PHP 一个 Array 搞定所有的情况。
PHP 的这种“简单”是通过牺牲性能为代价的。由于需要简单,不能有各种类型限制,PHP 必须是动态语言;由于需要简单,能封装则封装,一个 file_x_contents 搞定文件(甚至是网络)读写(该函数是一次性将文件全部加载到内存中,很多人开发不考虑其局限性而用在所有场景,导致内存溢出);由于 Array 承包了所有集合型数据结构,其底层需要做各种处理不说,业务层也无法自主选择更合适的数据结构做针对性的优化(虽然后来 SPL 提供了一些基本数据结构)。
PHP 的这种“简单”还牺牲了另一样东西:程序员的专业素质。PHP 程序员根本不需要去了解真正的 Array 和 List 有什么区别,也不需要去管数据流、缓冲区。从长期来看,这一点是致命的,它使得
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。