热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

php为什么是最好的语言

老听见同事说php是最好的语言,求解答.(没有语言之争的意图,旨在欢乐一下)
老听见同事说php是最好的语言,求解答.(没有语言之争的意图,旨在欢乐一下)

回复内容:

老听见同事说php是最好的语言,求解答.(没有语言之争的意图,旨在欢乐一下)

  • 部署简单

    很多其他行业的公司,希望有一个网站,他们并没有多少预算在网站上,可能只是随便买了一个虚拟主机,这时恐怕最好的选择就是 PHP 了。支持 Ruby, Python 之类的语言的虚拟主机很少,ASP 需要 Windows 的服务器,只有 PHP 可以运行在任何一家虚拟主机上。

  • 学习门槛低

    一开始 PHP 是专为 Web 设计的语言(虽然现在已经在向通用编程语言靠拢了), 学习和使用门槛很低,建一个 .php 文件就是网页,用 $_GET['XXOO'] 就可以获取到 GET 参数。而其他通用编程语言,原生并不支持这些与 HTTP 协议相关的功能,这时就需要选择并学习一款 HTTP 框架才能编写 Web 应用,例如 Tornado(Python), Ruby on Rails 等。

  • 语法简单

    PHP 一开始是弱类型的(现在只是不那么弱了而已,还算不上强类型),几乎不需要考虑类型转换的事情,甚至在一开始很长的一段时间里,都没有支持面向对象。PHP 可以非常简单地从数据库中存取数据,而一半的网站也无非是从数据库中读写数据。
    因为 PHP 是以 CGI 或 FastCGI 的形式运行的,因此也不必考虑内存管理的问题,反正每次请求后,内存都会被释放。
    PHP 的错误处理机制也很简单——如果出错就在页面上打印错误信息。想要关闭错误提示也同样简单。

  • 很多重量级的开源项目

    如 WordPress(博客), Typecho(博客), Drupal(CMS), MediaWiki(WIKI), DiscuzX(论坛) 等等,可以说想要不折腾地部署一个网站 PHP 就是最佳选择。

  • 经过了历史考验

    PHP 毕竟也算是老牌 Web 编程语言了,能踩的坑已经被前辈踩过了,大量的库可以重用,要招会 PHP 的开发人员也很容易,而 Node.js, Golang 等等新语言则会遇到技术储备,人才储备方面的问题。而 Python, Ruby 也不要高兴得太早——虽然你们很早就被发明出来了,但那时候还没多少人搞 Web 开发。

PS: 本人并不认为 PHP 是最好的 Web 编程语言,以上只是解释为什么有人认为 PHP 是最好的。

因为是个极容易引起编程语言之争的语言, 特意来吐槽的. 我可以罗列一些以前搜集的资料.
(全部的搜集入口在这里: https://github.com/coffee-js/languages/wiki)

我不写 PHP 所以不能从语言功能上分析到底好不好了.
按照编程语言的历史, Oreilly 上有文档做了整理: http://cdn.oreillystatic.com/news/graphics/prog_lang_poster.pdf
大致给人的感觉, PHP 是从 sh 和 Awk 这些 Shell 环境的脚本语言启发或者演化来的.
跟 Java 类似, 到后边成了流行语言, 有频繁的更新跟迭代,

当然世界上还不止这些语言, 除了没记录的, 从下面的列表里还能找到很多:
http://en.wikipedia.org/wiki/Lists_of_programming_languages
http://rosettacode.org/wiki/Category:Programming_Languages
这么多编程语言, 很难看出 PHP 在什么位置, 还不如从上边的历史看出来多.

换一个角度我们去看编程范式: http://en.wikipedia.org/wiki/Programming_paradigm
平常网上讨论比较容易遇到的, 比如面向对象, 函数式, 声明式, 事件驱动...
PHP 支持哪些编程范式? 通过这些支持获得了什么好处?

再看看编程语言社区建设如何, 开发者质量, 模块分享的工具, 社区文档质量如何,
线下的活动如何, 有哪些著名的应用, 哪些大公司采到了该语言而且出于什么考虑,
出现在其他编程语言当中的新技术是否能引进? 语言调试工具如何?

然后对比一下其他语言当中标新立异的功能, PHP 对比如何?
比如某个语言说自己是纯函数天生支持并行, 比如某个语言随手写 Macro 改变自身语法,
比如某语言宣称自己语法非常漂亮, 比如某语言说自己可以直接调用 Java 社区现成的类库,
比如某语言性能在动态语言当中数一数二, 比如某语言说自己非常适合科学计算,
比如某语言说自己编译非常快, 比如某语言只的正则非常强大...

世界上已经有这么多语言了, PHP 在当中是在什么位置?

如果PHP是做好的语言,那么TP就是最好的框架,https://segmentfault.com/q/1010000002443290

某女:“你能让这个论坛的人都吵起来,我就跟你约会。”
某程序猿:“PHP是最好的语言!”
某论坛炸锅了,各种吵架。
某女:“服了你了,我们走吧。”
某程序猿:“今天不行,我一定要说服他们,PHP必须是最好的语言。”

这个笑话?明显是讽刺程序员的嘛。

个人认为,编程语言没有最好的,只有最适合的。
说php是最好的语言有两种可能,一是自黑,另外就是把php当做真爱。

PHP,是汉语拼音拍黄片的首字母组合,程序员多半比较寂寞,在使用PHP的时候常常会幻想成自己在拍黄片,所以这门语言在程序员-尤其是苦逼的后端程序员,因为前段还可以用酷炫的JS来把妹-中得到了极大的流行,被称为是最好的语言。

我来看楼主头像的 求别黑……

推荐阅读
  • Allegro总结:1.防焊层(SolderMask):又称绿油层,PCB非布线层,用于制成丝网印板,将不需要焊接的地方涂上防焊剂.在防焊层上预留的焊盘大小要比实际的焊盘大一些,其差值一般 ... [详细]
  • svnWebUI:一款现代化的svn服务端管理软件
    svnWebUI是一款图形化管理服务端Subversion的配置工具,适用于非程序员使用。它解决了svn用户和权限配置繁琐且不便的问题,提供了现代化的web界面,让svn服务端管理变得轻松。演示地址:http://svn.nginxwebui.cn:6060。 ... [详细]
  • 2018年人工智能大数据的爆发,学Java还是Python?
    本文介绍了2018年人工智能大数据的爆发以及学习Java和Python的相关知识。在人工智能和大数据时代,Java和Python这两门编程语言都很优秀且火爆。选择学习哪门语言要根据个人兴趣爱好来决定。Python是一门拥有简洁语法的高级编程语言,容易上手。其特色之一是强制使用空白符作为语句缩进,使得新手可以快速上手。目前,Python在人工智能领域有着广泛的应用。如果对Java、Python或大数据感兴趣,欢迎加入qq群458345782。 ... [详细]
  • 搭建Windows Server 2012 R2 IIS8.5+PHP(FastCGI)+MySQL环境的详细步骤
    本文详细介绍了搭建Windows Server 2012 R2 IIS8.5+PHP(FastCGI)+MySQL环境的步骤,包括环境说明、相关软件下载的地址以及所需的插件下载地址。 ... [详细]
  • 闭包一直是Java社区中争论不断的话题,很多语言都支持闭包这个语言特性,闭包定义了一个依赖于外部环境的自由变量的函数,这个函数能够访问外部环境的变量。本文以JavaScript的一个闭包为例,介绍了闭包的定义和特性。 ... [详细]
  • 恶意软件分析的最佳编程语言及其应用
    本文介绍了学习恶意软件分析和逆向工程领域时最适合的编程语言,并重点讨论了Python的优点。Python是一种解释型、多用途的语言,具有可读性高、可快速开发、易于学习的特点。作者分享了在本地恶意软件分析中使用Python的经验,包括快速复制恶意软件组件以更好地理解其工作。此外,作者还提到了Python的跨平台优势,使得在不同操作系统上运行代码变得更加方便。 ... [详细]
  • 导读:在编程的世界里,语言纷繁多样,而大部分真正广泛流行的语言并不是那些学术界的产物,而是在通过自由发挥设计出来的。和那些 ... [详细]
  • 1、概述首先和大家一起回顾一下Java消息服务,在我之前的博客《Java消息队列-JMS概述》中,我为大家分析了:然后在另一篇博客《Java消息队列-ActiveMq实战》中 ... [详细]
  • 本文是一位90后程序员分享的职业发展经验,从年薪3w到30w的薪资增长过程。文章回顾了自己的青春时光,包括与朋友一起玩DOTA的回忆,并附上了一段纪念DOTA青春的视频链接。作者还提到了一些与程序员相关的名词和团队,如Pis、蛛丝马迹、B神、LGD、EHOME等。通过分享自己的经验,作者希望能够给其他程序员提供一些职业发展的思路和启示。 ... [详细]
  • Python字典推导式及循环列表生成字典方法
    本文介绍了Python中使用字典推导式和循环列表生成字典的方法,包括通过循环列表生成相应的字典,并给出了执行结果。详细讲解了代码实现过程。 ... [详细]
  • sklearn数据集库中的常用数据集类型介绍
    本文介绍了sklearn数据集库中常用的数据集类型,包括玩具数据集和样本生成器。其中详细介绍了波士顿房价数据集,包含了波士顿506处房屋的13种不同特征以及房屋价格,适用于回归任务。 ... [详细]
  • Android源码深入理解JNI技术的概述和应用
    本文介绍了Android源码中的JNI技术,包括概述和应用。JNI是Java Native Interface的缩写,是一种技术,可以实现Java程序调用Native语言写的函数,以及Native程序调用Java层的函数。在Android平台上,JNI充当了连接Java世界和Native世界的桥梁。本文通过分析Android源码中的相关文件和位置,深入探讨了JNI技术在Android开发中的重要性和应用场景。 ... [详细]
  • 如何提高PHP编程技能及推荐高级教程
    本文介绍了如何提高PHP编程技能的方法,推荐了一些高级教程。学习任何一种编程语言都需要长期的坚持和不懈的努力,本文提醒读者要有足够的耐心和时间投入。通过实践操作学习,可以更好地理解和掌握PHP语言的特异性,特别是单引号和双引号的用法。同时,本文也指出了只走马观花看整体而不深入学习的学习方式无法真正掌握这门语言,建议读者要从整体来考虑局部,培养大局观。最后,本文提醒读者完成一个像模像样的网站需要付出更多的努力和实践。 ... [详细]
  • 与.Net大师Jeffrey Richter面对面交流——TUP对话大师系列活动回顾(多图配详细文字)...
    与.Net大师JeffreyRichter面对面交流——TUP对话大师系列活动回顾(多图配文字)上周末很有幸参加了CSDN举行的TUP活动, ... [详细]
  • 使用CocoaPods管理依赖库
    这篇内容将介绍Mac和iOS开发中必备的一个依赖库管理工具CocoaPods。在iOS开发中势必会用到一些第三方依赖库,比如大家都熟悉的ASIHttpRequest、AFNetwo ... [详细]
author-avatar
ranger
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有