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说,那在下面的评论出说吧

为什么开发人员对于PHP语言褒贬不一的更多相关文章

  1. Kotlin 编程语言成为其 Android 应用程序开发人员的首选语言

    今年 5 月,谷歌在 I/O 大会上宣布,Kotlin 编程语言成为其 Android 应用程序开发人员的首选语言. Kotlin 是一种面向现代多平台应用程序的编程语言,成为谷歌开发 Android ...

  2. 为什么我建议每个开发人员都需要学Python?

    转载请注明出处:葡萄城官网,葡萄城为开发者提供专业的开发工具.解决方案和服务,赋能开发者. 原文出处:https://dzone.com/articles/10-reasons-why-every-d ...

  3. web 开发人员必须学习的 3 门语言

    web 开发人员必须学习的 3 门语言:html  css  js HTML 定义了网页的内容 CSS 描述了网页的布局 JavaScript 网页的行为

  4. .NET CoreCLR开发人员指南(上)

    1.为什么每一个CLR开发人员都需要读这篇文章 和所有的其他的大型代码库相比,CLR代码库有很多而且比较成熟的代码调试工具去检测BUG.对于程序员来说,理解这些规则和习惯写法非常的重要. 这篇文章让所 ...

  5. .NET开发人员值得关注的七个开源项目 .

    NET开发人员值得关注的七个开源项目 软近几年在.NET社区开源项目方面投入了相当多的时间和资源,不禁让原本对峙的开源社区阵营大吃一惊,从微软.NET社区中的反应来看,微软.NET开发阵营对开源工具的 ...

  6. Front End Developer Questions 前端开发人员问题(二)

    问题来源:http://markyun.github.io/2015/Front-end-Developer-Questions/ 二.CSS 1.介绍一下标准的CSS的盒子模型?与低版本IE的盒子模 ...

  7. SharePoint Server 2013开发之旅(二):使用在线的开发人员网站进行SharePoint App开发

    上一篇我已经介绍了新版本的SharePoint Server提供了四种主要的开发场景,其中一个全新的App开发模型让我们眼前一亮.这一篇我将介绍如何在线进行SharePoint App开发. 谈到Sh ...

  8. 开发人员看测试之TDD和BDD

    前言: 已经数月没有来园子了,写博客贵在坚持,一旦松懈了,断掉了,就很难再拾起来.但是每每看到自己博客里的博文的浏览量每天都在增加,都在无形当中给了我继续写博客的动力.最近这两天有听到Jbehave这 ...

  9. 给 Web 前端开发人员推荐20款 CSS 编辑器

    CSS 和 HTML,JavaScript 是网页的基础,作为前端开发人员,对这三者都要很熟悉.特别是未来流行全栈开发的时代,每项技术都是你知识结构中必要的一个节点. 在开发中,选择好工具是非常重要的 ...

随机推荐

  1. djangoPOST请求403 forbidden

    处理过程 网上搜索修改setting.py,在MIDDLEWARE_CLASSES增加django.middleware.csrf.CsrfResponseMiddleware  没能解决问题 有说在 ...

  2. 15个顶级Java多线程面试题及回答

    Java 线程面试问题 在任何Java面试当中多线程和并发方面的问题都是必不可少的一部分.如果你想获得任何股票投资银行的前台资讯职位,那么你应该准备很多关于多线程 的问题.在投资银行业务中多线程和并发 ...

  3. 编译安装zabbix

    1. 说明:本例用源码包来安装zabbix,但是zabbix的后台数据库在这里选择mysql,然而mysql的安装方式不在选择源码了,而是选择已经编译好的通用linux包(tar包) zabbix源码 ...

  4. 移动端h5页面写法

    1. 页面宽度320, 所有元素尺寸设一半 缺点:不自能适应全屏 2.页面宽度640,元素尺寸正常 <meta charset="utf-8" /> <meta ...

  5. MSSQL WITH (NOLOCK) 脏读

    缺点: 1.会产生脏读 2.只适用与select查询语句 优点: 1.有些文件说,加了WITH (NOLOCK)的SQL查询效率可以增加33%. 2.可以用于inner join 语句 脏读: 一个用 ...

  6. Combination Sum II 解答

    Question Given a collection of candidate numbers (C) and a target number (T), find all unique combin ...

  7. Kth Largest Element in an Array 解答

    Question Find the kth largest element in an unsorted array. Note that it is the kth largest element ...

  8. wget命令1(转载)

    Linux系统中的wget是一个下载文件的工具,它用在命令行下.对于Linux用户是必不可少的工具,我们经常要下载一些软件或从远程服务器恢复备份到本地服务器.wget支持HTTP,HTTPS和FTP协 ...

  9. 也谈---基于 HTTP 长连接的“服务(转载)

    这里指讨论基于HTTP的推技术, 诸如flash,applet之类的东西不作分析, 他们就不能说是"纯粹"的浏览器应用了. 首先是一点背景知识, 大家都知道长连接避免了tcp连接的 ...

  10. 从决策树学习谈到贝叶斯分类算法、EM、HMM

    从决策树学习谈到贝叶斯分类算法.EM.HMM                (Machine Learning & Recommend Search交流新群:172114338) 引言 log ...