當前位置:係統粉 >   IT資訊 >   微軟資訊 >  不受微軟待見的 Python,如何在八年內逆襲成功?

不受微軟待見的 Python,如何在八年內逆襲成功?

時間:2018-12-23 來源:互聯網 瀏覽量:

不受微軟待見的 Python,如何在八年內逆襲成功?(1)

Python 是微軟未來雲計算的一個重要組成部分,是服務和團隊需要支持的語言之一,也是微軟公司內外快速增長的數據科學和分析領域最受歡迎的語言。但一直以來,Python 在微軟似乎從來沒有享有如此高的盛譽。

2010 年,我們的一些 Python 程序員非常低調,以防有人注意到他們,把他們拉入自己的項目。他們為數不多,是從之前的工作中留存下來的,但卻一點一點地改變患上“非我原創(not invented here)”綜合症的公司文化:Python 屬於其他人,所以微軟對它不感興趣。

然而,過去八年卻發生了戲劇性的變化。微軟的很多產品現在都開始支持 Python,還有一些最新的產品隻支持 Python。我們的一些關鍵工具是用 Python 開發的,而且我們也正在積極地在這門語言和社區上投入。

從 2011 年加入公司到現在,我有幸參與了一些重要的 Python 項目。現在,我在為 Python 在微軟的發展壯大貢獻著一己之力,並與社區合作,讓每個人都能更好地使用 Python。

Visual Studio 中的 Python

在加入微軟之前,我還隻是澳大利亞的一名研究生,不過我當時已經是 Visual Studio 的鐵杆粉絲和 Python 開發者。微軟在 2010 年第一次發布 Visual Studio(PTVS)Python 工具時,我感到無比興奮。.NET 的 Python 版本 IronPython 已經交給了社區,Dino Viehland 和 Shahrokh Mortazavi 組成的一個小團隊繼續為微軟產品提供 Python 支持。經過與法律團隊數月的談判,PTVS 基於 Apache 2.0 許可托管在 CodePlex(微軟的前開源托管服務)上,並開始接受外部的貢獻。

作為一名 Python 開發者,我很高興能夠使用最早的 PTVS 版本,並幫忙找到和解決了一些 bug。一個多月之後,PTVS 開發經理問我是否有興趣作為暑期實習生加入微軟。一年後,我順利成為雷德蒙德辦公室團隊的一名全職員工。

由於我們的團隊具備最豐富的 Python 知識,所以理所當然地成為為微軟 Azure 提供 Python 支持的團隊。最初版本的 Azure SDK for Python 是由我們的團隊開發的,這個團隊現在有五個人,隨著 Python 重要性的提升,我們已經能夠將這項工作交給專門的團隊。後來,我們招來了 Laurent Mazuel,他是讓 Azure Management SDK 取得成功的核心人物——能夠協調 100 多個 Azure 服務並生成一個同一的庫絕對是一個巨大的挑戰!

在接下來的幾年裏,我們看到我們的項目在用戶和實用性方麵都經曆了顯著的增長。每次發布新版本都會在 Twitter、Reddit 和 Hacker News 引起人們的關注和討論,很多人不相信微軟正在做與 Python 有關的東西,包括我們自己的同事在內。我辦公室旁邊的一位開發同事直到半年後才知道到我們實際上是一個 Python 團隊。

我們的工程團隊每年都會參加各種 Python 大會,在大會上展示我們開發的工具。但我們在微軟內部還不夠強大,還無法獲得營銷團隊的支持,所以我們讓工程師負責規劃、人員配備、裝修和運營展位。有時候,我們會衝到當地的印刷店,以便在最後一刻打印出更好看的標誌,或者跑到雜貨店購買巧克力,因為我們真的沒有什麼可以拿出手的好東西。我們經常感覺自己是一家存活在大公司內的小型創業公司!

不受微軟待見的 Python,如何在八年內逆襲成功?(2)

PyCon US 2014 微軟展台


一直以來,公司內外的人都認為 PTVS 是一個社區項目,但卻沒有意識到我們其實也是屬於微軟的。不過也有一些跡象表明,這種情況有在改善。比如,我們找到負責 visualstudio.com 的市場人員,並讓他在主頁的語言列表中加入“Python”。不出所料,這引起了一些人的注意,我們開始看起來更“官方”了。

後來,我們開發的工具被添加到 Visual Studio 2015 安裝程序中,這也是一個轉折點。這個版本包含了一個改進過的“自定義”頁麵,其中簡化了核心選項,並添加了很多“外部”組件。用戶可以勾選 Python,而無需下載 Python 安裝程序,這也是有史以來的第一次。

不受微軟待見的 Python,如何在八年內逆襲成功?(3)

Visual Studio 2015 安裝程序,包含了 Python 工具


隨著我們的用戶數量的飆升,引起了越來越多人的關注。我們不再低調了!PTVS 遷移到了 GitHub 上,Python SDK for Azure 比預期的更受歡迎,而這一切開始真正引領微軟的文化變革。

成為 Python 貢獻者

在 PyCon US 2015 大會上,我自願為 Windows 提供 Python 支持,這個提議很快被接受,經過多次與法律團隊的交涉後,我很快成為 CPython 的核心開發者。

對於 Python 3.5,我將 Python 使用的 Visual C++ 2010 編譯器和運行時遷移到最新版本,其中包括專門針對 CPython 做出的變更。我還重寫了安裝程序,修複了安裝方式,並將安裝目錄改到了更為安全的目錄。最後,我開始負責開發 python.org 上列出的所有 Windows 版本的 Python。

不受微軟待見的 Python,如何在八年內逆襲成功?(4)

舊的 Python 安裝程序以及 Python 3.5 的新安裝程序


現在,我們有五個 CPython 核心提交者,並且獲得了時間上的授權,我們可以花時間在這個項目上。我們致力於改進兼容性、注冊、花哨的新圖標、JIT 鉤子以及其他更多正在進行中的工作。受雇於大型公司並擁有自己的項目,這樣有助於我們看到一些問題,而這些問題是純粹的誌願者看不到的。我們付出的時間是有償的,因此更加能夠給 Python 社區帶來令人滿意的積極影響。

身處文化變革之中

當有人走過來問你有關 Python 的事情而不是你主動去告訴他們時,你就知道,公司的文化正在發生變革。我們認為跨平台 Azure CLI 是我們的一個主要勝利。它最初用 Node.js 開發,後來,它的開發團隊發現維護這麼大的命令行工具越來越困難。在研究替代方案時,他們向我們尋求幫助。

討論過程大致如下:

CLI 團隊:“我們並不了解 Python,但對於可擴展的命令行工具來說,Python 似乎是一個不錯的選擇”。Python 團隊:“是的,它會是一個不錯的選擇。”CLI 團隊:“你們能否幫我們建立基本的結構?隻需要幾個命令,並告訴我們如何保留登錄狀態和配置文件?還有本地化?”Python 團隊:“當然,我們很樂意”。CLI 團隊:“你們需要幾個禮拜時間?”Python 團隊:“禮拜三之前就可以準備好了”。

CLI 團隊感到很驚訝,或許還有幾分懷疑。他們最終接受了我們的提議,我還為他們提供了一個示例:

https://github.com/Azure/azure-cli/tree/549f1be8ee881fb309caf3559d9232d3191af81d。

Azure CLI 團隊采用了我們的東西,並將它們變成了世界上最大的 Python 命令行應用程序。

Knack(https://github.com/Microsoft/knack) 現在是專門用於構建高性能大規模命令行應用程序的 Python 框架,可以處理數千個命令和選項,同時支持參數完成、提示、可擴展性、配置文件,等等。

不受微軟待見的 Python,如何在八年內逆襲成功?(5)

微軟的 Python Day 海報


雖然我們自己知道 Python 在微軟其實已經很受歡迎,但有一件事還是讓我們感到很驚訝。2014 年末,我們組織了一個內部的“Python Day”,邀請了一些名人,預訂了一個可以容納 100 人的房間,並在辦公室周圍張貼海報。當這一天到來時,因為參與的人太多,我們不得不換到雷德蒙德區最大的房間之一,並為其他全球辦事處開啟了在線直播。有超過 1000 人參加或觀看了此次活動——約占整個公司的 1%(包括所有工程人員、財務人員、人力資源和法律人員)。

不受微軟待見的 Python,如何在八年內逆襲成功?(6)

Visual Studio 2017 安裝程序,提供了 Python 工作負載

與此同時,Visual Studio 2017 換上了全新的安裝程序。我們從一開始就被包含在內——不隻是一個擴展鏈接,而是作為真正的內置功能。不過,我們仍然將我們的工作公開在 GitHub 上,我們的模型也被用在其他的 Visual Studio 組件中。PTVS 是最早的開源 Visual Studio 功能之一,現在有更多的開源功能,包括 Roslyn(C# 和 Visual Basic 編譯器)、MSBuild 和 Visual F# 等。

我們還采用了由社區開發的 Visual Studio Code Python 擴展,並招來了它的開發者 Don Jayamanne,讓他全職與其他開發者一起工作。因為它一開始是開源的,所以必須繼續保持這種狀態,我們的官方 GitHub 存儲庫清楚地表明我們是從原始分支 fork 出來的。

我們是 PyCon US 2019 的關鍵讚助商(這已經是第三次了),所以你們可以期待在那裏見到我們。與五年前不同,我們將擁有一個更好的展台,並提供大量的演示。我們將介紹我們與 Python 的故事,比如我們如何依賴 Python,如何為 Python 貢獻我們的力量,如何為使用 Python 的用戶提供支持。

不再低調

2011 年,Python 在微軟非常低調。而到了 2018 年,我們為 Python 感到自豪。在我們的開發者工具(如 Visual Studio 和 Visual Studio Code)中都能看到 Python 的身影,我們在 Azure Notebook 中托管它,並使用它來構建 Azure CLI,等等。我們聘請了五位核心 CPython 開發者,還有很多其他貢獻者,他們通過 NumFOCUS 和 PyData 積極支持開源數據科學。我們還定期讚助、主持和參加世界各地的 Python 活動。

雖然我不能代表我們在過去八年中所取得的所有進展,但我很榮幸能夠為此而努力,並幫助微軟成為更好的開源社區參與者。

英文原文:

https://medium.com/microsoft-open-source-stories/python-at-microsoft-flying-under-the-radar-eabbdebe4fb0

我要分享:

最新熱門遊戲

版權信息

Copyright @ 2011 係統粉 版權聲明 最新發布內容 網站導航