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

php顶级编程,PHP绝对不是世界上最好的编程语言

很多程序员喜欢用,“PHP是世界上最好的编程语言”这句话来黑PHP。学习和使用PHP这门编程语言很多年了,我觉得PHP绝对不是世界上最好的编程语言。我的

很多程序员喜欢用,“PHP是世界上最好的编程语言”这句话来黑PHP。学习和使用PHP这门编程语言很多年了,我觉得PHP绝对不是世界上最好的编程语言。我的博客是用wordpress搭建的,然后我在博客里写文章指出了wordpress的一些比较坑的地方。再然后,就有人来喷我。我觉得,没有调查就没有发言权。正是因为我用过了wordpress,才有资格说出他的毛病。因为这些问题都是我在使用wordpress的过程中,所遇到的真实存在的问题。今天我又要说说PHP了,它绝对不是世界上最好的编程语言。

PHP是C语言的亲儿子

PHP全称是”PHP: Hypertext Preprocessor”,是一门动态类型解释性的脚本编程语言。PHP的底层是用C写的,PHP可以说是C语言的亲儿子。当然,他也吸取了很多其他编程语言(例如:java,Perl。)的优点,才发展成现在的PHP。K&R合著的著名的C Bible – 《The C Programming Language》一书中提到,C语言诞生于1973年。而PHP则诞生于1995年,那么可以理解为C语言22岁的时候,生出了PHP这货。按照中国的法律,这不算未婚先孕。但是,生下这个孩子,关系还是比较乱的。

PHP是一门很古老的编程语言

我觉得,PHP可以称得上是一门很古老的编程语言了。他爹C语言都已经43岁了,PHP自己也已经21岁了。跟PHP功能类似的node.js诞生于2009年,谷歌的Go语言也诞生于2009年,这两个货比PHP要小14岁呢。最近这两年很火的swift,也能做web服务器端的开发。妈蛋,这货2014年才发布。跟这些小鲜肉比起来,PHP已经是老掉牙了。

PHP是一门伟大的开源编程语言

虽然PHP已经20多年了,但是他跟Linux一样伟大的是,它也是一门由社区支持的开放源代码的编程语言。正是由于这一点,让PHP在20多年的时间内,保持了旺盛的生命力。不仅没有因为年纪大和竞争激烈被淘汰,反而不断推陈出新,战胜了像ASP和ASP.NET这样出身名门的编程语言。把微软逼的没办法,只能把ASP.NET开源了,移植到Linux上跟PHP继续战斗。我觉得PHP足以称得上,是一门伟大的开源编程语言。世界最好编程语言,则肯定称不上。

PHP有沉重的历史包袱

虽然开源的特征,让PHP随着历史的发展保持了生命力,但是他依然有沉重的历史包袱。很多被淘汰的类库,为了保持版本的兼容性,也只能遗留在PHP体内等着慢慢淘汰。作为解释性的编程语言,性能不再有绝对优势。哪怕最新的PHP7,在性能方面依然被晚辈Node.js超过。更不要说Java、Go这些静态类型的编程语言,性能都超PHP好多倍的。说PHP是世界最好编程语言,确实是有点过份哈。

文武双全最近在折腾PHP代码的自动格式化,Phalcon这个框架下的代码怎么格式化都不完美。我特别羡慕Go,一个类库就搞定代码Format的事情。不管什么程序员写的Go代码,都那么清爽。对有强迫症的我来说,实在是羡慕死Go语言了。PHP啥时候,能做到像Go那样的工业化和标准化呢?还有命令行工具和依赖管理等方面,PHP都不是业界最好的。

PHP是一门成熟而且入门简单的编程语言

20多年的发展,PHP已经非常成熟了。很多人经常会感慨,这PHP的框架怎么那么多。就算是访问量特别大的网站,PHP也不是说完全搞不了。本质上来说,就是机器多跟少的区别。在web开发领域,几乎没有PHP不能做的事情。而且PHP还是一门入门非常简单的编程语言,这一点胜过js、java和Go的。经常在网上见人吹牛逼,学PHP三天就怎样怎样了。还有人扯,学PHP只需要买一门书叫《三天,PHP从入门到放弃》就够了。虽然吹牛逼瞎扯淡的成分居多,但是也足以反映这门编程语言入门并不难。入门简单,应用广泛可以说是PHP的最大特点。

文武双全对PHP特点的总结

通过文武双全上面的介绍,可以总结出PHP的一些特点了。PHP是一门:历史悠久、入门简单,应用广泛,推陈出新的开源编程语言。但是历史包袱过于沉重、以至于在某些地方超过PHP的编程语言越来越多。和C语言一样,PHP称得上是一门历史悠久的伟大的编程语言。但是,绝对不是世界上最好的编程语言。编程语言的领域,发展极快。很多语言,每年都在进步。连Linux Kernal版本号都刷的飞起,更不要说PHP了。从我的角度来理解,这个世界上根本就没有最好的编程语言,最好的编程语言是属于未来的。

程序员动静结合是王道

网上喷子太多,搞得很多新手对PHP和Java产生了诸多误解。自身学习也走入歧途,这是十分悲催的事情。编程语言和程序员一样,都是适者生存。不适应的编程语言和程序员一样,都会被自然淘汰。没有最好和最坏之分,只有能否适应新的时代。程序员自身只有保持勤奋学习,才能跟上时代的发展,提高自己的生存能力。绝对不能一叶障目,因噎废食。就像很多搞Java的一样学习PHP,而搞PHP其实也很有必要学习Java一样。动态语言和静态语言高低搭配,永远是王道。我的老师是这样说的:一个程序员最起码要学会一门静态语言和一门动态语言,我一直都认为很对。



推荐阅读
  • 前言:原本纠结于Web 模板,选了Handlebars。后来发现页面都是弱逻辑的,不支持复杂逻辑表达式。几乎要放弃之际,想起了Javascript中eval函数。虽然eval函 ... [详细]
  • 本文介绍了如何使用php限制数据库插入的条数并显示每次插入数据库之间的数据数目,以及避免重复提交的方法。同时还介绍了如何限制某一个数据库用户的并发连接数,以及设置数据库的连接数和连接超时时间的方法。最后提供了一些关于浏览器在线用户数和数据库连接数量比例的参考值。 ... [详细]
  • 如何使用Java获取服务器硬件信息和磁盘负载率
    本文介绍了使用Java编程语言获取服务器硬件信息和磁盘负载率的方法。首先在远程服务器上搭建一个支持服务端语言的HTTP服务,并获取服务器的磁盘信息,并将结果输出。然后在本地使用JS编写一个AJAX脚本,远程请求服务端的程序,得到结果并展示给用户。其中还介绍了如何提取硬盘序列号的方法。 ... [详细]
  • 本文介绍了OC学习笔记中的@property和@synthesize,包括属性的定义和合成的使用方法。通过示例代码详细讲解了@property和@synthesize的作用和用法。 ... [详细]
  • 如何用UE4制作2D游戏文档——计算篇
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了如何用UE4制作2D游戏文档——计算篇相关的知识,希望对你有一定的参考价值。 ... [详细]
  • 本文介绍了RPC框架Thrift的安装环境变量配置与第一个实例,讲解了RPC的概念以及如何解决跨语言、c++客户端、web服务端、远程调用等需求。Thrift开发方便上手快,性能和稳定性也不错,适合初学者学习和使用。 ... [详细]
  • Java验证码——kaptcha的使用配置及样式
    本文介绍了如何使用kaptcha库来实现Java验证码的配置和样式设置,包括pom.xml的依赖配置和web.xml中servlet的配置。 ... [详细]
  • svnWebUI:一款现代化的svn服务端管理软件
    svnWebUI是一款图形化管理服务端Subversion的配置工具,适用于非程序员使用。它解决了svn用户和权限配置繁琐且不便的问题,提供了现代化的web界面,让svn服务端管理变得轻松。演示地址:http://svn.nginxwebui.cn:6060。 ... [详细]
  • 本文介绍了Java集合库的使用方法,包括如何方便地重复使用集合以及下溯造型的应用。通过使用集合库,可以方便地取用各种集合,并将其插入到自己的程序中。为了使集合能够重复使用,Java提供了一种通用类型,即Object类型。通过添加指向集合的对象句柄,可以实现对集合的重复使用。然而,由于集合只能容纳Object类型,当向集合中添加对象句柄时,会丢失其身份或标识信息。为了恢复其本来面貌,可以使用下溯造型。本文还介绍了Java 1.2集合库的特点和优势。 ... [详细]
  • 知识图谱——机器大脑中的知识库
    本文介绍了知识图谱在机器大脑中的应用,以及搜索引擎在知识图谱方面的发展。以谷歌知识图谱为例,说明了知识图谱的智能化特点。通过搜索引擎用户可以获取更加智能化的答案,如搜索关键词"Marie Curie",会得到居里夫人的详细信息以及与之相关的历史人物。知识图谱的出现引起了搜索引擎行业的变革,不仅美国的微软必应,中国的百度、搜狗等搜索引擎公司也纷纷推出了自己的知识图谱。 ... [详细]
  • 本文介绍了使用PHP实现断点续传乱序合并文件的方法和源码。由于网络原因,文件需要分割成多个部分发送,因此无法按顺序接收。文章中提供了merge2.php的源码,通过使用shuffle函数打乱文件读取顺序,实现了乱序合并文件的功能。同时,还介绍了filesize、glob、unlink、fopen等相关函数的使用。阅读本文可以了解如何使用PHP实现断点续传乱序合并文件的具体步骤。 ... [详细]
  • 从零学Java(10)之方法详解,喷打野你真的没我6!
    本文介绍了从零学Java系列中的第10篇文章,详解了Java中的方法。同时讨论了打野过程中喷打野的影响,以及金色打野刀对经济的增加和线上队友经济的影响。指出喷打野会导致线上经济的消减和影响队伍的团结。 ... [详细]
  • Spring常用注解(绝对经典),全靠这份Java知识点PDF大全
    本文介绍了Spring常用注解和注入bean的注解,包括@Bean、@Autowired、@Inject等,同时提供了一个Java知识点PDF大全的资源链接。其中详细介绍了ColorFactoryBean的使用,以及@Autowired和@Inject的区别和用法。此外,还提到了@Required属性的配置和使用。 ... [详细]
  • 恶意软件分析的最佳编程语言及其应用
    本文介绍了学习恶意软件分析和逆向工程领域时最适合的编程语言,并重点讨论了Python的优点。Python是一种解释型、多用途的语言,具有可读性高、可快速开发、易于学习的特点。作者分享了在本地恶意软件分析中使用Python的经验,包括快速复制恶意软件组件以更好地理解其工作。此外,作者还提到了Python的跨平台优势,使得在不同操作系统上运行代码变得更加方便。 ... [详细]
  • VSCode快速查看函数定义和代码追踪方法详解
    本文详细介绍了在VSCode中快速查看函数定义和代码追踪的方法,包括跳转到定义位置的三种方式和返回跳转前的位置的快捷键。同时,还介绍了代码追踪插件的使用以及对符号跳转的不足之处。文章指出,直接跳转到定义和实现的位置对于程序员来说非常重要,但需要语言本身的支持。以TypeScript为例,按下F12即可跳转到函数的定义处。 ... [详细]
author-avatar
菲菲不停2502898155
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有