教育行業(yè)A股IPO第一股(股票代碼 003032)

全國(guó)咨詢/投訴熱線:400-618-4000

學(xué)會(huì)python的好處,輕易搭建自己的知乎

更新時(shí)間:2019年02月16日18時(shí)22分 來(lái)源:python培訓(xùn) 瀏覽次數(shù):

  關(guān)于python,有的人關(guān)注他的應(yīng)用領(lǐng)域,有的人關(guān)注他有多大的號(hào)召力,不過(guò)不管你關(guān)注什么,python似乎都能給予你驚喜;至于領(lǐng)域、方向,人工智能、爬蟲、運(yùn)維、數(shù)據(jù)分析、互聯(lián)網(wǎng)安全、搜索引擎、算法、開發(fā)等,這更不用懷疑了吧;對(duì)于號(hào)召力,你看他近年來(lái)吸引了多少迷妹、迷弟,就連美國(guó)知乎Quora都選擇Python作為它的開發(fā)環(huán)境!可以預(yù)見(jiàn)學(xué)會(huì)python的好處是莫大的,尤其是國(guó)內(nèi)最大的知識(shí)交流社區(qū)-知乎也是采用python來(lái)搭建的。
  自從Facebook的創(chuàng)始人Adam D'Angelo開始效力于這個(gè)大量使用了PHP的網(wǎng)站,我就一直在想他要用Python而不是PHP來(lái)創(chuàng)造Quora所遇到的技術(shù)挑戰(zhàn)。我們非常確定我們不會(huì)用PHP。Facebook因?yàn)闅v史遺留原因而使用PHP,并不是因?yàn)樗亲詈玫倪x擇。從以往的經(jīng)驗(yàn)看來(lái),編程語(yǔ)言的選擇是非常重要的,并且會(huì)付出非常昂貴的代價(jià)來(lái)改變它。
  Python是一個(gè)Charlie和我都非常了解的語(yǔ)言(盡管我現(xiàn)在比剛開始的時(shí)候了解的更多了)。我們也簡(jiǎn)單地考慮過(guò)C#、Java和Scala,Python最大的問(wèn)題是運(yùn)行速度和缺少數(shù)據(jù)類型檢查。
  C#似乎是很有前途,作為一個(gè)編程語(yǔ)言,它很偉大,但是:我們不想在微軟架構(gòu)上,我們是為了學(xué)習(xí)新東西的,MS SQL 確實(shí)是非常不錯(cuò)的,但是我們知道我們需要為.NET集成很多有二等支持的開源代碼,如果它支持的話。并且,現(xiàn)在大部分的工程師都習(xí)慣開源資源。我們不會(huì)在Mono(C#/.NET的一個(gè)開源代碼的實(shí)現(xiàn))上冒險(xiǎn)。還不清楚這個(gè)項(xiàng)目會(huì)用多長(zhǎng)時(shí)間,并且我還聽(tīng)說(shuō)了不少已經(jīng)表現(xiàn)出來(lái)的問(wèn)題。總之,似乎一切在C#生態(tài)系統(tǒng)中的東西都表現(xiàn)出我們會(huì)在微軟架構(gòu)下。
  ‘另外兩個(gè)我們簡(jiǎn)要考慮了的語(yǔ)言還有OCaml和Haskkell(沒(méi)有一個(gè)有足夠大的生態(tài)系統(tǒng)或足夠好的標(biāo)準(zhǔn)庫(kù),可能對(duì)于需要寫代碼的設(shè)計(jì)師/數(shù)據(jù)分析師/非工程師來(lái)說(shuō)太難了)。
  我們決定,對(duì)于大多數(shù)我們要做的事情來(lái)說(shuō),Python已經(jīng)足夠快了(因?yàn)槲覀儽M可能的把我們的后端服務(wù)的關(guān)鍵代碼用C++來(lái)寫)。至于類型檢查,我們寫了完善的單元測(cè)試,它值得寫,并且實(shí)現(xiàn)了大部分相同的目標(biāo)。從它過(guò)去的5年發(fā)展來(lái)看,Python會(huì)繼續(xù)向著好的方向發(fā)展。

學(xué)會(huì)python的好處
  所以,我們對(duì)于這個(gè)選擇感到非常開心。雖然其中有一些小的分歧,但是之前使用其他語(yǔ)言的早期的員工非常高興的過(guò)渡到了Python,特別是之前使用PHP的。自從下面這些事情開始發(fā)生:
  Python2.6是一個(gè)轉(zhuǎn)折點(diǎn),它有了足夠多的庫(kù)進(jìn)行兼容,我們很容易過(guò)渡到它。
  Tornado(web框架)被發(fā)布為開源,我們把實(shí)時(shí)更新網(wǎng)絡(luò)服務(wù)遷移到它上面。
  PyPy看起來(lái)最終是可用的,并且會(huì)給我們一個(gè)顯著的加速。
  總之,這些給了我們信心,讓我們相信這個(gè)語(yǔ)言和生態(tài)系統(tǒng)正向著好的方向發(fā)展。
  Charlie Cheever,Quora的一個(gè)創(chuàng)建者
  給Adam的答案補(bǔ)充幾件事情:
  Python有一堆相當(dāng)好的提供了良好的調(diào)試器和重載的框架(Django,Pylons和其他一些),這些大部分都被很好的支持并且也變得越來(lái)越好。由于我們的主要工作是建設(shè)網(wǎng)站,這是很有吸引力的。
  Python數(shù)據(jù)機(jī)構(gòu)很好的匹配JS數(shù)據(jù)結(jié)構(gòu),所以處理瀏覽器和服務(wù)器之間的數(shù)據(jù)非常直接和簡(jiǎn)單。這真是太好了,因?yàn)镼uora中涉及到大量的客戶端和服務(wù)端之間的不加載頁(yè)面的交互。
  Python代碼往往可讀性很強(qiáng),因?yàn)槲覀兿M茉诰W(wǎng)站上和一幫人工作,這變得非常重要。
  有很多其他的Python寫的庫(kù),所以很容易在我們的代碼中引入一些東西,比如:自定義郵件服務(wù)器、任務(wù)隊(duì)列,等等。
  Ruby是另一個(gè)我認(rèn)為比較合理的選擇,因?yàn)樗蚉ython有很多相同的優(yōu)點(diǎn),但是Adam和我都對(duì)Python了解的更多一點(diǎn)。
  而正是因?yàn)樯厦孢@些,python成為了一種趨勢(shì),相信如果你學(xué)會(huì)了python也可以輕易搭建屬于自己的知乎。

推薦閱讀:
python基礎(chǔ)教程

python難學(xué)嗎


0 分享到:
和我們?cè)诰€交談!