PHP、Python 上榜最慢的现代编程语言Python大数据分析共 2348字,需浏览 5分钟 ·2021-02-04 00:54 来源:CSDN编程语言的问世,距今已有几十年的历史了。每种语言的诞生都是为了满足特定的需求。截止到今天,全世界共有大约 700 多种编程语言。然而,仍处于活动状态的只有 250 来种,其余的都被编程社区抛弃了。(来自维基百科的最新数据)性能一直是程序员非常关心的方面。很久以前,程序的执行需要花费几天的时间,如今我们以秒为单位来度量。这完全要归功于电子行业的发展进步。硬件的发展速度遵循摩尔定律。在电子产品中,速度和性能取决于特定芯片可以拥有的晶体管数量。根据摩尔定律,这个数字每两年就会翻一番。这就是为什么如今手机的速度和性能甚至远远超过了 1990 年代的超大型计算机。对于计算机科学来说,代码的运行速度和 PC 的运行速度完全是两码事。英特尔和 AMD 出色地推动了 PC 机的运行速度。然而,创建健壮、快速的程序的重任就落到了软件工程师的肩上。创建软件时,我们都要考虑的一件事是编程语言。每种语言的实现方式不同,因此每种语言都有各自的优势。然而,对于有些编程语言来说,速度根本不是它们的优势。如果你想构建一个程序,运行游戏或执行大量数学计算,则最好避开速度比较慢的编程语言。通常,编程语言可以大致分为两类:静态类型的编程语言动态类型的编程语言静态类型的语言一般都需要编译,这意味着编译器程序会解析整个代码,并将其转换成汇编语言,然后再生成一个新文件。而这个文件可以由用户手动执行。另一方面,动态类型的编程语言通常是解释型的,意味着解释器会逐行分析并运行代码。我们大多数人都喜欢动态类型的语言。比如 Python,不易出错且方便人类理解。但是这种方便性是有代价的,我们付出的代价就是速度。在本文中,我们就来看一看常见的一些速度非常慢的动态类型编程语言。Perl 如果你有使用 UNIX 的经验,那么一定见过 Perl 脚本。大部分的 UNIX 文件都是用 Perl 编写的。Perl 是 Unix 的脚本语言。这种语言的诞生是为了减轻程序员编写 Shell 程序的负担。它只是将一堆 Shell 命令塞到了一个文件中。更重要的是,有些任务如果利用 C 语言和其他 Unix 语言编写的话,简直就是噩梦,而 Perl 降低了这些任务的难度。当然,取代 C 语言也会付出代价。事实证明,Perl 在速度方面确实有所欠缺。此外,如今找到一位出色的 Perl 程序员的难度,不亚于大海捞针。例如,与 Python 不同,Perl 对实现非常敏感,每个操作符都必须正确地使用,才能创建相对高效的程序。即使按照最有效的方式实现,Perl 的运行速度仍然落后于其他同等的高级编程语言。然而,如今 Perl 仍在发展,效率的问题也相继得到了解决,特别是 2019 年发布的新版本(又名 Raku)。PHP PHP 是一种脚本化 Web 开发编程语言,通常用于 Web 应用程序的开发,是 HTML、CSS 和 MySQL 的补充。许多人认为 PHP 已经过时了。但事实并非如此!根据 2020 年 StackOverflow 的调查,PHP 依然榜上有名:然而,由于 PHP 的学习曲线比较平缓,而且易于托管,因此性能方面的表现不佳。由于缺少即时编译(JIT 编译器),因此 PHP 的运行速度非常慢,而且它还是一种动态类型的语言。幸运的是,在 2020 年 11 月 26 日,PHP 8 推出了一项性能优化功能:内置的 JIT 编译器。内置的 JIT 编译器可以从速度和性能方面,帮助 PHP 逐渐向同类的编程语言靠拢。Ruby Ruby 的创始人松本行弘曾在 Ruby 社区中说:“Ruby旨在让程序员开心。”Ruby 是一种面向对象的编程语言。一切都可以解释成对象。因此,Ruby 很优雅,而且非常便于使用。只需要轻轻挥动魔法棒,任务就完成了。然而,从性能来看,Ruby 是一种典型的解释型语言。因为解释型语言需要逐条运行代码,因此与使用编译器的语言相比,它们的速度往往更慢。为了解决速度的问题,Ruby 引入了全局解释器锁(Global Interpreter Lock,简称 GIL),这意味着该语言一次允许一个线程使用 GIL。另外,Ruby 还有其他方面的困扰,比如内存消耗过高、垃圾回收缓慢等。Python 万能的 Python 几乎常年占据各类编程语言排行榜的榜首。Python 主要用于数据科学、Web 开发和网络安全等领域。毋庸置疑,Python 有很多的优点。然而,Python 也有速度的问题。Python 和 Ruby 都来自同一个家族,由于 GIL 以及解释器的使用,它们的速度都很慢。二者的主要区别在于,前者倾向于 Web 开发,而后者则主要面向数据科学。但是,Python 拥有强大的库和功能作为后盾。部分库和函数极大地提高了性能,比如 Numpy 模块和内置的 Filter()都是用 C++实现的。这就是为什么 Python 蓬勃发展,超越其他编程语言的原因。总结 虽然速度和性能是实现软件时需要考虑的重要因素,但我们不应该将全部责任都推到编程语言身上。很多时候,造成速度和性能主要问题的根本原因在于,不良的实现和不合理的设计。参考链接:https://medium.com/better-programming/the-slowest-modern-programming-languages-d29ea2306675 浏览 35点赞 评论 收藏 分享 手机扫一扫分享分享 举报 评论图片表情视频评价全部评论推荐 Stackless Python增强版的 Python 编程语言Stackless Python 是一个增强版的 Python 编程语言,允许程序员受益于基于线程的Stackless Python增强版的 Python 编程语言02023 年度编程语言榜单,Python连续八年上榜!恋习Python02023 年度编程语言榜单,Python连续八年上榜!菜鸟学Python0Stackless Python增强版的 Python 编程语言StacklessPython是一个增强版的Python编程语言,允许程序员受益于基于线程的编程,而不会有一半线程的性能和复杂的问题。其最大的特点就是微线程,可避免使用操作系统线程导致的开销过大的问题Stackless Python增强版的 Python 编程语言0Python编程语言知多少?Python日志0下载!PHP依然是世界上最好的编程语言逆锋起笔0PHP 是最糟糕编程语言?Hollis02021年1月编程语言排行榜:Python年度编程语言程序IT圈0PHP编程PHP编程0PHP编程这是一本可以让读者深入了解PHP 技术的书籍,作者用言简意赅的语言并结合了大量实例来解释每一个要素。PHP编程0点赞 评论 收藏 分享 手机扫一扫分享分享 举报