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

Python 之父:移動設(shè)備中的 Python 應(yīng)用“又大又慢”!

開發(fā) 后端
隨著機器學(xué)習(xí)的興起,有一門編程語言逐漸變得火熱——Python。得益于其針對機器學(xué)習(xí)提供了大量開源框架和第三方模塊,內(nèi)置大量機器學(xué)習(xí)算法,Python 在開發(fā)者中逐漸流行起來。

 近年來,隨著機器學(xué)習(xí)的興起,有一門編程語言逐漸變得火熱——Python。得益于其針對機器學(xué)習(xí)提供了大量開源框架和第三方模塊,內(nèi)置大量機器學(xué)習(xí)算法,Python 在開發(fā)者中逐漸流行起來。

盡管如此,我們卻很難在移動設(shè)備中看見用 Python 開發(fā)的應(yīng)用程序。

基于此,Python 之父 Guido van Rossum 和部分 Python 開發(fā)者都希望未來有天能看見用 Python 編寫的應(yīng)用能在 iOS 和 Android 設(shè)備上運行。其中 Russell Keith-Magee 發(fā)起了BeeWare 項目,該項目旨在將 CPython 移植到 Android,即用 Python 編寫的應(yīng)用可以在 Android 上本地運行。

按理說,在 BeeWare 項目取得了初步成功后應(yīng)值得慶賀,但 Guido van Rossum 卻清晰地認識到:Python 在移動設(shè)備和瀏覽器領(lǐng)域中都存在“痛點”。

[[402882]]

1、在 Android 上運行純 Python 應(yīng)用障礙重重

BeeWare 項目成立的目標(biāo)是讓開發(fā)者能用 Python 編寫應(yīng)用程序,而在去年 2 月,這一目標(biāo)初步實現(xiàn)了第一個里程碑:一個純 Python 應(yīng)用程序在可以在 Android 設(shè)備上運行!

彼時,Russell Keith-Magee 就指出:“這不是項目的結(jié)束——而是開始。”如他所說,BeeWare 項目的追求,絕對不僅僅是 Python 應(yīng)用可以運行在 Android 上就滿足了。

BeeWare 的目標(biāo)是讓開發(fā)者能用 Python 編寫的應(yīng)用程序,在包括 iOS、Android、Windows、macOS、Linux、瀏覽器和 tvOS 上都能很好地運行。但問題在于,Python 無法像臺式機系統(tǒng)那樣應(yīng)用于移動設(shè)備。

為了解決這個缺點,Python 軟件基金會去年向 BeeWare 項目給予了 50000 美元的資助,以使其對 Android 的支持水平有所提高,而 CPython Android 端口必須支持運行 4.4 或更高版本的大多數(shù)現(xiàn)代 Android 設(shè)備。  

對此,MongoDB 工程師兼 Python 貢獻者 A Jesse Jiryu Davis 表示:“BeeWare 的策略是將 Python 編譯為 Java 字節(jié)碼,但如今 Android 設(shè)備足夠快,并且 Android 內(nèi)核足以運行 CPython 本身。”

不過 Davis 指出這項計劃的一個主要障礙就是用 Python 編寫的 Android 應(yīng)用程序的規(guī)模。因為 Python 應(yīng)用需要自己的運行環(huán)境副本,所以這就意味著 Python 需要縮小規(guī)模以順利運行在移動設(shè)備。對此,有些人建議可以通過創(chuàng)建一個簡化內(nèi)核版本的 Python 以解決該問題。

另外,構(gòu)建 Python 應(yīng)用程序?qū)ζ胀ǖ?Python 開發(fā)者而言也是完全陌生的領(lǐng)域。Davis 解釋道:“沒有子進程;套接字和信號行為都與常規(guī) Unix 有所不同;并且禁止許多 syscall。”

除此之外,資金和人才也是一大難題。Python 軟件基金會中的 Ned Deily 認為,相比許多其他 Python 計劃,提供移動支持需要更多的資金和人力。Davis 也表示,由于 Python 不支持移動設(shè)備,因此沒有公司為移動設(shè)備上的 Python 提供資金,也沒有人愿意依靠移動設(shè)備來為 Python 籌集資金。

2、Python 在瀏覽器和移動設(shè)備上不成功的原因

對于 Python 在移動設(shè)備上艱難的發(fā)展,近日 Python 之父 Guido van Rossum 也給予了正面回應(yīng):“許多人都覺得,如果移動應(yīng)用程序可以用 Python 編寫,那就太好了。實際上也有一些人在為此努力實現(xiàn),但 CPython 已有 30 年的歷史了,它最初是為工作站、臺式機和服務(wù)器環(huán)境而誕生的。”

他補充道:“但那些設(shè)法讓 CPython 能在移動設(shè)備上運行的人們發(fā)現(xiàn),Python 消耗了太多的資源。”

Guido van Rossum 指出,與期待中在移動操作系統(tǒng)運行的情況相比,Python 又大又慢:運行 Python 編寫的應(yīng)用會迅速消耗電池電量和內(nèi)存。

不僅如此,他還承認 Python 在瀏覽器中可能也沒有前途。

“雖然 Python 在后端 Web 開發(fā)中很流行,但的確 JavaScript 在前端 Web 開發(fā)中占主導(dǎo)地位。”他表示,越來越多的 Web 開發(fā)人員都在使用微軟的 JavaScript 超集——TypeScript。

Guido van Rossum 總結(jié)為:“Python 是一種非常流行的后端語言。在谷歌,我從事的項目都基于 Python 構(gòu)建;在 Dropbox,整個 Dropbox 服務(wù)器都是基于 Python 構(gòu)建的。但你如果看瀏覽器中運行的是什么代碼,那必然是 JavaScript 的世界。”

不過對此 Guido van Rossum 并不氣餒,他認為 Python 應(yīng)該專注于有利的應(yīng)用領(lǐng)域,包括后端網(wǎng)絡(luò)和科學(xué)數(shù)據(jù)處理。

除此之外,Python 之父也對 Julia(一種可能在科學(xué)計算和機器學(xué)習(xí)領(lǐng)域跟 Python 競爭的編程語言,但沒有如 Python 那般豐富的機器學(xué)習(xí)和數(shù)據(jù)科學(xué)庫)發(fā)表了一些看法:Julia 是一種非常像 Python 的有趣作品。

他認為,Julia 在很多的細節(jié)上與 Python 非常相似,并且在其編譯器優(yōu)化代碼方面更勝 Python 一籌。但總體看來,Julia 還頗有不足,屬于一種“小眾語言”。 

 

責(zé)任編輯:龐桂玉 來源: 馬哥Linux運維
相關(guān)推薦

2015-08-21 10:14:17

Python 之父Python

2015-08-20 10:05:15

Python

2020-04-23 11:18:14

Redis分布式

2017-12-26 15:08:57

2022-03-18 16:14:44

戴爾

2013-09-03 10:20:10

SlashdotPythonPython之父采訪

2019-07-24 13:42:34

Python編程語言代碼

2010-11-12 10:38:17

LBS

2013-08-26 10:19:03

移動設(shè)備移動應(yīng)用

2019-10-31 15:13:11

Python

2017-07-31 09:42:05

2011-12-19 20:51:58

移動應(yīng)用

2015-10-29 14:35:21

移動設(shè)備現(xiàn)代化

2021-06-07 11:40:26

Python命令代碼

2014-11-13 14:28:15

Python

2021-05-26 16:10:00

Python 開發(fā)編程語言

2019-05-27 08:09:43

WiFi無線信道上網(wǎng)

2018-03-05 10:27:47

電腦卡頓舊電腦

2013-12-04 09:31:10

2011-08-31 08:41:07

Java高斯林
點贊
收藏

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