成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Python“王者”地位不保!Julia和Swift后來(lái)居上

開發(fā) 后端
在過(guò)去的十年里,Python 一直統(tǒng)治著數(shù)據(jù)科學(xué)和機(jī)器學(xué)習(xí),但是 Julia 和 Swift 后來(lái)居上,正準(zhǔn)備超越Python。

 

Python 是20世紀(jì)90年代發(fā)布的一種通用編程語(yǔ)言。

雖然 Python 語(yǔ)法簡(jiǎn)潔,但它在第一個(gè)十年中并不為人所知,也沒(méi)有真正進(jìn)入開發(fā)人員的工作中。Perl 是首選的腳本語(yǔ)言,Java 已經(jīng)成為面向?qū)ο缶幊填I(lǐng)域的主流。當(dāng)然,任何語(yǔ)言的成熟都需要時(shí)間,只有當(dāng)它比現(xiàn)有的工具更適合開發(fā)任務(wù)時(shí)才會(huì)被采用。

對(duì)于Python來(lái)說(shuō),這一時(shí)間最早出現(xiàn)在21世紀(jì)初,那時(shí)人們開始意識(shí)到它比 Perl 更容易學(xué)習(xí),并且提供了與其他語(yǔ)言的互操作性。

這個(gè)發(fā)現(xiàn)讓非常多開發(fā)人員將 Python 集成到他們的應(yīng)用程序中。Django 的出現(xiàn)最終導(dǎo)致了 Perl 的滅亡,Python 開始獲得了更多的發(fā)展契機(jī)。雖然流行程度還比不上比Python更新的 Java 和 JavaScript。

快進(jìn)到現(xiàn)在,根據(jù)2019年 StackOverflow 開發(fā)者調(diào)查,Python 已經(jīng)超越 Java 成為第二流行的編程語(yǔ)言。

Python 是最近十年發(fā)展最快的編程語(yǔ)言。Python 的流行與20世紀(jì)10年代大數(shù)據(jù)的出現(xiàn)以及機(jī)器學(xué)習(xí)和人工智能的發(fā)展密不可分。企業(yè)迫切需要一種能夠幫助管理大規(guī)模數(shù)據(jù)和科學(xué)計(jì)算任務(wù)的低門檻快速開發(fā)語(yǔ)言。Python 非常適合這些領(lǐng)域的挑戰(zhàn)任務(wù)。

除了這些有利因素之外,Python 是一種支持動(dòng)態(tài)類型的解釋語(yǔ)言。更重要的是,它得到了 Google 的支持,Google 投資開發(fā)了Python的深度學(xué)習(xí)框架 Tensorflow,這讓 Python 得以成為數(shù)據(jù)分析、可視化和機(jī)器學(xué)習(xí)的首選語(yǔ)言。

然而,雖然機(jī)器學(xué)習(xí)和人工智能的需求還在不斷增長(zhǎng),但是 Python 不會(huì)一直都站在巔峰,它也會(huì)有老去的一天。像每種編程語(yǔ)言一樣,Python 也有自己的弱點(diǎn)。這些弱點(diǎn)讓 Python 很容易被更適合企業(yè)需求的編程語(yǔ)言所取代。雖然已經(jīng)有 R 語(yǔ)言了,但是 Swift、Julia 和 Rust 等較新語(yǔ)言的出現(xiàn)實(shí)際上對(duì)當(dāng)前的數(shù)據(jù)科學(xué)之王構(gòu)成了更大的威脅。

Rust 還在努力追趕著各大機(jī)器學(xué)習(xí)社區(qū)的步伐,因此,我相信 Swift 和 Julia 將是推翻 Python 并最終統(tǒng)治數(shù)據(jù)科學(xué)的語(yǔ)言。

Python缺乏類型安全性,速度非常慢

 

所有的好東西都是有代價(jià)的,Python的動(dòng)態(tài)類型特性也不例外。動(dòng)態(tài)類型化可以在不定義類型的情況下,讓快速編寫代碼變得更加容易,但是,這會(huì)增加代碼運(yùn)行時(shí)產(chǎn)生 BUG 的風(fēng)險(xiǎn),特別是當(dāng)代碼庫(kù)大小增加時(shí),開發(fā)人員在生產(chǎn)環(huán)境中運(yùn)行代碼時(shí)會(huì)更加艱難。編譯器很容易發(fā)現(xiàn)的 BUG,在 Python 中反而無(wú)法識(shí)別,這樣就會(huì)產(chǎn)生開發(fā)障礙,最終導(dǎo)致大規(guī)模應(yīng)用程序的開發(fā)過(guò)程放慢。

更糟糕的是,與編譯的代碼不同,Python 的解釋器在執(zhí)行時(shí)要分析每一行代碼。與其他語(yǔ)言相比,不僅導(dǎo)致開銷變大,還大大降低了程序的性能。

Julia 可以讓你避免這些問(wèn)題。盡管它是動(dòng)態(tài)類型的,但它有一個(gè)實(shí)時(shí)編譯器。JIT 編譯器要么在執(zhí)行前生成機(jī)器代碼,要么使用先前存儲(chǔ)的緩存編譯,這能讓 Julia 與靜態(tài)類型語(yǔ)言一樣具有優(yōu)秀的性能。更重要的是,它有一個(gè)稱為多分派的關(guān)鍵特性,類似于 OOPs 的函數(shù)重載,雖然只能在運(yùn)行程序的時(shí)候有用。多分派的強(qiáng)大之處在于它能夠處理不同的參數(shù)類型,而無(wú)需創(chuàng)建單獨(dú)的函數(shù)名或嵌套的 if 語(yǔ)句。這個(gè)功能不僅可以幫助開發(fā)人員編寫更加緊湊的代碼,也是數(shù)值計(jì)算的一大勝利,因?yàn)榕c Python 有所不同,我們可以輕松地通過(guò)擴(kuò)展解決方案來(lái)處理所有類型的參數(shù)。

還有更好,那就是,Swift 作為一種靜態(tài)類型的語(yǔ)言,因其 LLVM(低級(jí)虛擬機(jī))編譯器而得到了高度優(yōu)化。LLVM 讓快速編譯成匯編代碼成為可能,這能讓 Swift 超高效運(yùn)行,達(dá)到了幾乎與 C 語(yǔ)言一樣快的速度。此外,Swift 擁有更好的內(nèi)存安全和管理工具,即自動(dòng)引用計(jì)數(shù)。與 garbage 收集器不同,ARC 具有更高的確定性,因?yàn)橹灰糜?jì)數(shù)歸零,它就會(huì)回收內(nèi)存。

作為提供類型注釋的編譯語(yǔ)言,Swift 和 Julia 比 Python 更快,功能更強(qiáng)大。僅僅這一點(diǎn),可能就足以讓開發(fā)人員推薦它們,而不是使用較舊的語(yǔ)言,考慮很多其他因素。

Python在并行性方面有局限性

 

如果說(shuō)慢不是 Python 很明顯的缺點(diǎn),那么這種語(yǔ)言在并行計(jì)算方面的局限性絕對(duì)是最明顯的缺點(diǎn)了。

簡(jiǎn)而言之,Python 使用 GIL(全局解釋器鎖),它會(huì)通過(guò)阻止多個(gè)線程同時(shí)執(zhí)行,來(lái)提高單個(gè)線程的性能。該過(guò)程有一個(gè)很大的障礙:開發(fā)人員不能使用多個(gè) CPU 核心來(lái)進(jìn)行密集的計(jì)算。

在此,我必須要同意一個(gè)觀點(diǎn),即在利用 Python 與 Tensorflow、PyTorch 等 C / C ++ 庫(kù)的互操作性時(shí),我們目前已經(jīng)做得很好了。 但是 Python 包裝器并不能解決所有調(diào)試問(wèn)題。當(dāng)檢查底層代碼時(shí),我們還是要依賴于 C 和 C ++。 從本質(zhì)上講,我們不能在低層次上利用 Python 的優(yōu)勢(shì),這也是 Python 與眾不同之處。

這一因素很快將決定 Python 的衰落、Julia 和 Swift 的崛起。Julia 是一種專門用來(lái)解決 Python 缺點(diǎn)的語(yǔ)言。它主要提供三個(gè)特性:協(xié)同程序(異步任務(wù))、多線程和分布式計(jì)算,所有這些特性都顯示并發(fā)和并行編程有無(wú)限可能。這種結(jié)構(gòu)使 Julia 能夠以比 Python 更快的速度執(zhí)行科學(xué)計(jì)算和解決大數(shù)據(jù)問(wèn)題。

另一方面,Swift 擁有開發(fā)移動(dòng)應(yīng)用所需的所有工具,在并行計(jì)算方面沒(méi)有問(wèn)題。

Swift和Julia都擁有Python的互操作性和強(qiáng)大的支持

 

雖然 Python 在速度、多線程和類型安全方面存在缺點(diǎn),但它擁有一個(gè)巨大的生態(tài)系統(tǒng),擁有大量的庫(kù)和包。在Python面前,Swift和Julia在機(jī)器學(xué)習(xí)領(lǐng)域仍然是嬰兒,他們擁有的庫(kù)數(shù)量非常有限。然而,它們與 Python 的互操作性彌補(bǔ)了 Julia 和 Swift 中缺少庫(kù)支持的不足。

Julia 不僅允許程序員使用 Python 代碼(反之亦然),還支持與 C、R、Java 以及幾乎所有主要編程語(yǔ)言的互操作性。這種多功能性肯定會(huì)給這種語(yǔ)言一個(gè)很好的推動(dòng),并增加它在數(shù)據(jù)科學(xué)家中被迅速采用的機(jī)會(huì)。

另一方面,Swift 通過(guò) PythonKit 庫(kù)提供了與 Python 的互操作性。Swift(起源于蘋果)比較大的賣點(diǎn)是它得到了谷歌(Google)的大力支持,谷歌幾十年前就全力支持 Python。

另外,Swift 的創(chuàng)建者 chrislattner 現(xiàn)在正在谷歌的 AI brain 團(tuán)隊(duì)工作,這一事實(shí)表明 Swift 正在被培養(yǎng)成機(jī)器學(xué)習(xí)領(lǐng)域 Python 的替代者。Tensorflow 團(tuán)隊(duì)通過(guò) S4TF 項(xiàng)目投資了 Swift,這進(jìn)一步證明了該語(yǔ)言不僅僅是 Python 的包裝器。相反,Swift 憑借其差異化的編程支持和像 C 一樣的低級(jí)工作能力,將有可能被用來(lái)取代底層的深度學(xué)習(xí)工具。

結(jié)論

隨著數(shù)據(jù)量的不斷增加,Python 的致命弱點(diǎn)很快就會(huì)被發(fā)現(xiàn)。易用性和快速編寫代碼的能力已不再重要,速度和并行計(jì)算才是游戲的主角,Python 作為一種通用語(yǔ)言,將不再解決這些問(wèn)題。Python 會(huì)消失,而 Julia 和 Swift 似乎是接任 Python 的候選人。

但是,我們要注意的是,Python 作為一種編程語(yǔ)言不會(huì)很快消失。而是在數(shù)據(jù)科學(xué)中的地位將逐漸倒退,因?yàn)閷iT為深度學(xué)習(xí)而設(shè)計(jì)的語(yǔ)言才是主流。

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

2018-09-13 08:19:50

Python Java 編程語(yǔ)言

2009-05-31 08:42:03

RIAJavaFXFlash

2017-03-22 18:08:18

2013-10-14 09:24:01

周回顧UbuntuGroovy

2017-04-17 10:48:05

騰訊云

2009-03-19 20:33:35

LinuxWindows上網(wǎng)本

2013-01-10 10:11:27

桌面虛擬化VDIIDV

2023-07-12 13:29:44

2009-03-19 09:05:16

Windows 7上網(wǎng)本Linux

2017-05-17 10:51:40

共享單車NB-IoT技術(shù)

2016-02-01 22:13:35

存儲(chǔ)凱翔

2017-04-11 12:59:18

NB-IoT

2014-11-13 11:19:55

語(yǔ)音輸入搜狗語(yǔ)音

2017-04-11 16:17:34

共享單車物聯(lián)

2009-05-31 09:54:39

海輝軟件孫振耀外包

2009-06-09 09:54:06

電子商務(wù)

2020-10-18 21:33:35

PythonJuliaSwift

2023-11-23 16:49:56

容器PodmanDocker

2016-02-25 10:09:15

MapReduceHadoopHDFS

2009-09-01 09:11:00

點(diǎn)贊
收藏

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

主站蜘蛛池模板: 国产精品视频区 | 欧美一级黄色片在线观看 | 久久高清免费视频 | 欧美精三区欧美精三区 | 亚洲丝袜天堂 | 国产日韩欧美激情 | 免费观看一级特黄欧美大片 | 91精品国产自产精品男人的天堂 | 一级黄色在线 | 色综合一区 | 91精品国产91久久久久久丝袜 | 亚洲欧美日本在线 | 亚洲交性 | 欧美中文在线 | 国产精品国产亚洲精品看不卡15 | 免费av在线网站 | 欧美激情亚洲天堂 | 日韩一级精品视频在线观看 | 狠狠影院| 亚洲成人免费网址 | av天天看 | 99免费在线视频 | 日韩高清中文字幕 | 国产我和子的乱视频网站 | 中文字幕一区二区三区四区 | 午夜噜噜噜 | 日韩在线不卡视频 | 国产久 | 午夜电影网站 | 中文字幕第三页 | 在线a视频 | 久久久高清 | 日韩一区二区三区在线视频 | 亚洲激情在线观看 | 黄色毛片免费看 | 欧美2区| 久久国内精品 | 99视频在线免费观看 | 国产乱码高清区二区三区在线 | 日本在线播放一区二区 | 久久久久9999 |