<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          Python憑啥這么受歡迎?

          共 3484字,需瀏覽 7分鐘

           ·

          2021-11-26 15:21


          10月,Python歷史性登頂TIOBE排行榜(并在11月保持蟬聯(lián)),20年來首次將C和Java擠下榜首。這成為Python的光榮一役,也標(biāo)志著一個(gè)編程語言的巔峰時(shí)刻。但是,Python驚人成功的背后又隱藏著怎樣的原因?



          Python的起步頗為低調(diào),它只是Guido van Rossum在1989年假期時(shí)打發(fā)空閑時(shí)間的愛好。他也很難想到,他創(chuàng)造的這一編程語言會在30年間為IT世界一隅帶來如此的深遠(yuǎn)影響。


          Van Rossum將Python定位為解釋型通用編程語言,他最初的設(shè)計(jì)目標(biāo)是,Python應(yīng)該是一種簡明易懂好上手的語言,像簡單英語一樣好理解,適用于日常工作,并且開源。


          當(dāng)Python社區(qū)聚集了越來越多的人,這些人又用Python做著各種各樣的事,這個(gè)設(shè)計(jì)目標(biāo)就為社區(qū)成員間的交流奠定了良好基礎(chǔ)??瓷先コ绦騿T是在為了工作寫Python,但實(shí)際上他們也真的享受其中。




          “我選擇Python,是因?yàn)橛盟鼘懘a真的很有意思,”Calvin Hendryx-Parker是一家咨詢公司的聯(lián)合創(chuàng)始人和CTO,這家公司主要做Python定制化開發(fā)。


          “我樂在其中,因?yàn)檫@不只是搬磚,而是具有創(chuàng)新和創(chuàng)造性的工作。這更像是一種匠心式的技能,工程師每天做著一成不變的工作,但工匠需要用創(chuàng)造性的方式解決各種問題,因?yàn)樗麄冎車沫h(huán)境是持續(xù)變化的?!?/p>




          Calvin Hendryx-Parker的公司創(chuàng)立初期主要做定制化Web應(yīng)用開發(fā),但越來越多客戶希望他們能為大數(shù)據(jù)項(xiàng)目落地提供幫助。Python不是項(xiàng)目涉及的唯一語言,他們通常也會適度加入其他人擅長的腳本語言。


          “好處是,很多大數(shù)據(jù)工具開始基于Python構(gòu)建了,”Calvin Hendryx-Parker表示,“Python更像是一種數(shù)據(jù)領(lǐng)域的通用語言?!?/strong>


          Python蟬聯(lián)11月TIOBE榜首

          (圖片來源:TIOBE Index)


          Python的全面生態(tài)



          Python的數(shù)據(jù)生態(tài)覆蓋廣泛并在持續(xù)擴(kuò)展。從支持TensorFlow運(yùn)行Keras的Python封裝,到諸如scikit-learn 和 NumPy的機(jī)器學(xué)習(xí)庫,從面向Spark和Dask集群的Python接口,到利用Jupyter notebooks或者Pandas進(jìn)行代碼測試,數(shù)據(jù)科學(xué)家和工程師可以在熟悉的Python語法下做任何事。


          Python的靈活性,是一家位于華盛頓特區(qū)的企業(yè)最看重的,他們使用Python開發(fā)數(shù)據(jù)pipeline工具。其CTO Chris White認(rèn)為,對他們來說Python就是完美的工具。




          “從更高層次上看,我們的設(shè)計(jì)敏感度,就是既有合理的默認(rèn)設(shè)置也可以深度配置,這樣在有需要的時(shí)候可以快速的運(yùn)行起來,在想深入細(xì)化的時(shí)候也可以做到深入細(xì)化,”Chris White表示,“Python幫助我們實(shí)現(xiàn)了這一目標(biāo),因?yàn)檎f到底Python是一種非常靈活的語言。你不需要知道‘編譯是什么’之類的事,你就可以直接寫出一段腳本?!?/p>




          一切都可以回到van Rossum為Python設(shè)計(jì)的風(fēng)格,就是要簡單不要復(fù)雜。歸功于其即時(shí)可讀性,Python的入門門檻極低。這使得無論是初級碼農(nóng)還是資深程序員都可以一樣的使用Python。


          “Python是我了解的不多的幾種可以寫原始腳本的語言之一。你不需要懂太多就可以可以直接運(yùn)行它,”Chris White說,“所以Python非常易用。當(dāng)然你也可以做其他事,比如用C寫擴(kuò)展之類?!?/p>


          靈活與性能



          與C語言相比,性能并不是Python的強(qiáng)項(xiàng),這是為了即時(shí)的靈活性和易用性而做的一個(gè)折中。還好有C擴(kuò)展,提供了實(shí)現(xiàn)更高性能的路徑。但是在很多情況下,高性能并不是必須的。




          “對于實(shí)時(shí)處理之類的極端需求,有很多其他編程語言比Python要快得多,”Chris White表示?!暗菍τ谌藗兤匠K幚淼?0%數(shù)據(jù),都無需這樣的高速度。”


          Python的另一大劣勢是類型安全性。Python是強(qiáng)類型語言,這也是被一些人所詬病的。但人們已經(jīng)開始意識到,這并沒有想象中那么嚴(yán)重,Chris White說。


          “人們一開始對很多事情都有抱怨,諸如速度和類型安全,現(xiàn)在態(tài)度也緩和了一些??赡茉谌藗兊牟糠謶?yīng)用中這并不是什么大事,”他說,“不支持?jǐn)?shù)據(jù)的類型檢查,確實(shí)是個(gè)問題,因?yàn)榇蟛糠謹(jǐn)?shù)據(jù)是非結(jié)構(gòu)化的。但是Python至少開始迭代并去解決了,而其他語言可能很早就迫使你另做打算。”




          開發(fā)速度是Python的一大加分項(xiàng)。因?yàn)樗囊子眯裕?strong style="box-sizing: border-box;">開發(fā)者可以輕松攢出點(diǎn)什么,而不需要非得做成大型項(xiàng)目。Python的這種隨意性在Juypter中表現(xiàn)的淋漓盡致,就算代碼并不嚴(yán)謹(jǐn),你也可以在瀏覽器中直接運(yùn)行。


          能力放大器



          如果使用得當(dāng),Python就可以成為能力放大器,提供先進(jìn)的數(shù)據(jù)工程和數(shù)據(jù)科學(xué)能力,如果使用C或Java,你得成為相關(guān)專家才能做到。Chris White舉例說明,他們的一個(gè)客戶使用了基于Python的工具來編排頗為復(fù)雜的數(shù)據(jù)工作流。


          “這位客戶提到,他并不是專業(yè)的軟件工程師,但也可以寫出他認(rèn)為高度魯棒、容錯(cuò)的批處理工作流,并且部署在Kubernetes中,”Chris White講到。“他說,他并不需要完全弄懂那些代碼的含義,只要借助相應(yīng)的工具就能把事做成?!?/p>


          Python降低了應(yīng)用門檻,在Python的靈活性和熱情的用戶社區(qū)的幫助下,誰都可以寫出會被DevOps工程師欣然接受的高質(zhì)量代碼。


          “Python讓你能夠快速搞定事情,”Hendryx-Parker表示?!岸遥绻袉卧獪y試或CI/CD部署等其他各種相關(guān)需求時(shí),Python也提供了可以輕松轉(zhuǎn)換為完整軟件項(xiàng)目的附加能力。


          開源社區(qū)



          Hendryx-Parker認(rèn)為,為Python提供又一大加持的是基于其構(gòu)建的開源社區(qū)。Hendryx-Parker已經(jīng)參加了Python Conference近20年,并且創(chuàng)立了當(dāng)?shù)氐腜ython用戶社群。


          “我們的社群成員都非常優(yōu)秀,他們也開放歡迎其他優(yōu)秀人才加入并成為社區(qū)一員,這對技術(shù)人來說并不那么容易?!?/p>


          Python有數(shù)千個(gè)add-ons、addition和integration,絕大部分都是開源的,但其中也有一些維護(hù)的并不好。這就導(dǎo)致有時(shí)候難免會遭遇到過時(shí)或壞掉的Python包,Hendryx-Parker說。


          反過來說,如果遇到有用但疏于維護(hù)的庫,其實(shí)也為Python用戶提供了一個(gè)機(jī)會,通過自愿幫助維護(hù)這些代碼來回饋社區(qū)。




          “當(dāng)我們的客戶遇到這樣的情況,我們也會勸說他們,允許我們在預(yù)算范圍內(nèi)花些時(shí)間來改進(jìn)這些開源項(xiàng)目,”Hendryx-Parker說?!拔艺J(rèn)為這總體來說是好事,是三贏。如果他們能拿到預(yù)算,他們知道他們也需要在供應(yīng)鏈中獲得這樣的能力,就很容易接受了?!?/p>


          與文檔充分的R生態(tài)相比,Python生態(tài)稍顯無序,這就是有利就有弊,Chris White說。


          “R確實(shí)很強(qiáng)的吸引力,因?yàn)樗杏X更像是一個(gè)標(biāo)準(zhǔn)。R的軟件包都在同一個(gè)‘宇宙’中,可以很好的協(xié)作,我想這就是吸引人們使用R的原因,”他說?!癙ython更像是野生派,你差不多可以做任何事,但沒有Tidyverse那樣嚴(yán)格標(biāo)準(zhǔn)化的一整套R包。”


          而另一方面,Python擁有如此巨大而開放的社區(qū),用戶有大量的支持資源?!吧鐓^(qū)中有非常多的優(yōu)質(zhì)資料,你總能快速找到所需的解答,”Chris White說?!安贿^答案并不是現(xiàn)成的,我們確實(shí)還需要專門去查找。”




          Python擁有光明的未來。它已經(jīng)處于或者接近每個(gè)人心目中的數(shù)據(jù)科學(xué)和數(shù)據(jù)工程所需技能之首。如果保持現(xiàn)在的勢頭,Python看上去肯定會繼續(xù)增長,直到其他競爭者把它擠下巔峰。


          作者:Alex Woodie

          原標(biāo)題:What’s Driving Python’s Massive Popularity?

          原鏈接:https://www.datanami.com/2021/10/20/whats-driving-pythons-massive-popularity/

          編譯:TalkingData

          封面來源于:微信公共圖庫


          推薦閱讀:

          數(shù)據(jù)分析領(lǐng)域的編程語言之爭,誰才是王者?

          傳統(tǒng)行業(yè)如何用上AI?吳恩達(dá)給出了兩個(gè)建議

          慘烈而短命,CDO的一生何以至此?


          TalkingData——用數(shù)據(jù)說話

          每天一篇好文章,歡迎分享關(guān)注

          瀏覽 56
          點(diǎn)贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評論
          圖片
          表情
          推薦
          點(diǎn)贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  日韩成人黄色 | 日日爽夜夜 | 亚洲人成网77777色在线播放 | 国产成人在线观看免费网站 | 熟女AV一区 |