1. <strong id="7actg"></strong>
    2. <table id="7actg"></table>

    3. <address id="7actg"></address>
      <address id="7actg"></address>
      1. <object id="7actg"><tt id="7actg"></tt></object>

        PHP、Python 上榜最慢的現(xiàn)代編程語言

        共 2348字,需瀏覽 5分鐘

         ·

        2021-02-04 00:54

        來源:CSDN
        編程語言的問世,距今已有幾十年的歷史了。每種語言的誕生都是為了滿足特定的需求。
        截止到今天,全世界共有大約 700 多種編程語言。然而,仍處于活動狀態(tài)的只有 250 來種,其余的都被編程社區(qū)拋棄了。(來自維基百科的最新數(shù)據(jù))
        性能一直是程序員非常關心的方面。很久以前,程序的執(zhí)行需要花費幾天的時間,如今我們以秒為單位來度量。這完全要歸功于電子行業(yè)的發(fā)展進步。
        硬件的發(fā)展速度遵循摩爾定律。在電子產(chǎn)品中,速度和性能取決于特定芯片可以擁有的晶體管數(shù)量。根據(jù)摩爾定律,這個數(shù)字每兩年就會翻一番。這就是為什么如今手機的速度和性能甚至遠遠超過了 1990 年代的超大型計算機。
        對于計算機科學來說,代碼的運行速度和 PC 的運行速度完全是兩碼事。英特爾和 AMD 出色地推動了 PC 機的運行速度。然而,創(chuàng)建健壯、快速的程序的重任就落到了軟件工程師的肩上。
        創(chuàng)建軟件時,我們都要考慮的一件事是編程語言。每種語言的實現(xiàn)方式不同,因此每種語言都有各自的優(yōu)勢。然而,對于有些編程語言來說,速度根本不是它們的優(yōu)勢。
        如果你想構建一個程序,運行游戲或執(zhí)行大量數(shù)學計算,則最好避開速度比較慢的編程語言。
        通常,編程語言可以大致分為兩類:
        • 靜態(tài)類型的編程語言
        • 動態(tài)類型的編程語言
        靜態(tài)類型的語言一般都需要編譯,這意味著編譯器程序會解析整個代碼,并將其轉(zhuǎn)換成匯編語言,然后再生成一個新文件。而這個文件可以由用戶手動執(zhí)行。
        另一方面,動態(tài)類型的編程語言通常是解釋型的,意味著解釋器會逐行分析并運行代碼。
        我們大多數(shù)人都喜歡動態(tài)類型的語言。比如 Python,不易出錯且方便人類理解。但是這種方便性是有代價的,我們付出的代價就是速度。
        在本文中,我們就來看一看常見的一些速度非常慢的動態(tài)類型編程語言。


        Perl

        ?
        如果你有使用 UNIX 的經(jīng)驗,那么一定見過 Perl 腳本。大部分的 UNIX 文件都是用 Perl 編寫的。
        Perl 是 Unix 的腳本語言。這種語言的誕生是為了減輕程序員編寫 Shell 程序的負擔。它只是將一堆 Shell 命令塞到了一個文件中。
        更重要的是,有些任務如果利用 C 語言和其他 Unix 語言編寫的話,簡直就是噩夢,而 Perl 降低了這些任務的難度。當然,取代 C 語言也會付出代價。
        事實證明,Perl 在速度方面確實有所欠缺。
        此外,如今找到一位出色的 Perl 程序員的難度,不亞于大海撈針。例如,與 Python 不同,Perl 對實現(xiàn)非常敏感,每個操作符都必須正確地使用,才能創(chuàng)建相對高效的程序。
        即使按照最有效的方式實現(xiàn),Perl 的運行速度仍然落后于其他同等的高級編程語言。然而,如今 Perl 仍在發(fā)展,效率的問題也相繼得到了解決,特別是 2019 年發(fā)布的新版本(又名 Raku)。


        PHP

        ?
        PHP 是一種腳本化 Web 開發(fā)編程語言,通常用于 Web 應用程序的開發(fā),是 HTML、CSS 和 MySQL 的補充。
        許多人認為 PHP 已經(jīng)過時了。但事實并非如此!
        根據(jù) 2020 年 StackOverflow 的調(diào)查,PHP 依然榜上有名:

        然而,由于 PHP 的學習曲線比較平緩,而且易于托管,因此性能方面的表現(xiàn)不佳。
        由于缺少即時編譯(JIT 編譯器),因此 PHP 的運行速度非常慢,而且它還是一種動態(tài)類型的語言。幸運的是,在 2020 年 11 月 26 日,PHP 8 推出了一項性能優(yōu)化功能:內(nèi)置的 JIT 編譯器。內(nèi)置的 JIT 編譯器可以從速度和性能方面,幫助 PHP 逐漸向同類的編程語言靠攏。


        Ruby

        ?
        Ruby 的創(chuàng)始人松本行弘曾在 Ruby 社區(qū)中說:“Ruby旨在讓程序員開心。
        Ruby 是一種面向?qū)ο蟮木幊陶Z言。一切都可以解釋成對象。因此,Ruby 很優(yōu)雅,而且非常便于使用。只需要輕輕揮動魔法棒,任務就完成了。
        然而,從性能來看,Ruby 是一種典型的解釋型語言。因為解釋型語言需要逐條運行代碼,因此與使用編譯器的語言相比,它們的速度往往更慢。
        為了解決速度的問題,Ruby 引入了全局解釋器鎖(Global Interpreter Lock,簡稱 GIL),這意味著該語言一次允許一個線程使用 GIL。
        另外,Ruby 還有其他方面的困擾,比如內(nèi)存消耗過高、垃圾回收緩慢等。


        Python

        ?
        萬能的 Python 幾乎常年占據(jù)各類編程語言排行榜的榜首。Python 主要用于數(shù)據(jù)科學、Web 開發(fā)和網(wǎng)絡安全等領域。
        毋庸置疑,Python 有很多的優(yōu)點。然而,Python 也有速度的問題。
        Python 和 Ruby 都來自同一個家族,由于 GIL 以及解釋器的使用,它們的速度都很慢。二者的主要區(qū)別在于,前者傾向于 Web 開發(fā),而后者則主要面向數(shù)據(jù)科學。
        但是,Python 擁有強大的庫和功能作為后盾。部分庫和函數(shù)極大地提高了性能,比如 Numpy 模塊和內(nèi)置的 Filter()都是用 C++實現(xiàn)的。這就是為什么 Python 蓬勃發(fā)展,超越其他編程語言的原因。


        總結(jié)

        ?
        雖然速度和性能是實現(xiàn)軟件時需要考慮的重要因素,但我們不應該將全部責任都推到編程語言身上。很多時候,造成速度和性能主要問題的根本原因在于,不良的實現(xiàn)和不合理的設計。
        參考鏈接:https://medium.com/better-programming/the-slowest-modern-programming-languages-d29ea2306675
        瀏覽 54
        點贊
        評論
        收藏
        分享

        手機掃一掃分享

        分享
        舉報
        評論
        圖片
        表情
        推薦
        點贊
        評論
        收藏
        分享

        手機掃一掃分享

        分享
        舉報
        1. <strong id="7actg"></strong>
        2. <table id="7actg"></table>

        3. <address id="7actg"></address>
          <address id="7actg"></address>
          1. <object id="7actg"><tt id="7actg"></tt></object>
            老子要把你cao烂h调教 | 91成人无码AⅤ片在线观看 | 老年人一级片 | 国产日韩精品欧美一区二区三区 | bl高肉喷汁彩漫肉 | 欧美黄视频| 男女啪啪在线观看 | 一级淫乱片 | 积积桶肤肤免费软件大全2025 | 大骚逼人人干 |