下载安卓APP箭头
箭头给我发消息

客服QQ:3315713922

IT业界:程序员为什么会鄙视PHP?它是世界上最好的语言?

作者:课课家教育     来源: 今日头条点击数:4868发布时间: 2020-03-22 10:00:17

标签: PHP语言IT业界编程语言

软考,您想通过吗?一次通过才是硬道理

PHP,一个嵌套的缩写名称,是英文超级文本预处理语言(PHP:Hypertext Preprocessor)的缩写。PHP 是一种 HTML 内嵌式的语言,PHP与微软的ASP颇有几分相似,都是一种在服务器端执行的嵌入HTML文档的脚本语言,语言的风格有类似于C语言,现在被很多的网站编程人员广泛的运用。  

BecausePHPisthebestlanguageever,ever.It'sfast,verypowerful,andfree.

IT业界:程序员为什么会鄙视PHP?它是世界上最好的语言?_PHP语言_IT业界_编程语言_课课家

  这是PHP官方文档里的话,太拉仇恨了,

  程序员为什么会鄙视PHP?它是世界上最好的语言?

  PHP是世界上最好的语言!

  后来,一则著名的笑话诞生了:

  某女:你能让这个论坛的人都吵起来,我就跟你约会。

  某程序员:PHP是最好的语言。于是论坛炸锅了,各种吵架。

  某女:服了你了,我们走吧。

  某程序员:今天不行,我一定要说服他们,PHP必须是最好的语言。

  自此,PHP成了众多程序员们调侃的编程语言

  程序员为什么会鄙视PHP?它是世界上最好的语言?

  好的我们要大声说出来,坏的也不否认,下面来看看php的优缺点:

  优点:开源免费性快捷性[程序开发快,运行快,技术本身学习快]

  1)跨平台,性能优越,跟Linux/Unix结合别跟Windows结合性能强45%,并且和很多免费的平台结合非常省钱,比如LAMP(Linux/Apache/Mysql/PHP)或者FAMP(FreeBSD/Apache/Mysql/PHP)结合,或者数据应用够大可以考虑换PostgreSQL或者Oracle,支持N种数据库。(N>=10)

  2)语法简单,如果有学习C和Perl的很容易上手,并且跟ASP有部分类似。有成熟的开发工具,比如NuPHPed,或者ZendStudio等等,再Linux平台下可以使用Eclipse等等。

  3)目前主流技术都支持,比如WebService、Ajax、XML等等,足够应用。

  4)有比较完整的支持,比如使用ADODB或者PEAR::DB做数据库抽象层,用Smarty或者smarttemplate做模板层,如果是PHP5.1的话,还能够使用PDO(PHPDataObject)来访问数据库。

  5)有很多成熟的框架,比如支持MVC的框架:phpMVC,支持类似ASP.net的事件驱动的框架:Prado,支持类似RubyOnRails的快速开发的框架:Cake等等,足够满足你的应用需求。

  6)PHP5已经有成熟的面向对象体系,能够适应基本的面向对象要求。适合开发大型项目。

  7)有成熟的社区来支持PHP的开发。

  8)目前已经很多大型应用都是使用PHP,比如淘宝网、Yahoo、163、Sina等等大型门户,很多选用PHP来作为他们的开发语言,所以大型门户都能够选用它,我想足够能够你的使用了。

  9)有很多开源的框架或开源的系统可以使用,比如比较知名的开源框架有ZendFramework、CakePHP、CodeIgniter、symfony等,开源论坛有Discuz!、Phpwind等,开源博客WordPress,开源网店系统如Ecshop、ShopEx等,开源的SNS系统如UCHome、ThinkSNS等。

  10)使用成本低(linuxapachemysqlphp内核)

  缺点,

  1)函数命名不规范驼峰法和下滑线,传参位置不一你知道的

  2)单线程;PHP本身,一直以来php就是个单进程的程序;虽然php的pthreads扩展早就有了。但是它不够稳定,运行运行着就会莫名其妙的自己挂掉;php的扩展都是C写的,这也就意味着任何一个扩展出现线程竞争资源控制问题都能让整个挂掉

  3)核心异步网络不支持(当然在linux只有同步非阻塞网络模型)。却少了这个使得很难开发一个能够承受大并发的网络应用。传统的网络模型和io都阻塞的。这样基本的编程的做法就是一个进程(或者线程)响应一个用户链接请求。因此无法完成像实时网游那样需要成千上万网络连接的任务。尽管php也有Libevent、eio扩展对此算是某种程度上面的弥补,但是感觉都不是那么完善

  4)只支持Web开发,不方便做.exe文件,不方便做桌面应用程序.不方便做手机程序.

  5)不适合做爬虫、自动运行脚本.科学运算项目,这语言基本构架就不适合,虽然有很多方法实现。

  6)后期维护困难。后期提速空间局限性较大。

  引用鸟哥[Laruence]的话:

  说PHP不支持多线程(90%of这些人不知道多线程模型和IO复用模型的不相伯仲),烂.说PHP不支持异步(90%of这些人,根本不知道异步代表什么),烂.说PHP是屌丝语言(99%of这些人是想找寻智商优越感),烂.每每我看到这种的论调,我真的很无奈,因为你根本没办法让一个装傻的人变聪明.