八家正在使用Python的世界級軟體公司

目前有500多種編程語言,每天都有更多的編程語言被編寫出來。不可否認,這些重疊的大部分和大量從來沒有打算使用以外的理論或實驗室設置。但是對於日常編碼和業務中使用的編程語言,您必須做出選擇。你應該學什麼語言?為什麼你要把時間花在學習上?

由於這是一個專門討論Python的站點,我們已經告訴了您Python為什麼是一種很好的學習語言。您可能還知道Python可能是樹莓Pi最喜歡的語言(因為大多數語言都是預先載入的)。知道了這一點,你就知道了用Pi套件和一點點獨創性能做什麼了不起的事情。雖然很容易看到如何修改Python,但您可能想知道這如何轉化為實際的業務和實際應用程序。

我們現在要做的是向您介紹您知道的八家使用Python的頂級公司。這樣,您就可以看到Python開發人員在現實世界中的巨大機會。

Advertisements

谷歌

谷歌幾乎從一開始就支持Python。一開始,Google的創始人決定「Python用在我們能做到的地方,c++y用在我們必須做到的地方」。這意味著c++用於必須進行內存控制且需要低延遲的情況。在其他方面,Python實現了易於維護和相對快速的交付。

即使在Perl或Bash中為Google編寫了其他腳本,這些腳本也經常被重新編碼為Python。原因在於部署的方便性和Python維護的簡單性。事實上,根據《Plex》一書的作者StevenLevy的說法,谷歌的第一隻網路爬行蜘蛛最初是用Java 1.0編寫的,難度很大,他們把它改寫成了Python。

python現在是Google伺服器端的官方語言之一—c++、Java和Go是允許部署到生產環境中的其他三種語言。如果你不確定Python對谷歌有多重要,Python自己的BDFLGuido van Rossum從2005年到2012年在谷歌工作過。

Advertisements

最重要的是,彼得諾維格說:

「Python從一開始就一直是Google的一個重要組成部分,隨著系統的發展和演變,Python一直是Google的重要組成部分。如今,數十名谷歌工程師使用Python,我們正在尋找更多具備這種語言技能的人。""

Facebook

Facebook的生產工程師對Python特別感興趣,使其成為社交媒體巨頭中第三大最受歡迎的語言(僅次於c++及其專有的PHP方言Hack)。平均而言,Facebook在公用事業和服務、管理基礎架構、二進位分發、硬體映像和操作自動化方面的投入超過5,000項。

Python庫的易用性意味著生產工程師不必編寫或維護太多的代碼,從而使他們能夠集中精力實現改進。它還確保Facebook的基礎設施能夠高效擴展。

根據Facebook2016年的一篇文章,Python目前負責基礎架構管理中的多項服務。其中包括使用TORconfig來處理網路交換機設置和映像,FBOSS用於白盒交換機CLIs,以及使用Dapper來調度和執行維護工作。

Facebook已經發布了許多為Py3編寫的開源Python項目,包括Facebook廣告API和Python非同步irbot框架。Facebook目前正在將其基礎設施和處理程序從2升級到3.4,AsyncIO正在幫助他們的工程師。

Instagram

2016年,Instagram engineering團隊吹噓說,他們正在運行世界上規模最大的Djangoweb框架部署,該框架完全用Python編寫。這在今天仍然適用。Instagram的軟體工程師敏妮說,他們對Python的生產和使用:

「我們最初選擇使用Python是因為它以簡單實用著稱,這與我們「先做簡單的事情」的理念很一致。" "

從那時起,Instagram的工程團隊投入了大量時間和資源來保持Python部署在大規模(每月約8億活躍用戶)下的可行性:

「通過我們為Instagram的web服務構建效率框架所做的工作,我們相信我們將繼續使用Python擴展我們的服務基礎架構。我們還開始對Python語言本身進行更多的投資,並開始探索將Python從第2版移動到第3版。""

2017年,Instagram將其大部分Python代碼庫從Python 2.7遷移到Python3。您可以觀看郭麗薩和丁暉在PyCon 2017年發表的主題演講,並了解他們在大規模代碼遷移方面的經驗:

Spotify

這個音樂流巨人是Python的巨大支持者,主要將該語言用於數據分析和後端服務。在後端,有大量服務都通過0 MQ (即ZeroMQ)進行通信,這是一個開源網路庫和框架,用Python和c++編寫(以及其他語言)。

服務用Python編寫的原因是Spotify喜歡用Python編寫和編碼時開發管道的速度。Spotify架構的最新更新都使用了gevent,它提供了一個具有高級同步API的快速事件循環。

Spotify依靠大量分析為用戶提供建議和建議。為了解釋這些,Spotify使用了Luigi,一個與Hadoop同步的Python模塊。此開源模塊處理庫如何協同工作,並快速整合錯誤日誌,以便進行故障排除和重新部署。

Spotify總共使用6000多個單獨的Python進程,它們在Hadoop集群的節點上協同工作。


Netflix

Netflix以與Spotify非常相似的方式使用Python,依靠該語言在伺服器端為其數據分析提供支持。然而,它並不僅僅止於此。Netflix允許他們的軟體工程師選擇用什麼語言編寫代碼,並且注意到Python應用程序的數量激增。

在接受調查時,Netflix工程師引用了標準庫、極其活躍的開發社區以及可用於解決幾乎任何給定問題的豐富多樣的第三方庫。此外,由於Python易於開發,因此它已成為Netflix許多其他服務的關鍵。

Python使用的主要位置之一是中央警報網關。這個RESTfulweb應用程序處理來自任何地方的警報,然後將警報路由到需要查看警報的人員或組。此外,應用程序還可以抑制已經處理的重複警報,在某些情況下,還可以執行自動解決方案,例如重新啟動進程或終止看起來不穩定的內容。考慮到大量的警報,這個應用對於Netflix來說是一個巨大的勝利。智能地處理它們意味著開發人員和工程師不會被多餘的調用淹沒。

Python在Netflix使用的另一個領域是用於跟蹤安全變化和歷史記錄的猴子應用程序。這些猴子用於跟蹤和提醒任何組中EC2安全相關策略的任何更改,跟蹤這些環境中的任何更改。它們還用於確保跟蹤連接到Netflix多個域的數十個SSL證書。在跟蹤過程中,Netflix發現意外到期日從2012年的四分之一降至零。

空Dropbox

此基於雲的存儲系統在其桌面客戶端中使用Python。如果你對Dropbox在Python上的投資有任何疑問,想想2012年,他們成功說服了Python的創造者、仁慈的獨裁者吉多·范·羅斯姆(Guido van Rossum ),讓他遠離谷歌,進入了Dropbox文件夾。

羅斯姆加入Dropbox的條件是他將成為一名工程師,而不是一名領導者,甚至是一名經理。在他的第一年,他能夠幫助實現與Dropbox社區中的其他用戶共享數據存儲區的能力。

雖然Dropbox的許多庫和內部構件都是專有的,而不是開源的,但該公司已經發布了一個用python編碼的非常高效的API,讓您可以了解其工程師的想法。在閱讀Dropbox工程師關於其伺服器端代碼中Python占很大比例的訪談時,您也可以在各行之間進行閱讀。

值得注意的是,雖然客戶端程序是用Python編碼的,但它們利用Mac和Windows計算機上的各種庫來實現統一的體驗。這是因為在Windows上沒有預安裝Python,並且根據Mac的不同,Python版本會有所不同。

reddit

reddit是一個特別有趣的網站,它使用Python的過程也充滿傳奇色彩。

2017年,該網站每月訪問量為5.42億人次,成為美國第四大訪問量最高的網站,也是世界第七大訪問量最高的網站。2015年,提交了7315萬份文件,頁面瀏覽量為825.4億次。在這一切的背後,構成軟體主幹的是Python。

Reddit最初是用Lisp編碼的,但是在2005年12月,也就是發布六個月後,這個站點被重新編碼為Python。這種改變的主要原因是Python具有更廣泛的代碼庫,並且在開發上更靈活。最初運行網站的web框架web. py現在是一個開源項目。

喜歡人工智慧,演算法,Python、JavaScript、Java相關話題,就關注頭條號:編程快訊

喜歡的朋友可以點贊、關注、轉發、評論!同時歡迎大家在評論中補充不足的地方!

Advertisements

你可能會喜歡