溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

有哪些速度很慢的動態(tài)編程語言

發(fā)布時間:2021-10-19 16:21:18 來源:億速云 閱讀:148 作者:iii 欄目:編程語言

本篇內(nèi)容介紹了“有哪些速度很慢的動態(tài)編程語言”的有關(guān)知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領(lǐng)大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠?qū)W有所成!

編程語言已經(jīng)存在很多年,每種語言都是為了滿足特定的需要而構(gòu)建的。

到今天為止,全世界大約有700種編程語言?,F(xiàn)在僅剩250種語言能存續(xù)下來,其余的基本上已經(jīng)被編程社區(qū)拋棄了。

對于程序員來說,性能一直是一個必須考慮的問題。在過去,程序的運行時間可以用天數(shù)來衡量,而現(xiàn)在,歸功于科技的進步,僅需幾秒鐘即可完成運行。

計算機進化的速度遵循摩爾定律:

有哪些速度很慢的動態(tài)編程語言

摩爾定律

在電子學中,速度和性能轉(zhuǎn)化為一個特定芯片可以擁有的晶體管數(shù)量。根據(jù)摩爾定律,這個數(shù)字每隔兩年就會往上翻一番。這就是為什么你的手機比1990年代的房間大小的超級計算機快得多。

回到計算機科學,速度快的代碼和速度快的電腦是有區(qū)別的。速度慢的程序和速度慢的電腦也是有區(qū)別的。雖然我們很多人無法影響計算機硬件的運行速度,但是代碼的快慢卻是我們可以控制的。

在開發(fā)時,我們往往都要考慮一個因素,那就是語言期望。每種語言的實現(xiàn)方式都不同,因此每種語言都有各自的優(yōu)點,可能很少人會把程序的運行速度納入語言的編程優(yōu)點之中。

如果你正在做游戲類的項目,或者是需要繁重的數(shù)學計算等高要求的任務(wù),最好不要用運行速度太慢的編程語言。

一般來說,編程語言有兩種類型:

  • 靜態(tài)類型編程語言

  • 動態(tài)類型編程語言

靜態(tài)類型語言通常是編譯的,意思就是編譯器的程序會解析并將整個類似英語的代碼轉(zhuǎn)換為匯編語言,并生成一個新文件,這個文件可以由用戶手動運行。

動態(tài)類型語言是指在運行期間才去做數(shù)據(jù)類型檢查的語言,也就是說,在用動態(tài)類型的語言編程時,永遠也不用給任何變量指定數(shù)據(jù)類型,該語言會在你第一次賦值給變量時,在內(nèi)部將數(shù)據(jù)類型記錄下來。

大多數(shù)人喜歡動態(tài)類型語言。諸如Python之類的不易出錯且易于人工解釋的語言。但這是有代價的,那就是要犧牲運行速度。

在本文中,我們將列出4種相對很慢的常見動態(tài)類型編程語言。

1. Perl

如果你以前用過 UNIX,那么一定見過 Perl 腳本。因為大多數(shù) UNIX 文件都是 Perl 格式。

Perl 是一種 Unix 腳本語言。它是為了減輕程序員不得不忍受編碼冗長的 Shell 程序的困難而創(chuàng)建的,Perl 就是把很多 Shell 命令塞進了一個文件中。

更重要的是,Perl 還可以用來完成在 C 和其他 Unix 語言中難以完成的任務(wù)。

Perl 在運行速度方面的確令人頭疼。

另外,現(xiàn)在想找到一個優(yōu)秀的 Perl 程序員就像試圖大海撈針。這是因為,與 Python 不同,Perl 對實現(xiàn)非常敏感,每個操作符都必須在合適的位置上才能擁有一個相對高效的程序。

即使有最高效的實現(xiàn),Perl 仍然落后于其他的高級編程語言。但是,在2019年,一個版本名為 Raku 的 Perl 6發(fā)布之后,Perl 的速度問題正在一個又一個被解決。

2.PHP

PHP 是一種腳本 Web 開發(fā)編程語言,通常在網(wǎng)站部署中補充 HTML、CSS 和 MySQL。

許多人認為 PHP 已經(jīng)過時了,但事實并非如此。

有研究表示:

在我們知道服務(wù)器端編程語言的所有網(wǎng)站中,有79.0%的網(wǎng)站都使用了 PHP。

除此之外,在關(guān)于編程、腳本和標記語言的“ 2020 StackOverflow ”調(diào)查報告中,展示了 PHP 依然是一種非?;钴S的語言,排名在 C++和 Typescript 之上:

有哪些速度很慢的動態(tài)編程語言

但是,由于 PHP 的學習曲線是漸進的,而且托管成本低,因此在性能方面會有所缺失。

PHP 的速度非常慢,因為缺少實時編譯 (JIT 編譯器),而且它是一種動態(tài)類型語言。很幸運的是,在 2020 年 11 月 26 日,PHP 8 推出了一個性能優(yōu)化功能:內(nèi)置的 JIT 編譯器。

內(nèi)置的 JIT 編譯器幫助 PHP 在速度和性能方面接近其他同類編程語言。

3.Ruby

Ruby的官方作者 Yukihiro Matsumoto 曾說:

Ruby 旨在讓程序員滿意。

Ruby 是一種面向?qū)ο蟮木幊陶Z言,一切都可以被解釋為對象。這使得它成為一個容易使用的工具。只需要動動手指,任務(wù)就能完成。

但是,在性能方面,Ruby 是一種典型的解釋語言。由于解釋語言是逐句運行代碼語句,因此與使用編譯器的語言相比,它們往往比較慢。

Ruby 的速度在全局解釋器鎖 (GIL)中再次被砍,因為該語言每次只能允許使用一個線程使用 GIL。

最后,Ruby 的速度還受到高內(nèi)存消耗和垃圾收集慢的影響。

4.Python

在很多編程語言的排行榜中,Python 排名第一,成為很受歡迎的編程語言。它大量用于數(shù)據(jù)科學、Web 開發(fā)和人工智能等。

這里不是夸大 Python,因為它的優(yōu)點多于缺點。但就目前情況來說,Python 的速度依然是個問題。

Python 和 Ruby 是相同屬性的編程語言。由于 GIL 和使用解釋程,兩者速度都很慢。它們的主要區(qū)別在于前者以數(shù)據(jù)科學為主,而后者更傾向于 Web 開發(fā)。

但是,Python 有很多強大的庫和功能支持。其中一些庫和功能,如 Numpy 模塊和 Filter() 內(nèi)置函數(shù),可以在C++中實現(xiàn),從而在性能方面得到了顯著的提升。這就是為什么Python現(xiàn)在正在迅速超越其他編程語言的原因。

“有哪些速度很慢的動態(tài)編程語言”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識可以關(guān)注億速云網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實用文章!

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI