日韩成人免费在线_国产成人一二_精品国产免费人成电影在线观..._日本一区二区三区久久久久久久久不

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

到底該不該使用Python?

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

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

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

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

最近,大家總在吐槽Python:“雖然它是一種不錯的語言,但不適用于專業領域?!?span style="display:none">UAr28資訊網——每日最新資訊28at.com

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

“但是,現在‘反應堆’已經運行很久,輻射泄漏到處都有,我們需要到處‘貼新磚’讓‘反應堆’持續運轉?!?span style="display:none">UAr28資訊網——每日最新資訊28at.com

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

2、速度慢

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

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

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

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

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

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

3、功能差

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

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

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

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

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

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

4、錯誤百出

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

5、分叉進程,耗盡內存

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

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

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

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

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

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

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

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

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

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

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

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

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

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

6、將Python替換成GO

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

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

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

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

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

參考資料:

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

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

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

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

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

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

標簽:
  • 熱門焦點
Top 日韩成人免费在线_国产成人一二_精品国产免费人成电影在线观..._日本一区二区三区久久久久久久久不
欧美xxx在线观看| 香蕉久久夜色精品国产使用方法| 国际精品欧美精品| 黄色成人在线网址| 亚洲国产日韩欧美在线图片| 一区二区三区色| 亚洲欧美综合国产精品一区| 久久久水蜜桃| 欧美激情亚洲视频| 国产精品毛片a∨一区二区三区| 国产一区二区成人| 亚洲国产日韩精品| 中日韩美女免费视频网址在线观看| 亚洲欧美日韩一区二区三区在线观看| 久久久www成人免费精品| 欧美精品日韩一区| 国产啪精品视频| 亚洲精品久久嫩草网站秘色| 亚洲综合999| 欧美成人高清视频| 国产精品乱码| 亚洲国产欧美在线人成| 亚洲女同在线| 欧美freesex8一10精品| 国产精品永久免费在线| 亚洲国产欧美精品| 欧美一区二区免费视频| 欧美日韩国产另类不卡| 精品成人在线| 亚洲欧美另类在线观看| 欧美风情在线| 国产又爽又黄的激情精品视频 | 日韩亚洲不卡在线| 欧美在线视频免费| 欧美日韩在线一区二区| 亚洲第一网站免费视频| 亚洲欧美中文日韩v在线观看| 欧美成人资源| 狠狠做深爱婷婷久久综合一区| 中文精品视频| 欧美黄色aaaa| 激情成人亚洲| 羞羞色国产精品| 欧美日韩三级电影在线| 亚洲激情综合| 久久婷婷国产综合尤物精品 | 国产日韩亚洲| 在线一区免费观看| 欧美成黄导航| 尤妮丝一区二区裸体视频| 性欧美办公室18xxxxhd| 欧美亚州在线观看| 99riav久久精品riav| 欧美电影免费观看| ●精品国产综合乱码久久久久| 欧美一区影院| 国产精品综合色区在线观看| 国产精品99久久久久久久女警 | 欧美在线播放一区| 国产精品午夜电影| 亚洲无线视频| 欧美日韩中文字幕在线视频| 亚洲精品一区二区网址| 欧美 日韩 国产 一区| 一区二区三区在线视频免费观看| 欧美在线国产精品| 国产精品视频网址| 亚洲摸下面视频| 国产精品成人一区二区三区吃奶| 99国产精品久久久久久久成人热| 欧美成人资源网| 亚洲国产成人久久综合| 久久婷婷综合激情| 尤物yw午夜国产精品视频| 久久久亚洲国产天美传媒修理工| 国产综合色产| 久久久国产精彩视频美女艺术照福利 | 亚洲与欧洲av电影| 国产精品精品视频| 亚洲欧美日韩国产一区二区三区| 国产精品国产三级国产aⅴ无密码 国产精品国产三级国产aⅴ入口 | 国产一区二区三区视频在线观看| 欧美一级大片在线观看| 国产欧美高清| 欧美伊人久久久久久久久影院| 国产欧美一区二区三区另类精品 | 一区二区激情小说| 国产精品swag| 午夜久久黄色| 国产亚洲欧美一区| 久久精品视频免费| 一区二区在线视频| 免费观看30秒视频久久| 亚洲精品视频啊美女在线直播| 欧美精品国产一区二区| 一本色道久久加勒比88综合| 欧美午夜不卡在线观看免费 | 麻豆精品精华液| 亚洲国产成人在线| 欧美日韩精品一区二区天天拍小说| 99精品视频免费| 国产精品久久久对白| 午夜在线观看欧美| 极品日韩av| 欧美电影在线播放| 一区二区三区不卡视频在线观看 | 国产精品一区视频网站| 久久精品国产免费| 亚洲精品1234| 欧美午夜精品久久久久免费视| 亚洲午夜激情网页| 国产一二三精品| 欧美超级免费视 在线| 一本色道久久综合亚洲精品按摩| 国产精品女主播| 久久久久久穴| 日韩视频不卡中文| 国产精品日韩欧美综合| 久久视频这里只有精品| 99re视频这里只有精品| 国产日韩欧美不卡在线| 女女同性精品视频| 亚洲一区激情| 狠狠88综合久久久久综合网| 欧美激情一区二区三区在线视频| 亚洲图片欧洲图片日韩av| 国产午夜亚洲精品不卡| 欧美风情在线| 午夜久久久久久久久久一区二区| 亚洲福利视频免费观看| 国产精品videossex久久发布| 久久久国产一区二区| a91a精品视频在线观看| 国产在线日韩| 欧美日韩精品欧美日韩精品 | 欧美一区二区三区四区高清| 91久久久久久国产精品| 国产精品一香蕉国产线看观看| 另类人畜视频在线| 亚洲一区二区欧美日韩| 永久555www成人免费| 国产精品久久久久久久久免费桃花| 久久天天躁夜夜躁狠狠躁2022| 一区二区av在线| 激情久久影院| 国产精品久久久久久亚洲毛片| 久久乐国产精品| 亚洲特黄一级片| 亚洲国产精品第一区二区三区| 国产精品免费视频观看| 欧美国产日韩免费| 久久精品盗摄| 亚洲永久视频| 亚洲欧洲在线看| 国产一区视频网站| 欧美性生交xxxxx久久久| 麻豆成人精品| 欧美一区二区视频在线观看2020| 日韩视频一区二区三区在线播放免费观看 | 久久成人免费网| 亚洲四色影视在线观看| 亚洲国产天堂网精品网站| 国产性做久久久久久| 欧美性一二三区| 欧美精品一区二区三区一线天视频| 久久精品99国产精品日本| 亚洲综合电影| 艳女tv在线观看国产一区| 悠悠资源网久久精品| 国产亚洲午夜| 国产精品亚洲产品| 欧美三区美女| 欧美另类女人| 欧美成人午夜影院| 久久久久国产精品人| 午夜精品在线看| 亚洲一级黄色片| 一本大道久久a久久精二百| 精品av久久久久电影| 国产欧美日韩视频| 国产精品日韩一区二区三区| 欧美日韩中文字幕精品| 欧美精品一区二区视频| 欧美成ee人免费视频| 久久中文在线| 久久久综合精品| 久久久www成人免费精品| 欧美专区18| 欧美在线视频免费播放| 性久久久久久久| 午夜精品久久久久久久99热浪潮 | 国产精品久久久久秋霞鲁丝 | 亚洲精品乱码| 亚洲激情一区二区三区| 91久久视频| 亚洲国产天堂久久国产91| 亚洲高清视频在线| 亚洲国产成人一区| 在线色欧美三级视频| 亚洲国产精品视频| 亚洲黄色一区二区三区| 亚洲国产一二三| 亚洲精品国产品国语在线app| 亚洲国产精品欧美一二99|