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

有人說(shuō)Julia比Python好,還給出了5個(gè)理由

開(kāi)發(fā) 開(kāi)發(fā)工具 后端
本文作者從速度、通用性、多重派發(fā)、適用于 ML 的程度和包管理器 5 個(gè)方面闡述了 Julia 語(yǔ)言相較于 Python 的優(yōu)勢(shì)所在。

Julia 是一種多范式的函數(shù)式編程語(yǔ)言,用于機(jī)器學(xué)習(xí)和統(tǒng)計(jì)編程。盡管 Python 通常被認(rèn)為是一種面向?qū)ο蟮木幊陶Z(yǔ)言,其實(shí)它也是用于機(jī)器學(xué)習(xí)的多范式編程語(yǔ)言。需要注意的是,Julia 語(yǔ)言更多地基于函數(shù)范式。此外,Julia 語(yǔ)言雖不如 Python 那么流行,但在數(shù)據(jù)科學(xué)中使用 Julia 具有很大的優(yōu)勢(shì),從而使它在很多情況下成為更好的編程語(yǔ)言選擇。

下文將從五個(gè)方面介紹 Julia 的優(yōu)勢(shì)所在。

速度

首先是速度,這是 Julia 語(yǔ)言引以為傲的一個(gè)重要方面。與 Python 需要解釋器來(lái)執(zhí)行代碼不同,Julia 主要是依托自身實(shí)現(xiàn)編譯。另一方面,與 C 語(yǔ)言等其他編譯語(yǔ)言也不同的是,Julia 在運(yùn)行時(shí)進(jìn)行編譯,而傳統(tǒng)語(yǔ)言則是在執(zhí)行前進(jìn)行編譯。如果 Julia 語(yǔ)言編寫(xiě)地非常好,它的速度與 C 語(yǔ)言相當(dāng)、有時(shí)甚至可以超過(guò) C 語(yǔ)言。Julia 語(yǔ)言使用即時(shí)編譯器 Just In Time(JIT)compiler,它的編譯速度非常快,盡管它編譯時(shí)更像是一種解釋型語(yǔ)言而非 C 或 Fortran 等傳統(tǒng)低級(jí)編譯語(yǔ)言。

通用性

我們都知道通用性是 Python 語(yǔ)言相較于 Julia 語(yǔ)言的一個(gè)優(yōu)勢(shì),確實(shí)有很多通過(guò) Python 語(yǔ)言編寫(xiě)的項(xiàng)目無(wú)法使用 Julia 來(lái)實(shí)現(xiàn)。當(dāng)然以上僅針對(duì)編程語(yǔ)言本身而言,我們這里提到的通用性是指能夠與其他語(yǔ)言混合編程。Julia 代碼普遍能夠在 R、Latex、Python 和 C 等語(yǔ)言中直接運(yùn)行。這意味著典型的數(shù)據(jù)科學(xué)項(xiàng)目具有一旦被編寫(xiě)完成并在 Julia 本地進(jìn)行編譯后,在其他編程語(yǔ)言中作為封裝類或僅傳遞字符串使用的潛力。

PyCall 和 RCall 也是 Julia 語(yǔ)言的兩大優(yōu)勢(shì)??紤]到 Julia 語(yǔ)言一大缺點(diǎn)在于包的豐富程度不及 Python 或 R 語(yǔ)言,利用 PyCall 和 RCall 在 Julia 代碼中隨時(shí)調(diào)用 Python 和 R 為用戶提供了極大的便利。PyCall 在 Julia 語(yǔ)言中得到了很好地實(shí)現(xiàn),并且也非常有用。

多重派發(fā)

Julia 是一種非常獨(dú)特的類型化語(yǔ)言,具有自己的執(zhí)行模式和特征,但其中一個(gè)非??岬奶卣魇撬亩嘀嘏砂l(fā)。首先,Julia 的多重派發(fā)速度非常快。除此之外,使用 Julia 的多態(tài)派發(fā)能夠?qū)⒑瘮?shù)定義應(yīng)用為結(jié)構(gòu)屬性。這使得繼承(inheritance)在 Julia 內(nèi)部可行。不僅如此,使用 Julia 的多重派發(fā)還可以實(shí)現(xiàn)函數(shù)的擴(kuò)展,這對(duì)于包擴(kuò)展來(lái)說(shuō)好處多多,因?yàn)闊o(wú)論什么時(shí)候顯式地導(dǎo)入 method,用戶都可以對(duì)它進(jìn)行更改。因此,用戶可以很容易地顯式導(dǎo)入自己的 method,并選擇相應(yīng)結(jié)構(gòu)將它擴(kuò)展為一個(gè)新的函數(shù)。

適用于 ML 的程度

與 Python 不同,Julia 語(yǔ)言的目的是應(yīng)用于統(tǒng)計(jì)學(xué)和機(jī)器學(xué)習(xí)領(lǐng)域。Python 語(yǔ)言則創(chuàng)建于 20 世紀(jì) 90 年代早期,是一種面向?qū)ο蟮恼Z(yǔ)言,并且自此之后也改變了很多。盡管 Python 具有很長(zhǎng)的發(fā)展歷史以及廣泛的應(yīng)用范圍,但使用一種專門(mén)創(chuàng)建用于高級(jí)統(tǒng)計(jì)工作的語(yǔ)言能夠帶來(lái)很大的好處。

我認(rèn)為在線性代數(shù)中使用 Julia 要好于 Python。原生的 Python 只能緩慢完成線性代數(shù),而原生的 Julia 可以飛快地完成。這是因?yàn)椋琍ython 最開(kāi)始并不是開(kāi)發(fā)來(lái)用于支持與機(jī)器學(xué)習(xí)相關(guān)的所有矩陣和方程運(yùn)算的。這并不意味著 Python 不好,特別是當(dāng)有了 NumPy 擴(kuò)展庫(kù)之后。但就不導(dǎo)入額外擴(kuò)展庫(kù)而言,Julia 更適合于這類數(shù)學(xué)運(yùn)算。此外,與 Python 相比,Julia 的操作數(shù)系統(tǒng)與 R 語(yǔ)言的更為相近。使用 Julia 語(yǔ)言能夠更快速、更容易地完成大多數(shù)線性代數(shù)運(yùn)算,如以下代碼所示:

  1. Python -> y = np.dot(array1,array2) 
  2. R -> y <- array1 * array2 
  3. Julia -> y = array1 .* array2 

包管理器

Julia 的 Pkg 包管理器秒殺 Python 的 Pip 包管理器。Pkg 自帶 REPL 和 Julia 包,你可以從中構(gòu)建、添加、移除、實(shí)例化包。因?yàn)?Pkg 和 Git 是綁定的使得以上操作尤其便利。更新、添加包都非常容易。總之,比起 Python 的 Pip,Pkg 的使用體驗(yàn)在任何時(shí)候都要愉悅得多。

總結(jié)

R 也好,Julia 也好,Python 也好,你用什么語(yǔ)言其實(shí)沒(méi)那么重要。重要的是,你要知道每種語(yǔ)言都有它的劣勢(shì),沒(méi)有哪種語(yǔ)言是無(wú)可挑剔的。特別是當(dāng)你的程序用途廣泛時(shí)尤為明顯(從機(jī)器學(xué)習(xí)到 GUI 到 API)。綜上所述,Julia 和 Python 一樣是我很喜歡的語(yǔ)言之一。Python 有更好的包,如果項(xiàng)目足夠小,我就會(huì)用 Python。但是對(duì)于擁有數(shù)百萬(wàn)個(gè)觀察結(jié)果的數(shù)據(jù)集,用 Python 讀取數(shù)據(jù)都會(huì)變成一件難事。

總之,我對(duì) Julia 的未來(lái)滿懷期待。Julia 寫(xiě)起來(lái)很有趣,而且在未來(lái)的數(shù)據(jù)科學(xué)領(lǐng)域可能會(huì)變得更加實(shí)用。

【本文是51CTO專欄機(jī)構(gòu)“機(jī)器之心”的原創(chuàng)譯文,微信公眾號(hào)“機(jī)器之心( id: almosthuman2014)”】 

戳這里,看該作者更多好文

 

責(zé)任編輯:趙寧寧 來(lái)源: 51CTO專欄
相關(guān)推薦

2020-02-24 12:34:21

JuliaPython編程語(yǔ)言

2009-03-11 17:52:36

LinuxGnomeKDE

2010-01-14 14:38:47

為什么使用三層交換機(jī)

2013-09-27 10:03:31

AndroidiOS 7

2025-02-07 13:45:58

2021-02-26 20:40:06

LinuxWindows操作系統(tǒng)

2020-04-17 14:35:28

JuliaPython編程

2018-05-16 07:48:55

2017-12-19 16:24:20

2020-09-16 23:00:15

Rust編程語(yǔ)言開(kāi)發(fā)

2018-06-07 15:18:07

開(kāi)源求職

2021-01-28 12:08:17

數(shù)據(jù)工具技術(shù)

2021-02-05 17:47:53

GraphQLAPI開(kāi)發(fā)

2022-04-26 15:24:03

開(kāi)源框架

2013-08-21 09:50:19

Windows 8

2016-04-13 13:56:43

IT討厭理由

2010-03-19 09:39:17

Python編程語(yǔ)言

2019-11-07 09:34:43

Python語(yǔ)言Java

2022-10-08 09:03:16

JuliaPython機(jī)器學(xué)習(xí)
點(diǎn)贊
收藏

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

主站蜘蛛池模板: 婷婷中文在线 | 91在线视频网址 | 拍戏被cao翻了h承欢 | 日韩欧美视频在线 | 欧美精品网 | 成人精品一区亚洲午夜久久久 | 成年人视频在线免费观看 | 久热中文字幕 | 国产一级毛片精品完整视频版 | 国产99久久久国产精品 | 免费九九视频 | 伊人网综合在线观看 | 91在线视频免费观看 | 亚洲欧美在线观看视频 | 国产一区二区在线播放 | 福利在线观看 | 久久青 | 亚洲精品国产a久久久久久 午夜影院网站 | 欧美午夜一区二区三区免费大片 | 日本久久黄色 | 国产精品资源在线观看 | 一区二区三区四区国产 | 亚洲国产欧美精品 | 亚洲欧美中文日韩在线v日本 | 亚洲日韩中文字幕一区 | 精品九九在线 | 在线国产欧美 | 久久一区二区三区电影 | 成人a视频片观看免费 | 色在线视频网站 | www.黄色网| 国产91精品久久久久久久网曝门 | 欧产日产国产精品视频 | 免费在线观看成年人视频 | 欧美一二三区 | 91精品国产91综合久久蜜臀 | 午夜影院视频在线观看 | 久久久久久久久国产 | 日韩欧美大片 | 网站黄色在线 | 99精品欧美一区二区三区 |