查看原文
其他

2021年:PHP 与 Python,谁更有前途?

鲁众 21CTO 2022-05-25


导读:本文讲解Python与PHP如何选择的经典话题,欢迎各位一起讨论。

不加思考的话,Python和PHP都是两种非常流行的编程语言,而且都是高级编程语言。


哪种语言对Web开发(Python或PHP)的需求提供更好的动力?虽然有人总是黑PHP说:“PHP是世界上最好的语言”,从目前来看,可以肯定说的是——Python将是最终赢家。


根据Datanyze的数据,到2020年,PHP开发的网站总数超过以往任何年份,仍然在向上攀升。


需要人们承认的是,PHP曾经统治过Web开发世界,而且时间还不短,但是现在Python语言为开发者提供了更好的选择。


在本篇文章中,我将对这两种编程语言进行详细比较,说明在哪种情况下使用Python或PHP实施Web开发应用。


为任何一个项目(无论是网站还是应用开发)选择一种编程语言,是具有挑战性且至关重要的一步。Python和PHP之前一直存在激烈的竞争。现在就开始:


1.表现


一段时间以来,PHP落后了,特别是PHP5.6版本,它还受到旁系分支的倒逼,比如HHVM,但是自PHP 7推出以来,特别是现在推出了PHP8,情况开始有所好转。


PHP研发团队在提高速度方面做得很好,超过了许多编程语言。Python和PHP这两种语言都是开发Web应用或网站的最佳选择。


PHP7的Zend Engine3.x以及PHP8的JIT编译器是以前版本速度的数倍,从评测上看PHP快于Python3倍以上,从这点上来讲PHP完胜于Python。


2.复杂度


在某种程度上,Python和PHP具有许多相似之处,它们都是动态类型化和面向对象语言。它们都可以和多种操作系统配合使用,这是一个很大的好处。Python在易用性中是无与伦比的领导者,没有一种语言提供比Python编码过程更简单。 


以下是Python优于PHP的一些优点:


  • 可读性高,易于学习和解释;

  • 与其它编程语言相比,占用的空间更少;

  • 编码出现问题不会影响整个程序。


另一方面,列出PHP的一些缺点:


  • 许多初级程序员制造了棘手的难题

  • 它以其奇特且散发怪味道的语法而闻名

  • 专为复杂的网站和应用而设计


基于这些原因,选择Python Web开发团队将对公司发展更有利,但这不应该是选择编码语言的唯一标准。


3.灵活性


这是Python完全击败PHP的一个能力。在过去的几年中,对诸如机器学习,AI等一流技术的需求不断增长,Python支持许多庞大的机器学习库,这是一个超级优势。而PHP的能力仅限于Web开发,Python的通用性和灵活性,适合开发Web和其它各种服务。


PHP有Packagist软件包存储库,它是一个非常强大的结构,但它与Python的库数量仍有差距。由于Python语言更通用,因此与PHP相比,它具有更多的场景用例,因此具有更多类型的库。


前面提到过Python有着用于机器学习的诸多库,因此可以使用TensorFlow,Keras,Theano,Scikit Learn等库,但PHP没有此类可选项。如果你的目标是超越基于Web的应用程序可以做的事情,那么最好深入研究Python所带来的可能性。


Uber使用python构建了一个称为Michelangelo PyML (最初的Michelangelo产品扩展)的机器学习平台。该平台能够在线和离线模式下进行预测,用以解决日常任务。用户可以使用PyML验证模型,实现全面的效率和可伸缩性。


Uber的机器学习平台Michelangelo


4.安全性


和Web开发紧密相关的一个方面就是安全漏洞。著名的OWASP基金会一项研究表明,SQL注入、XSS跨站脚本等是Web常见安全漏洞之一。


随着软件开发生命周期的推进,修复这些漏洞的成本和时间将成倍数地增加。


下图就展示了,在生产阶段消除漏洞是设计成本、需求设计与体系架构设计的30倍!


5.框架


Web开发框架是用于创建和启动应用程序的模型。在开发生命周期中,这是有帮助的,程序员不必重新发明新的功能。


在这一点上,PHP和Python能力是平等的,因为它们都为网站开发提供了健壮且经过深思熟虑的优秀框架。


使用PHP创建网站和部署非常容易,它还可以和Laravel这样的强大框架一起使用。PHP还有众多开源软件,供开发者二次开发或直接使用,比如Wordpres、Joomla、Opencart等,国内也有很多开源软件采用PHP开发。


使用PHP的开源软件/框架名单


Python则可以使用Django之类的Web框架,它们都具有快速,安全和用户友好等诸多特点。 

Python语言的库与开发框架


6.开发者社区


立刻写出没有任何问题或Bug的优质代码是不可能的,这对于所有开发人员,特别是初学者来说,人们会在互联网上寻求帮助。


任何一种广泛使用的编码语言都应具有强大的开发者社区支持。Python和PHP都有庞大的用户支持社区,因此说来,如果你是一家初创的产品型公司,或者你还不是编程专家的时候,不必要担心,可以在社区中都可以快速,轻松地找到合适的帮助指南。


7.总结


其实这个问题并没有一个普适答案,“哪个对Web开发更好:PHP还是Python?” 做为理性的专业人员,我们不会偏激,因为我们知道Python和PHP都是优秀的Web开发解决方案。


你需要考虑的第一件事是特定的需求。例如,如果需要开发一个复杂的电子商务网站,而时间并不是问题,请使用PHP并擅用其强大的功能。如果你对使用简洁而通用的代码感兴趣,想快速轻松的进行Web开发,那么Python将是最佳之解决方案。


拥有强大的工具的Python有着诸多优势,许多初创公司(如Instagram,Pinterest和Reddit)开发基于Python的Web应用程序,也有其他平台(例如Facebook,雅虎,维基百科和百度)选择了PHP作为主要后端语言。


希望本文能使你深入了解Python与PHP的优劣,然后做出正确的选择。


祝各位开发者 2021 年好运。


作者:鲁众


相关阅读


Python API教程:API入门(上)

Python API教程:参数的使用

Python 和 Go 都很火,要怎么选?


关于21CTO

21CTO.com是中国互联网第一技术社交与学习平台。为CTO、技术总监,技术专家,架构师、技术经理,高级研发工程师、PM等提供学习成长,教育培训,工作机会、人脉影响力等产品,同时为企业提供人才招聘,企业培训,软件研发等服务。


您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存