最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python3 正在毀滅 Python的原因分析

 更新時(shí)間:2014年11月28日 15:28:06   投稿:mdxy-dxy  
Python 2強(qiáng)大的一個(gè)地方是它身后巨大的第三方庫(kù),恩,可以做任何事。Python 3沒(méi)有這個(gè)。是的,很多庫(kù)已經(jīng)移植了,但是仍然有數(shù)以十倍的庫(kù)沒(méi)有移植過(guò)去,而且也不太容易

Python 3毫不費(fèi)力地成為發(fā)生在Python社區(qū)里最糟糕的事。我還記得第一次使用Python的時(shí)候,我還在花大量時(shí)間在C++這塊上,而Python就像是我的一次開(kāi)光。我可以打開(kāi)文本編輯器用幾秒鐘或者幾分鐘寫(xiě)出一個(gè)可以工作的程序,而不是用幾小時(shí)或幾天。我記得Python 2.5出來(lái)的時(shí)候,帶來(lái)了一大堆嶄新的簡(jiǎn)潔的語(yǔ)言特性。我愛(ài)Python,但是我承認(rèn)它有弱點(diǎn),但是沒(méi)關(guān)系,所有編程語(yǔ)言都有。它強(qiáng)大的地方使其變得有趣。Python 3相比Python 2擁有一些小小的增量的改進(jìn),但同時(shí)卻失去了很多Python 2強(qiáng)大的東西。

Python 2強(qiáng)大的一個(gè)地方是它身后巨大的第三方庫(kù),恩,可以做任何事。Python 3沒(méi)有這個(gè)。是的,很多庫(kù)已經(jīng)移植了,但是仍然有數(shù)以十倍的庫(kù)沒(méi)有移植過(guò)去,而且也不太容易。舉個(gè)例子,你需要解析X格式,而X解析起來(lái)并不簡(jiǎn)單,它不是常見(jiàn)的像YAML或JSON的格式。很有可能這個(gè)為X的解析器在Python 2里已經(jīng)寫(xiě)好了,但是還沒(méi)有移植到Python 3。另外,考慮到Python 2的字節(jié)字符串(str)和Python 3的字節(jié)字符串(bytes)之間的根本不同,移植起來(lái)將不會(huì)那么容易。事實(shí)上會(huì)很難移植,并且需要一點(diǎn)移植技巧,像維護(hù)Python 2和Python 3的兼容性那樣。因此,你有一些選擇,可以用Python 2(一個(gè)被棄用的語(yǔ)言)快速寫(xiě)你的app,導(dǎo)入一些庫(kù)(還有它們所有的依賴(lài)),可能會(huì)有十倍之長(zhǎng);或者可以用另外的編程語(yǔ)言,它也有很多第三方庫(kù),但是不會(huì)面臨Python 2/3的問(wèn)題。第二個(gè)選擇顯然不是很流行,因?yàn)椴蝗唬覀兙陀写罅縋ython 3寫(xiě)的app產(chǎn)品,然后Python 2的一大批庫(kù)會(huì)被移植過(guò)來(lái)。(譯者注:這個(gè)邏輯貌似有點(diǎn)問(wèn)題?)這兩種都沒(méi)有發(fā)生。人們要么繼續(xù)用Python 2寫(xiě)軟件,要么選擇另一個(gè)不自己打臉的語(yǔ)言。

另外一個(gè)Python 2的強(qiáng)大之處是用它寫(xiě)的程序幾乎總是能夠不用大量修改而運(yùn)行在Python的下一個(gè)版本上。如果你的公司運(yùn)營(yíng)在用Python 2寫(xiě)的軟件上(就像很多公司那樣),移植到Python 3將會(huì)消耗大量資金,因?yàn)槟愕膔equirements文件可能十分大,并且充斥著各種還沒(méi)有移植到Python 3的庫(kù)。沒(méi)有哪個(gè)理智的商業(yè)理由會(huì)花成百上千甚至百萬(wàn)美元價(jià)值的開(kāi)發(fā)時(shí)間來(lái)移植到Python 3。如果相比更便宜的話(huà),你都可能會(huì)要求某某把他們整個(gè)代碼庫(kù)移植到Ruby。現(xiàn)在如果你必須要重寫(xiě)你的軟件的話(huà),你會(huì)選擇Python 3嗎?不。

那些支持Python 2和3的比較流行的庫(kù)幾乎都只用該語(yǔ)言的子集,這樣在兩個(gè)平臺(tái)上就都能運(yùn)行。SQLAlchemy,我喜愛(ài)的Python庫(kù)之一,它這樣做的很好。Django也如此,但是做得不那么好。這個(gè)語(yǔ)言子集,我會(huì)稱(chēng)之為Python X,使用起來(lái)很沒(méi)意思,需要一些奇淫技巧,并且通常沒(méi)有Python 2或者Python 3強(qiáng)大。把Python 2的庫(kù)移植到Python X有意思嗎?很可悲的是一點(diǎn)意思都沒(méi)有,因?yàn)榱頟ython偉大的就是這些樂(lè)趣。

Python 2,很可悲,已經(jīng)被棄用了。Python 3頹廢得沒(méi)人用。Python 3的改動(dòng)不大。沒(méi)有帶來(lái)多少好處,但缺失去了很多。在過(guò)去的幾個(gè)月,我用Python 3構(gòu)建了一些項(xiàng)目和服務(wù)。我沒(méi)有被它打敗。這很像用Python 2寫(xiě)軟件,除了只能獲得很少的一些庫(kù)。這里沒(méi)有什么令人驚嘆的事情。Python社區(qū)在過(guò)去的幾年本應(yīng)該轉(zhuǎn)移到Python 3了,但是結(jié)果就是越來(lái)越明顯看到人們轉(zhuǎn)移到新的語(yǔ)言(或者重新發(fā)現(xiàn)的舊語(yǔ)言)上。這些語(yǔ)言有些也有很好的特性,像強(qiáng)大的輸入系統(tǒng),模式匹配,更出色的性能,更好的多線(xiàn)程和并發(fā),更簡(jiǎn)單的外部函數(shù)接口(FFI),更漂亮的lambda語(yǔ)句等等。

一個(gè)方案是fork Python 2.7,然后繼續(xù)發(fā)展這門(mén)語(yǔ)言,加入一些盡量向后兼容的特性,這樣那些不能移植(由于一些財(cái)政方面的約束)的Python 2應(yīng)用程序可以繼續(xù)演進(jìn)和改善,進(jìn)而給那些投入如此多時(shí)間開(kāi)發(fā)他們的公司或個(gè)人帶來(lái)價(jià)值。這才是需要去做的正確的事(事實(shí)上,如果Guido和Python社區(qū)里其他主導(dǎo)人能夠官方地做這件事,而不是強(qiáng)迫大家fork,那會(huì)是最好的)。Python 3里的特性可以向后移植到Python 2,然后發(fā)布Python 2.8。那些已經(jīng)花時(shí)間用純Python 3寫(xiě)新的軟件的人可以使用例如3to2的工具變成與Python 2.8兼容。Python 3然后就可以為了Python庫(kù)維護(hù)者們能夠用Python 2代替Python X而安靜地離去。

還有一些其他的方案,但是拯救Python 2顯然是要做的正確的事,所以也不值一提了。Python 2的拯救不會(huì)來(lái)自官方,因?yàn)樨?fù)責(zé)這類(lèi)事的人表現(xiàn)出了對(duì)Python 2使用者極大的鄙視。如果社區(qū)的人不團(tuán)結(jié)起來(lái)拯救Python 2,Python 3數(shù)年之后會(huì)成為Python的標(biāo)準(zhǔn),然后很多庫(kù)將要被移植(盡管很多肯定不會(huì)),然后很多的投入也將會(huì)白費(fèi)。社區(qū)那時(shí)候會(huì)大量的萎縮,并失去往日的光芒。參考Perl。人們將把它遺忘。

相關(guān)文章

  • python str與repr的區(qū)別

    python str與repr的區(qū)別

    repr() 輸出對(duì) Python比較友好,而str()的輸出對(duì)用戶(hù)比較友好。雖然如此,很多情況下這三者的輸出仍然都是完全一樣的
    2013-03-03
  • 基于python批量處理dat文件及科學(xué)計(jì)算方法詳解

    基于python批量處理dat文件及科學(xué)計(jì)算方法詳解

    今天小編就為大家分享一篇基于python批量處理dat文件及科學(xué)計(jì)算方法詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2018-05-05
  • Python實(shí)現(xiàn)的密碼強(qiáng)度檢測(cè)器示例

    Python實(shí)現(xiàn)的密碼強(qiáng)度檢測(cè)器示例

    這篇文章主要介紹了Python實(shí)現(xiàn)的密碼強(qiáng)度檢測(cè)器,結(jié)合實(shí)例形式分析了Python密碼強(qiáng)度檢測(cè)的原理與實(shí)現(xiàn)方法,涉及Python字符串運(yùn)算與轉(zhuǎn)換、判斷等相關(guān)操作技巧,需要的朋友可以參考下
    2017-08-08
  • Python中字符串List按照長(zhǎng)度排序

    Python中字符串List按照長(zhǎng)度排序

    這篇文章主要介紹了字符串List按照長(zhǎng)度排序(python)的實(shí)現(xiàn)方法啊,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2019-07-07
  • Python3.6安裝卸載、執(zhí)行命令、執(zhí)行py文件的方法詳解

    Python3.6安裝卸載、執(zhí)行命令、執(zhí)行py文件的方法詳解

    這篇文章主要介紹了Python3.6之安裝卸載、執(zhí)行命令、執(zhí)行py文件的方法,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-02-02
  • python安裝/卸載模塊方法步驟詳解(附詳細(xì)圖解)

    python安裝/卸載模塊方法步驟詳解(附詳細(xì)圖解)

    在日常工作中會(huì)需要安裝或者卸載Python模塊.于是我整理了一下,下面這篇文章主要給大家介紹了關(guān)于python安裝/卸載模塊的相關(guān)資料,文中通過(guò)圖文介紹的非常詳細(xì),需要的朋友可以參考下
    2023-01-01
  • git進(jìn)行版本控制心得詳談

    git進(jìn)行版本控制心得詳談

    這篇文章主要介紹了git進(jìn)行版本控制的心得和經(jīng)驗(yàn),給并大家總結(jié)了作者的技巧,需要的朋友們參考一下吧。
    2017-12-12
  • python讓列表倒序輸出的實(shí)例

    python讓列表倒序輸出的實(shí)例

    今天小編就為大家分享一篇python讓列表倒序輸出的實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2018-06-06
  • Python演化計(jì)算基準(zhǔn)函數(shù)詳解

    Python演化計(jì)算基準(zhǔn)函數(shù)詳解

    這篇文章主要介紹了Python演化計(jì)算基準(zhǔn)函數(shù),非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友參考下吧,希望能夠給你帶來(lái)幫助
    2021-10-10
  • 對(duì)python 自定義協(xié)議的方法詳解

    對(duì)python 自定義協(xié)議的方法詳解

    今天小編就為大家分享一篇對(duì)python 自定義協(xié)議的方法詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2019-02-02

最新評(píng)論

仙游县| 冷水江市| 门源| 阳原县| 肇东市| 即墨市| 罗平县| 淮滨县| 遂溪县| 衢州市| 如皋市| 南京市| 图们市| 奎屯市| 顺平县| 宿迁市| 东宁县| 弥渡县| 西峡县| 杭州市| 于田县| 保德县| 新巴尔虎右旗| 湖南省| 广安市| 鹤壁市| 安仁县| 扎鲁特旗| 蛟河市| 凉山| 蕲春县| 五大连池市| 防城港市| 平度市| 长顺县| 浑源县| 普兰店市| 中卫市| 大同县| 手游| 平江县|