为什么开发人员对于PHP语言褒贬不一

news/2024/8/26 10:53:04 标签: php, java, python
PHP 语言,作为服务器端开发的脚本语言,在网站开发方面非常有名。从1995年 Rasmus Lerdorf 创建之后,W3Techs 的调查显示在已知的服务端编程语言中,PHP 占了82%。其中不乏WordPress,Facebook 这种公司。

PHP 语言,作为服务器端开发的脚本语言,在网站开发方面非常有名。从1995年 Rasmus Lerdorf 创建之后,根据 W3Techs 的调查显示在已知的服务端编程语言中,PHP 占了82%。其中不乏WordPress,Facebook 这种公司。在 PyPL(编程语言流行度排行榜)中仅次于 Java,在 Toibe 排行中名列第六。2015年会有高性能的 PHP 7 发布。

像所有的技术一样,人们对它的评价参差不齐。我们来看看为什么有的人喜欢它而有的人诅咒它。

优点一:流行,容易上手

PHP 是目前最流行的编程语言。PHP 工具厂商 Zend 科技 CEO Andi Gutmans 如是说。New Media Campaigns公司的开发工程师 Josh Lockhart 对我们讲:PHP 是最容易学习的网站开发语言。它安装在绝大多数的服务器上。由于有实时更新的文档和问答,PHP 语言相对其他语言简单易学。

优点二:网站开发职位很多

Gutmans 还说,在服务器端的网站编程中PHP会帮助你找到工作。Dice.com 一个简短的调查中显示,和 PHP 相关的职位有3366个,相比于 Java 17418个和 Perl 4300个,Python 5429个少了一些,但是比 Ruby 的2973和985个 Objective-C 职位多一些。尽管比 Ruby,Python,Go,Rust 语言略逊,但是 Lockhart 认为 PHP 仍然是使用最多的语言之一。

优点三:仍然在不断发展

PHP 在不断兼容着类似 closures 和命名空间等技术,同时兼顾性能和当下流行的框架。Gutmans 说道,接触 PHP 并不需要知道 PHP 到底提供了哪些技术,Lockhart 作为一名开发人员讲:大家讲 PHP 认为是一个面向对象的开发模型。接下来的版本是7,将要提供更高性能的应用。Lockhart 指出Facebook 也在加强 PHP,比如他们的 HHVM 虚拟机,和 Hack 编程语言。

缺点:设计缺陷,缺少关注

博 主 Eevee 说,PHP 的每个功能设计都是有问题的。他对 PHP 的看法是极其糟糕的设计。Eevee 不仅不喜欢这个语言,对其框架也不能赞同。他认为 PHP 语言不稳定,总是出现各种意外。PHP 被称作是不透明的语言,因为没有堆栈追踪,各种脆弱的输入。没有一个明确的设计哲学。早期的 PHP 受到 Perl 的影响,带有 out 参数的标准库又是有 C 语言引入,面向对象的部分又是从 C++ 和Java 学来的。

Lockhart 得知 Eeveef 反对 PHP 的言论的时候他觉得有些夸张了。尽管是 PHP 的拥护者,Lockhart对于对 PHP 的批评还是很耐心的。

  • 语言不持续化,特别在命名空间和参数顺序上。Lockhart:这些都很容易适应,不是大问题。
  • PHP 还有很多遗留下来的东西,包括全局变量,魔法引用等。 Lockhart:这些不好的实现都会在不断地被淘汰。但在淘汰之前,它让变成习惯不好的程序猿有法可施。
  • PHP 的关注度不够。Lockhart 也在不断努力提升 PHP 关注度。Lockhart:尽管断断续续,但是社区的人们仍然很关注 PHP。

对一门技术的喜厌程度来自很多方面,从个人习惯到项目需求,PHP没办法做到人见人爱,但是,你一定有很多话要对PHP说,那在下面的评论出说吧

转载于:https://www.cnblogs.com/haylim/p/4167970.html


http://www.niftyadmin.cn/n/1720047.html

相关文章

关于标准android中视频播放器中的快进和快退的步长时间设置

文件 :frameworks/base/core/java/android/widget/MediaController.java private View.OnClickListener mRewListener new View.OnClickListener() {public void onClick(View v) {int pos mPlayer.getCurrentPosition();pos - 5000; // millisecondsmPlayer.seek…

dump数据方法

//media.vt.dumpdata //Pvmi_mio_comm_ril.cpp

CentOS在VMware中的安装

1、启动VMware 2、新建一台虚拟机,选择典型 3、选择稍后安装操作系统 4、选择引导系统为Linux,系统版本为Centos 5、选择安装位置 6、选择最大磁盘容量 7、点击自定义硬件,进行硬件设置 8、 9、启动程序,安装系统 10、选择中文&am…

机器视觉-相机镜头光源介绍及选型-11.采集卡

采集卡 1.1.定义: 将视频信号经AD转换成电脑可用数字格式,经PCI总线实时传到内存和显存。 采集卡传送数据采用PCI Master Burst方式,图像传送速度高达40MB/S,实现图像到内存可靠实时传送, 几乎不占用CPU时…

基础乐理--变音记号

用来表示升高或降低基本音级的记号叫做变音记号。 变音记号有五种: 升记号(#)表示将基本音级升高半音。 降记号(b)表示将基本音级降低半音。 重升记号()表示将基本音级升高两个半音&#xf…

机器视觉-相机镜头光源介绍及选型-12.系统选型

系统选型 1.选型步骤: 选择相机 采集卡 选择镜头 光源 #二者结合选择 1.1.面阵相机选型 1).彩色还是黑白 2).确定X、Y单方向的精度要求,获得所需要的分辨率 3).根据物体位置变化速度,推算所需要的帧速 4).在合适的相机中选择数据输…

onRetainNonConfigurationInstance()

关于转屏,与activity状态的保存 比较onSaveInstanceState() 与 onRetainNonConfigurationInstance()在不同需求中的用法 针对Android平台,不论出于哪种目的,都或多或少需要在多个Activities中的跳转操作,其中包括为了获得某些系统…

ASP.NET常用函数表

Abs(number) 取得数值的绝对值。 Asc(String) 取得字符串表达式的第一个字符ASCII 码。 Atn(number) 取得一个角度的反正切值。 CallByName (object, procname, usecalltype,[args()]) 执行一个对象的方法、设定或传回对象的属性。 CBool(expression) 转换表达式为Boolean 型态…