十年前,由于編程語言種類匱乏,開發人員不必苦惱自己應該選擇哪一種編程語言;但是現在,世界上正在使用的編程語言超過500種,隨著人們的不斷交流,還會有更多的語言出現。對于開發人員而言,基于項目的特點等因素確定應該使用哪一種編程語言成為了首要任務。
Python是一種通用編程語言,可用于開發web應用程序、人工智能、機器學習、操作系統、移動應用程序和視頻游戲。
具備多功能性的Python是復雜web開發項目的理想解決方案:通過使用Python,開發人員能夠用相對簡單和容易的方式開發高級web應用程序。雖然HTML和JavaScript是構建前端或web瀏覽器的主要語言,但是開發人員可以使用基于Python的web框架(如Django)來簡化后端流程。
本文將討論Google、instagram或Netflix等技術巨頭偏好使用Python開發關鍵基礎設施的原因。
谷歌(Google)
在合并了Search、安卓、Youtube、Stadia等公司后,谷歌已經成為世界上比較大的科技公司之一。谷歌使用多種中央語言開發其技術棧,包括Python、Java和Golang。
由于Python的簡單性和相對快速的維護,谷歌公司剛剛建立時就使用了Python,并且沿用至今:谷歌的搜索引擎、YouTube、機器學習、人工智能、機器人項目等都是用Python開發的。
盡管Google可能會在其基礎設施中使用各種編程語言,但是Python作為其開發的核心語言的優先性地位卻不會被動搖。
由于Python的易訪問性和實用性,instagram目前正在使用Python編寫的Django Web框架,這與他們“先做簡單的事情”的公司理念非常吻合。在過去兩年里,instagram的規模翻了一番,全球已有5億用戶,因此他們需要最大限度地提高平臺的有效性,以保持其無縫擴展。
instagram承認他們想過改用Facebook的主要語言之一——PHP。但經過一番比較,他們承認,這兩者沒有顯著的差異??紤]到每一個新版本都會變得更快,instagram同意使用Python這一快速發展的語言。
必須指出的是,instagram的開發團隊花了十個月完成遷移過程,并將其分為以下幾步:首先是修改代碼,將不支持Python3的包替換為支持它的組件,其次是單元測試,最后是產品的最終發布。
Facebook一直在使用Python,也因此,Python成為了社交媒體開發的第三大常用語言(前兩種語言分別是C++以及他們專有的PHP語言HACK)。得益于簡單易用的Python庫,開發人員不必編寫大量代碼,而這使他們能夠集中精力進行實時改進。此外,它還提供了高效的Facebook基礎設施。
據Facebook稱,其開發人員使用Python完成許多基礎設施管理服務,其中包括使用TORconfig來處理網絡交換機的設置和映像,將FBOSS運用于白盒交換器CLIs,以及使用Dapper來調度和執行維護工作。
Facebook已經啟動了許多為Py3編寫的開源Python項目,其中包括Facebook Ads API和Python Async IRC botframework。
Spotify
另一家將Python應用于后端服務和數據分析的優秀公司是Spotify。此外,Spotify還通過自行開發的消息傳遞協議將不同的服務連接起來。因此,其八成服務是基于Python的,而其余兩成主要基于java,以及C語言或C++語言。
Spotify公司的首要任務是快速發展和增長,而這就是Spotify使用Python創建流媒體服務的原因——它基本上滿足了Spotify對于開發速度的需求。
Gevent是一個能夠高性能地同步應用程序接口的快速事件工具,而Spotify的新架構更新都是使用它完成的。Spotify使用與Hadoop同步的Python模塊Luigi形成海量數據,以便為用戶提供建議。
該開源項目管理著數據庫協同工作、編譯錯誤日志的方式,以便支持軟件的重新發布和故障排除。Spotify通過Hadoop集群節點同時運行了6000多個Python進程。
Quora
Quora再三斟酌他們最終想要使用的語言。其創始人之一Charlie Cheever將選擇范圍縮小到Python、C#、Java和Scala。他們對Python的主要擔憂是類型檢查的缺失和相對緩慢的檢查速度。最終,Quora的創建者延續了谷歌使用Python的決定,這使它更加易于編寫和讀取,并提升了C++對性能的增強。
許多如Django和Pylons般相當優秀的框架也是Quora公司考慮使用Python的一個重要因素。此外,Quora的開發團隊還考慮到了Quora主要涉及客戶機/服務器交互、不需要真正的頁面加載,所以這對于Python和JS之間的良好協作是一大優勢。
Amazon
Amazon是另一個使用Python語言的優秀公司。值得一提的是,在公司提出的眾多技術解決方案中,亞馬遜圍繞建議(即推薦交易)開發了一些功能:例如,Amazon分析顧客的購物習慣和使用模式,并為他們提供準確的建議。這是通過Python學習引擎實現的,Python學習引擎與Hadoop數據庫連接,因此,它們并行處理工作,以便盡可能高效和準確地提出建議。
Amazon團隊之所以選擇Python,首先是因為它的普及程度和它能夠提供的海量大數據。其次,Python具有可擴展性和便攜性,為Amazon提供了獨特的商業計劃。此外,Python實際上經常與其他技術(如Hadoop或Apache)配合使用。
Netflix
Netflix使用Python的方式與Spotify非常相似。Netflix的軟件工程師能夠自由選擇編程語言,而這些工程師已經看到了使用Python編寫應用程序的前景。此外,由于Python非常容易構建,它已經成為Netflix其他服務的重要組成部分。
Central AlertGateway是使用Python的重要部分之一。這個RESTful式的網絡應用向可能想要查看它們的個人和團隊發出警報。此外,該應用程序還可以刪除已處理的重復警報,以及提供自動解決方案,如重新啟動或結束不穩定的任務。由于警報的數量很多,這個應用程序的編寫對Netflix來說是巨大的勝利——智能化的處理可確保開發人員和工程師不會因為冗余呼叫而焦頭爛額。
Stripe
眾所周知,Stripe是一家研究公司的在線支付可行性的金融科技初創公司。Stripe使用Python為移動應用和網站設計應用程序接口,得益于此,Stripe管理在線業務(例如開發票、管理訂閱、預防欺詐)輕而易舉。
業內的很多優秀公司(如Salesforce、Lyft、Amazon等)都采用了Stripe研發的在線支付,其價值高達90億美元,而Python對于該平臺的成功至關重要。
由于其在金融工作中的高效,許多金融科技初創公司選擇了Python——它天生就適合與數據和計算相關的金融科技產品。此外,這背后的另一個原因是,Python是金融專家最容易學習的語言。
DropBox
Dropbox提供在線存儲文件并將其同步到設備上的云存儲服務,它在大部分服務和桌面客戶端中使用Python。2012年,Python的創建者Guido van Rossum受邀加入Dropbox。在供職于Dropbox的第一年,他幫助Dropbox社區中的其他用戶共享數據存儲。
該公司還為開發者提供了可以整合到他們的Python應用程序中的Python軟件開發工具包,加強了他們的歸屬感和價值感。Dropbox的開發人員也證實,他們使用Python完成大部分服務器端的編碼。
盡管Dropbox的許多庫和內部構件都是專有的,不是開源的,但Dropbox已經推出了一個非常強大的Python編碼應用程序接口來展示軟件工程師的思考方式。
Reddit是一個社交新聞平臺,人們能夠通過Reddit討論和表決其他人提交的內容。2017年,該網站每月訪問量為5.42億,是全球第四大訪問量網站,也是美國第七大比較受歡迎的網站。在2015年,Reddit上共有73.15億條內容和8.254兆次頁面瀏覽量。而Python是所有這些軟件背后的支柱。
Reddit最初是用Lisp編寫的,但在2005年12月,也就是Reddit發布6個月后,他們發現Python有海量代碼庫并且在開發方面效率更高,于是轉而使用Python。
這10家公司只是冰山一角,使用Python的公司還有很多。Python語言簡單、開發速度快、可擴展性強,僅憑Python就能夠構建幾乎一切廣泛體系的事實,這些都是公司們偏愛Python的原因。
責編AJX
-
谷歌
+關注
關注
27文章
6228瀏覽量
107743 -
python
+關注
關注
56文章
4825瀏覽量
86375 -
亞馬遜
+關注
關注
8文章
2692瀏覽量
84499
發布評論請先 登錄
PoE交換機如何助力智慧城市基礎設施建設?
智慧路燈與其他智慧城市基礎設施的互聯互通

AWS印度投資83億美元擴建云基礎設施
芯啟源全力助推《國家數據基礎設施建設指引》目標達成

全球首個光電融合算網基礎設施正式開通
開源基礎設施能力建設分論壇成功舉辦
轉型中的變壓站——能源基礎設施的創新項目

德州儀器能源基礎設施技術研討會深圳場即將開場

微軟與貝萊德推出千億美元AI基礎設施基金
貿澤推出針對基礎設施和智慧城市的工程技術資源中心
智能駕駛所需的基礎設施
第二屆大會回顧第25期 | OpenHarmony上的Python設備應用開發

使用SiC技術應對能源基礎設施的挑戰

評論