国产精品嫩草99av在线_一区在线视频观看_欧美高清一区_欧美 日韩 国产 一区_99精品欧美一区二区三区_久久大香伊蕉在人线观看热2_一色屋精品视频在线观看网站_在线亚洲国产精品网站_亚洲区一区二区三区_你懂的视频一区二区

當前位置:首頁 > 科技  > 軟件

到底該不該使用Python?

來源: 責編: 時間:2023-08-14 22:00:40 424觀看
導讀作者 | JOS VISSER編譯 | 王瑞平最近,大家總在吐槽Python:“雖然它是一種不錯的語言,但不適用于專業領域。”前不久,我在LinkedIn上找到一篇帖子,主要建議初級開發人員應該學習哪種語言,以便獲得更好的工作機會,Python憑借出

作者 | JOS VISSERujk28資訊網——每日最新資訊28at.com

編譯 | 王瑞平ujk28資訊網——每日最新資訊28at.com

ujk28資訊網——每日最新資訊28at.com

最近,大家總在吐槽Python:“雖然它是一種不錯的語言,但不適用于專業領域。”ujk28資訊網——每日最新資訊28at.com

ujk28資訊網——每日最新資訊28at.com

前不久,我在LinkedIn上找到一篇帖子,主要建議初級開發人員應該學習哪種語言,以便獲得更好的工作機會,Python憑借出色的表現穩居第一。

ujk28資訊網——每日最新資訊28at.com

圖片圖片ujk28資訊網——每日最新資訊28at.com

ujk28資訊網——每日最新資訊28at.com

 其它證據同樣表明:Python確實太受歡迎了!近日,TIOBE編程社區公布了“2023年8月編程語言排行榜”。

ujk28資訊網——每日最新資訊28at.com

數據顯示:Python依然排名第一,占比13.33%;C語言緊隨其后,排行第二,占比11.41%;C++位列第三,占比10.63%,與C語言差距為0.78%。ujk28資訊網——每日最新資訊28at.com

ujk28資訊網——每日最新資訊28at.com

圖片圖片ujk28資訊網——每日最新資訊28at.com

ujk28資訊網——每日最新資訊28at.com

此外,Java和C#分別排在第四和第五位,占比分別為10.33%和7.04%。JavaScript在本月依然保持榜單第六位,占比為3.29%。ujk28資訊網——每日最新資訊28at.com

ujk28資訊網——每日最新資訊28at.com

雖然Python如此受歡迎,但它能否持續流行依舊是一個重大問題,很多用戶普遍認為,如果持續使用將會使行業倒退好幾年。ujk28資訊網——每日最新資訊28at.com

1、局限:Python無法開發大型應用程序

ujk28資訊網——每日最新資訊28at.com

Python對于開發大型應用程序不太友好,在工程化實踐中需要特殊的技術支持。ujk28資訊網——每日最新資訊28at.com

ujk28資訊網——每日最新資訊28at.com

“我曾用Python編寫過大型應用程序很多年。由于Python入門非常簡單,在編寫大型應用程序時就像用樂高積木構建核反應堆一樣。”原作者在文章中形象地比喻道。ujk28資訊網——每日最新資訊28at.com

ujk28資訊網——每日最新資訊28at.com

“但是,現在‘反應堆’已經運行很久,輻射泄漏到處都有,我們需要到處‘貼新磚’讓‘反應堆’持續運轉。”ujk28資訊網——每日最新資訊28at.com

ujk28資訊網——每日最新資訊28at.com

實際上,目前唯一能做的就是將“反應堆”封裝在混凝土中讓它冷卻下來,然后再用合適的建筑材料構建出一個新的。ujk28資訊網——每日最新資訊28at.com

ujk28資訊網——每日最新資訊28at.com

認為“Python無法開發大型應用程序”的網友認為它“不太友好”,在工程化實踐中需要特殊技術支持。ujk28資訊網——每日最新資訊28at.com

ujk28資訊網——每日最新資訊28at.com

圖片圖片ujk28資訊網——每日最新資訊28at.com

ujk28資訊網——每日最新資訊28at.com

也有反對者認為:在大型項目中,與影響更大的其它因素相比,編程語言的語法、語義、范式等幾乎無關緊要。團隊經驗和熟悉度、開發管理、流程、實踐、支持工具、文檔、語言生態系統、語言成熟度、管理支持等都會對項目結果產生更大的影響。ujk28資訊網——每日最新資訊28at.com

ujk28資訊網——每日最新資訊28at.com

另外,從技術層面來講,質疑Python無法開發大型編程語言只能反映提問者對相關開發缺乏了解。這些質疑一是源于Python的動態類型特性,使類型推斷變得困難,對代碼的靜態檢查和重構十分不利;二是由于Python代碼沒有編譯過程,因此缺少編譯時檢查錯誤機制。ujk28資訊網——每日最新資訊28at.com

ujk28資訊網——每日最新資訊28at.com

關于動態類型特性質疑,Python從3.3版本起就引入類型聲明,因此,只要遵循規范編寫代碼,類型推斷和代碼重構就不是問題。ujk28資訊網——每日最新資訊28at.com

ujk28資訊網——每日最新資訊28at.com

不久前,ChatGPT的問世也證明了Python可以寫出高性能、可擴展性強的大型分布式計算平臺—Ray。目前,這個平臺已匯聚超過1億的月活躍用戶。ujk28資訊網——每日最新資訊28at.com

ujk28資訊網——每日最新資訊28at.com

“糟糕的應用程序架構是絕大多數應用產生性能瓶頸的原因,而不應該由開發語言來背黑鍋。”有些評論者這樣認為。ujk28資訊網——每日最新資訊28at.com

2、速度慢

ujk28資訊網——每日最新資訊28at.com

誠然,Python與其它開發語言相比,在運行速度方面確實落后不少。究其根源,還是由于Python之父認為不需要過多關注Python的速度問題,認為它已經足夠快了。ujk28資訊網——每日最新資訊28at.com

ujk28資訊網——每日最新資訊28at.com

確實,對于99%以上的任務來說,Python的速度夠快,快到足以支撐早期Google和Dropbox。ujk28資訊網——每日最新資訊28at.com

ujk28資訊網——每日最新資訊28at.com

自那時起,Python的速度又有了顯著提升,但開發者仍要求Python運行得更快。因為,無論人們已經使用Python構建出算力多么驚人的計算平臺,它的計算能力在很多場景下依然更慢。ujk28資訊網——每日最新資訊28at.com

3、功能差

ujk28資訊網——每日最新資訊28at.com

當然,Python是一種靈活的和duck類型的語言:我們鍵入代碼、保存它,然后僅在運行時才能根據輸入的數據確定語句始終有效、有時有效還是根本不可能實現。 ujk28資訊網——每日最新資訊28at.com

ujk28資訊網——每日最新資訊28at.com

此外,你在用Python編寫程序時,只能部分控制進入該函數的數據,需要嚴格檢查所有輸入的數據。ujk28資訊網——每日最新資訊28at.com

ujk28資訊網——每日最新資訊28at.com

更糟糕的是,Python的duck式輸入方式可能會引入“可怕”代碼,這會帶來麻煩。ujk28資訊網——每日最新資訊28at.com

4、錯誤百出

ujk28資訊網——每日最新資訊28at.com

我在用Python編寫大型應用程序的這些年里,經歷過一些可怕的事情;如果這些應用程序是用理性的、安全的語言編寫的,這些事就不會發生。ujk28資訊網——每日最新資訊28at.com

ujk28資訊網——每日最新資訊28at.com

*在幾年前的一個例子中,我設法說服組織用Rust重寫系統,效果非常不錯!ujk28資訊網——每日最新資訊28at.com

ujk28資訊網——每日最新資訊28at.com

實際上,我曾多次在社區中發布用Python編寫的大型應用程序新版本,結果卻立即被錯誤“吞噬”;這些錯誤都是由Python代碼異常導致的。ujk28資訊網——每日最新資訊28at.com

ujk28資訊網——每日最新資訊28at.com

*Python的捍衛者會說,這不是語言的缺陷,而是代碼審查和測試方法的缺陷。ujk28資訊網——每日最新資訊28at.com

*他們錯了!理論上,測試方法主要是查看每一行代碼并檢查每個輸入和場景,但實際上這并不可能!ujk28資訊網——每日最新資訊28at.com

ujk28資訊網——每日最新資訊28at.com

好的編程語言的特點之一是:你不必檢查和測試內存中每個相關位置的排列;如果必須詳盡地檢查和測試每個“a=b+c”,程序將可能永遠無法應用于實踐。ujk28資訊網——每日最新資訊28at.com

ujk28資訊網——每日最新資訊28at.com

我會經常查看Python函數,并想了解是否有人實際調用了它們以及攜帶了哪些參數。ujk28資訊網——每日最新資訊28at.com

ujk28資訊網——每日最新資訊28at.com

我也經常不得不“求助”代碼庫的全文搜索功能尋找調用位置;不幸的是,即便沒有輸出任何結果,當我刪除相應函數時,程序依然會崩潰;就算程序沒有立即崩潰,也無法判斷程序是否會在某種情況下崩潰。ujk28資訊網——每日最新資訊28at.com

5、分叉進程,耗盡內存

ujk28資訊網——每日最新資訊28at.com

用Python的另一個問題是內存。我的筆記本電腦有10個CPU內核,其中,Python應用程序大約占用1.2個。ujk28資訊網——每日最新資訊28at.com

ujk28資訊網——每日最新資訊28at.com

這該怎么辦呢?幸運的是,我可以在Python中使用分叉工作進程的功能處理請求,確保所有核心都能正常使用。ujk28資訊網——每日最新資訊28at.com

ujk28資訊網——每日最新資訊28at.com

不幸的是,分叉進程的操作很快就耗盡了內存,所以我決定在處理完一定數量的請求后自行終止分叉,然后由Linux進行內存管理。雖然這并不是Python本身的問題,但Python使內存管理變得更加糟糕。ujk28資訊網——每日最新資訊28at.com

ujk28資訊網——每日最新資訊28at.com

分叉工作進程還有另一個影響:Python使用引用計數法擊敗了寫時復制。為控制引用計數,保存只讀變量的內存塊也被寫入,從而耗費了一定的內存。ujk28資訊網——每日最新資訊28at.com

ujk28資訊網——每日最新資訊28at.com

解決這個問題的有效方法是:讓編譯器對所有由主進程創建和由worker進程繼承的變量使用參考數值,而不必觸及到具有該參考數值的引用計數。ujk28資訊網——每日最新資訊28at.com

ujk28資訊網——每日最新資訊28at.com

這是超級聰明的解決方案,但我認為應該沒這個必要。如果你需要破解編譯器才能讓Python為你所用,那這種語言又有什么用呢?ujk28資訊網——每日最新資訊28at.com

ujk28資訊網——每日最新資訊28at.com

總之,Python使編寫可靠、易于維護和快速的代碼變得非常困難。ujk28資訊網——每日最新資訊28at.com

6、將Python替換成GO

ujk28資訊網——每日最新資訊28at.com

當我對Python忍無可忍之時就會轉向Go,它使用起來幾乎與Python同樣容易、安全,還能快速構建系統并生成高度優化的二進制本機代碼文件。ujk28資訊網——每日最新資訊28at.com

ujk28資訊網——每日最新資訊28at.com

雖然Go也并不是完美的,但是,如果你想可靠和快速地編寫代碼,并在代碼失控時可以調試和重構,Go比Python好很多!ujk28資訊網——每日最新資訊28at.com

ujk28資訊網——每日最新資訊28at.com

參考資料:

https://www.zhihu.com/question/321166662/answer/2937406779?utm_id=0ujk28資訊網——每日最新資訊28at.com

https://www.zhihu.com/question/321166662/answer/2937406779ujk28資訊網——每日最新資訊28at.com

本文鏈接:http://m.rrqrq.com/showinfo-26-5699-0.html到底該不該使用Python?

聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。郵件:2376512515@qq.com

上一篇: CSS 如何改變網格布局偶數行的排序?

下一篇: SpringBoot獲取Request的三種方法!

標簽:
  • 熱門焦點
Top 国产精品嫩草99av在线_一区在线视频观看_欧美高清一区_欧美 日韩 国产 一区_99精品欧美一区二区三区_久久大香伊蕉在人线观看热2_一色屋精品视频在线观看网站_在线亚洲国产精品网站_亚洲区一区二区三区_你懂的视频一区二区
黑人一区二区三区四区五区| 欧美一级专区免费大片| 亚洲高清在线播放| 亚洲欧洲精品一区| 亚洲第一在线| 欧洲一区二区三区在线| 日韩欧美在线网站| 亚洲乱码国产乱码精品精小说| 国产精品福利一区| 国产美女久久久久| 国产一区视频在线观看免费| 中文字幕在线一区| 激情国产一区二区 | 国产精品草草| 91福利视频网站| 国产精品热久久久久夜色精品三区| 亚洲伦理在线精品| hitomi一区二区三区精品| 亚洲一区久久| 久久精品人人做人人综合| 另类小说视频一区二区| 一区精品久久| 久久精品一区四区| 国产精品一区二区x88av| 亚洲看片免费| 中文在线一区二区| 91麻豆免费在线观看| 欧美欧美欧美欧美| 日日摸夜夜添夜夜添国产精品| 亚洲国产激情| 亚洲精品美国一| 亚洲无毛电影| 国产精品久久久久久久久免费丝袜 | 久久精品久久99精品久久| 亚洲国产黄色| 精品福利一区二区三区| 91免费看视频| 国产人久久人人人人爽| 成人一区在线看| 久久―日本道色综合久久| 成人福利电影精品一区二区在线观看| 久久综合导航| 五月婷婷久久综合| 色综合久久88色综合天天6| 美女一区二区三区| 欧美色爱综合网| 成人高清在线视频| 国产欧美日韩伦理| 欧美大度的电影原声| 亚洲国产欧美在线人成| 麻豆精品网站| 欧美福利在线| 亚洲精品国产成人久久av盗摄 | 亚洲每日在线| 丝袜a∨在线一区二区三区不卡| 另类图片国产| 久久精品国产亚洲一区二区三区 | 欧美日韩高清在线一区| 亚洲视频免费在线观看| 国产精品免费一区二区三区观看| 亚洲另类春色校园小说| 91麻豆精品国产91久久久使用方法 | 欧美日韩一卡| 亚洲视频综合在线| 欧美一级高清片在线观看| 91啪九色porn原创视频在线观看| 一区二区三区欧美在线观看| 欧美精品99久久久**| 亚洲大黄网站| 国产91富婆露脸刺激对白| 亚洲一区二区三区国产| 久久蜜桃一区二区| 在线免费观看日本欧美| 奇米影视7777精品一区二区| 色婷婷综合久久久久中文| 一本色道精品久久一区二区三区| 亚洲国产99| 亚洲麻豆av| 亚洲性图久久| 成人精品免费网站| 波多野结衣中文字幕一区| 国产在线国偷精品免费看| 自拍偷拍亚洲欧美日韩| 久久久不卡影院| 日韩欧美你懂的| 欧美日韩一区二区在线观看 | 中文字幕一区在线观看| 亚洲欧美日韩国产综合| 欧美不卡一区二区三区四区| 91精品免费观看| 欧美酷刑日本凌虐凌虐| 制服丝袜激情欧洲亚洲| 日韩精品一区二区三区视频播放| 欧美亚洲一区二区在线观看| 一本在线高清不卡dvd| 亚洲欧洲一区二区在线观看| 欧美日韩国产一区精品一区| 国产大片一区二区| 蜜桃久久久久久| 国产精品久久久久久久久果冻传媒 | 成人中文字幕电影| 高清成人在线观看| 国产成人精品亚洲午夜麻豆| 一区二区成人在线观看| 亚洲一区二区av电影| 7777精品伊人久久久大香线蕉最新版| 精品国产一区二区精华| 欧美一区二区三区在线观看视频| 欧美日韩一区二区在线观看视频 | 美日韩精品免费| 色综合久久88色综合天天| 欧美亚洲精品一区| 欧美色综合网站| 中文字幕一区二区日韩精品绯色| 亚洲同性gay激情无套| 日韩伦理电影网| 久久超碰97中文字幕| 国产一区在线精品| 在线观看成人一级片| 久久久天天操| 精品美女在线观看| 亚洲丝袜精品丝袜在线| 久久精品国产亚洲高清剧情介绍| 欧美日韩精品欧美日韩精品| 精品电影一区二区三区| 亚洲欧美一区二区三区极速播放| 石原莉奈在线亚洲三区| 国产成人精品www牛牛影视| 亚洲高清免费| 久久久久9999亚洲精品| 亚洲第一福利一区| 成人小视频免费在线观看| 性色av一区二区怡红| 久久久久久久综合狠狠综合| 日韩激情一二三区| 欧美日韩国产三区| 56国语精品自产拍在线观看| 亚洲乱码中文字幕综合| 黄色欧美日韩| 亚洲精品在线三区| 国产精品中文字幕日韩精品 | 制服视频三区第一页精品| 中文字幕不卡的av| 成人久久视频在线观看| 7777精品久久久大香线蕉| 亚洲自拍偷拍av| 欧美日韩一视频区二区| 日韩视频免费观看高清完整版在线观看 | 一本久道久久久| 亚洲一区二区三区四区中文字幕| 不卡av免费在线观看| 欧美午夜不卡在线观看免费| 亚洲国产成人va在线观看天堂| 国产一区二区三区免费在线观看| 欧美日韩精品一区二区三区四区| 一区二区三区欧美久久| 国一区二区在线观看| 久久久久九九视频| 国产九色sp调教91| 久久亚洲综合色一区二区三区| 懂色av中文一区二区三区| 4438成人网| 久久天堂av综合合色蜜桃网| 国内精品久久久久久久97牛牛 | 欧美成人福利视频| 亚洲无线视频| 一区二区在线看| 久久久天天操| 国产成人一区在线| 欧美激情自拍偷拍| 亚洲高清在线| 日本不卡视频在线观看| 欧美一级免费观看| 激情久久久久| 日本欧美肥老太交大片| 91精品久久久久久久91蜜桃| 日本伊人午夜精品| 日韩情涩欧美日韩视频| 欧美日韩福利| 日本不卡在线视频| 中文乱码免费一区二区| 成人激情图片网| 免费观看一级特黄欧美大片| 午夜精品爽啪视频| 亚洲一二三四在线观看| 亚洲男女毛片无遮挡| 国产精品午夜电影| 中文字幕高清不卡| 欧美videofree性高清杂交| 26uuu国产电影一区二区| 欧美大片拔萝卜| 久久久久国产精品麻豆ai换脸 | 亚洲免费毛片网站| 亚洲精品亚洲人成人网| 亚洲日韩欧美一区二区在线| 日本一区二区综合亚洲| 久久久国产午夜精品| 国产精品国模大尺度视频| 亚洲免费伊人电影| 奇米影视在线99精品|