自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

4種速度很慢的動(dòng)態(tài)編程語言,你一定用過

開發(fā) 后端
編程語言已經(jīng)存在很多年,每種語言都是為了滿足特定的需要而構(gòu)建的。到今天為止,全世界大約有700種編程語言。現(xiàn)在僅剩250種語言能存續(xù)下來,其余的基本上已經(jīng)被編程社區(qū)拋棄了。

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

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

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

計(jì)算機(jī)進(jìn)化的速度遵循摩爾定律:

 

4種速度最慢的動(dòng)態(tài)編程語言,你一定用過

 

摩爾定律

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

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

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

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

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

  • 靜態(tài)類型編程語言
  • 動(dòng)態(tài)類型編程語言

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

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

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

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

1. Perl

 

如果你以前用過 UNIX,那么一定見過 Perl 腳本。因?yàn)榇蠖鄶?shù) UNIX 文件都是 Perl 格式。

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

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

Perl 在運(yùn)行速度方面的確令人頭疼。

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

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

2.PHP

 

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

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

有研究表示:

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

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

 

4種速度最慢的動(dòng)態(tài)編程語言,你一定用過

 

但是,由于 PHP 的學(xué)習(xí)曲線是漸進(jìn)的,而且托管成本低,因此在性能方面會(huì)有所缺失。

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

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

3.Ruby

 

Ruby的官方作者 Yukihiro Matsumoto 曾說:

Ruby 旨在讓程序員滿意。

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

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

Ruby 的速度在全局解釋器鎖 (GIL)中再次被砍,因?yàn)樵撜Z言每次只能允許使用一個(gè)線程使用 GIL。

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

4.Python

 

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

這里不是夸大 Python,因?yàn)樗膬?yōu)點(diǎn)多于缺點(diǎn)。但就目前情況來說,Python 的速度依然是個(gè)問題。

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

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

最后

雖然在軟件實(shí)現(xiàn)方面,速度和性能是需要考慮的重要因素,但不應(yīng)將責(zé)任僅僅歸咎于編程語言。

實(shí)際上,造成速度和性能問題的根本原因是糟糕的程序?qū)崿F(xiàn)和代碼設(shè)計(jì)。

盡管動(dòng)態(tài)類型語言的速度很慢,但它們提供了很好的編程體驗(yàn),并提高了工作效率。所以,很多事情都有兩面性,編程語言也是如此。

 

 

責(zé)任編輯:華軒 來源: 今日頭條
相關(guān)推薦

2021-01-29 12:28:13

編程語言開發(fā)代碼

2022-12-26 09:16:45

Guava架構(gòu)模型

2020-08-30 14:31:40

Python編程語言開發(fā)

2022-07-20 07:29:52

Java

2021-02-26 09:04:22

數(shù)組ArrayListHashMap

2013-03-12 14:07:06

Java編程

2020-06-22 07:55:31

編程語言

2022-06-08 21:08:22

微信朋友圈

2015-08-06 13:30:56

商鋪線上

2021-01-14 10:38:41

Java枚舉工具

2020-04-27 10:34:23

HTTPDNSDNS網(wǎng)絡(luò)協(xié)議

2020-07-10 10:48:51

編程語言JavaPython

2020-05-26 12:32:30

Python模板語言編程語言

2020-05-27 09:23:29

Python模板語言

2018-08-21 13:50:05

編程語言JavaPython

2019-11-21 10:59:16

IPv4IPv6網(wǎng)絡(luò)

2020-07-29 07:37:20

Git 修復(fù)項(xiàng)目

2021-02-17 23:49:56

編程語言PYPLPerl

2018-02-08 09:11:25

Linux命令rm

2015-10-21 11:09:08

Xcode7調(diào)試神技
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)