国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開(kāi)APP
userphoto
未登錄

開(kāi)通VIP,暢享免費(fèi)電子書(shū)等14項(xiàng)超值服

開(kāi)通VIP
獨(dú)家對(duì)話微軟頂級(jí)代碼女神潘正磊:Visual Studio 與 VS Code 的未來(lái)走向

Visual Studio 到今天,已經(jīng)有 22 年的光景,因?yàn)樗鼜?qiáng)大的功能和支持幾乎大部分語(yǔ)言的開(kāi)發(fā)、豐富的擴(kuò)展插件等,中國(guó)開(kāi)發(fā)者們喜歡冠之以「宇宙第一 IDE」的稱號(hào)。但每一個(gè)使用 Visual Studio 的開(kāi)發(fā)者,總會(huì)困擾于一個(gè)問(wèn)題,那便是 Visual Studio 太大太重了,并且還有至關(guān)重要的一點(diǎn)是,曾經(jīng) Visual Studio 只能跑在 Windows 平臺(tái)上。

但現(xiàn)在都已經(jīng)發(fā)生了變化。

Visual Studio 不僅支持了所有平臺(tái),在 Visual Studio 20 周年時(shí),17 版即從性能上進(jìn)行了大量改進(jìn),使得安裝速度更快、系統(tǒng)影響更小以及可完全卸載。同時(shí),開(kāi)源的輕量級(jí)代碼編輯器 Visual Studio Code 自誕生開(kāi)始便迅速地贏得了全球開(kāi)發(fā)者的熱愛(ài)。并且,通過(guò) Visual Studio Live Share,能夠?qū)?VS Code 的 Java 等開(kāi)發(fā)環(huán)境共享給 Visual Studio,而不需要安裝任何的 Java JDK 運(yùn)行環(huán)境,Visual Studio IntelliCode 能夠運(yùn)用機(jī)器學(xué)習(xí)幫助開(kāi)發(fā)者編寫(xiě)代碼, Visual Studio Online 可以連接遠(yuǎn)程環(huán)境,Power Platform 可以實(shí)現(xiàn)低代碼、無(wú)代碼等等。

這一切的變化均來(lái)自于微軟開(kāi)發(fā)平臺(tái)掌舵人 —— 微軟全球資深副總裁潘正磊(Julia Liuson)的決策與主導(dǎo),自 1992 年加入微軟至今,Julia 主導(dǎo)著 Visual Studio 系列產(chǎn)品、.Net 的功能演進(jìn)及開(kāi)源開(kāi)放,她不僅是微軟頂級(jí)代碼女神,也是杰出的技術(shù)領(lǐng)袖,Eclipse 之父、《設(shè)計(jì)模式》作者、VS Code 負(fù)責(zé)人、現(xiàn)微軟技術(shù)院士 Erich Gamma,與 C#、Delphi、TypeScript 之父 Anders Hejlsberg 均在其麾下。在 Microsoft Ignite 前夕,筆者再次見(jiàn)到了 Julia,深入聊起了 Visual Studio 及 VS Code 的未來(lái)走向,以及中國(guó)開(kāi)發(fā)者頗為關(guān)心的諸多問(wèn)題。

潘正磊(作者攝于微軟)

重點(diǎn)速覽:

  • 關(guān)于 Visual Studio 體量大:以前大家的使用習(xí)慣是 install all,下載所有的東西,而現(xiàn)在,微軟從前幾年開(kāi)始一直跟開(kāi)發(fā)人員所倡導(dǎo)的使用習(xí)慣是只安裝你需要的。

  • 談 Java 開(kāi)發(fā)常用的 Eclipse、IntelliJ IDEA:我認(rèn)為那是非常好的 Java IDE,也不希望他們來(lái)用 Visual Studio,因?yàn)殚_(kāi)發(fā)者可能不會(huì)收獲一個(gè)好的體驗(yàn),而 Visual Studio 本身也不支持 Java,但是 Visual Studio Code 會(huì)不太一樣。

  • VS Code 的初心:對(duì)于同時(shí)使用幾種不同編程語(yǔ)言的開(kāi)發(fā)者而言,會(huì)非常希望有一個(gè)一致性的工具,這個(gè)時(shí)候 VS Code 就是一個(gè)非常好的工具。

  • 談 Visual Studio 是否會(huì)被 VS Code 取代:使用場(chǎng)景不一樣,Visual Studio 具有著非常典型的 IDE 功能,并將所有功能串聯(lián)起來(lái),而 VS Code 用戶要做很多手工步驟。這就是 IDE 和 Code Editor 的不同,如果我把 Visual Studio Code 做得跟 Visual Studio 一樣,你們就不會(huì)喜歡它了,因?yàn)樗筒皇且粋€(gè)輕量級(jí)的,這么快捷、便用的,它變成了一個(gè)重量級(jí)的 IDE,就失去了它最本質(zhì)的特性。

  • 談低代碼、無(wú)代碼開(kāi)發(fā):低代碼、無(wú)代碼一定要基于現(xiàn)有的平臺(tái),如果脫離了平臺(tái)來(lái)做低代碼、無(wú)代碼,那就非常難做。

  • 重磅發(fā)布:Visual Studio Online 公開(kāi)預(yù)覽版來(lái)了!

  • 從開(kāi)源開(kāi)放到解放生產(chǎn)力:前幾年我們工作重點(diǎn)更多是開(kāi)放型的支持,現(xiàn)在相對(duì)做得非常不錯(cuò)了,接下來(lái)支持生產(chǎn)力將成為第一優(yōu)先。

  • 談開(kāi)源:對(duì)于整個(gè)開(kāi)源社區(qū)來(lái)說(shuō),如果分流,對(duì)誰(shuí)都不是一個(gè)好事情,微軟開(kāi)源的項(xiàng)目沒(méi)有國(guó)界。

  • 評(píng) C#、Delphi、TypeScript 之父 Anders Hejlsberg:Anders 大概是在過(guò)去二十年里最有影響的編程語(yǔ)言設(shè)計(jì)師,之前的 Delphi,到后面的 C#,到現(xiàn)在的 TypeScript,三個(gè)語(yǔ)言都是上百萬(wàn)的全球用戶,你找不出第二個(gè)語(yǔ)言設(shè)計(jì)師有這種成就。

  • 技術(shù)大神如何修煉:像 Anders 和 Erich,他們之所以是技術(shù)大神。因?yàn)樗軌蚩吹竭@個(gè)技術(shù)以后的需求方向和總的趨勢(shì),他的眼光是非常精準(zhǔn)的。

以下為對(duì)話實(shí)錄(萬(wàn)字長(zhǎng)文,可收藏閱讀):

CSDN:我記得使用 Visual Studio 時(shí)主流還是 2012 版,現(xiàn)在這么多年過(guò)去了,昨晚又試了一下安裝最新版本的 Visual Studio,結(jié)果因?yàn)榫W(wǎng)絡(luò)問(wèn)題兩次都失敗了,我就想起了 Visual Studio 對(duì)于許多開(kāi)發(fā)者的普遍痛點(diǎn),就是體量太大、太重型了。

Julia 您從 1992 年開(kāi)始加入微軟,起于 Access,這個(gè)我也曾使用過(guò),后來(lái)在 Visual Studio 上度過(guò)了大部分的光陰。您怎么評(píng)價(jià) Visual Studio?以及它現(xiàn)在所面臨的挑戰(zhàn)是怎樣?畢竟在過(guò)去二十多年里,它主要的演進(jìn)其實(shí)都是您所主導(dǎo)的。

潘正磊:二十多年前有點(diǎn)兒久遠(yuǎn)了,我們先講講最近吧。Visual Studio 和 Visual Studio Code 這兩個(gè)產(chǎn)品在全球所有開(kāi)發(fā)人員里使用和反饋都是非常強(qiáng)烈的。它們的月活用戶現(xiàn)在都超過(guò)了 900 萬(wàn),而且用戶量增長(zhǎng)是非常迅猛的。

關(guān)于 Visual Studio,原來(lái) 2012 版本還只能做 Windows 開(kāi)發(fā)。現(xiàn)在因?yàn)槲④浀膽?zhàn)略,你要是看微軟 2019 的產(chǎn)品,包括 Visual Studio 里面 C 的開(kāi)發(fā),我們會(huì)支持 CMake,支持在 Linux 上面 Debug,廣受好評(píng)。包括之后我們 .Net 全部做開(kāi)源,然后跨平臺(tái)。在今年 9 月份剛剛發(fā)布的 .Net Core 3.0,全球的反響是非常好的。Visual Studio 作為 .Net 開(kāi)發(fā)人員最經(jīng)常用的產(chǎn)品,二者相輔相成。根據(jù)我們的戰(zhàn)略,Visual Studio 現(xiàn)在的產(chǎn)品是支持所有平臺(tái)、所有開(kāi)發(fā)語(yǔ)言的,里面包括 Python、C ,有 Unity 可以做游戲開(kāi)發(fā),也包括 Unreal Engine 虛幻引擎,可以做 .Net,可以做不同版本的 .Net 等等,還可以做 iOS、Android。

我們現(xiàn)在的開(kāi)發(fā)包,希望用戶用哪一個(gè) workload 就只裝那個(gè) workload??赡芤郧霸?2012 年時(shí),大家的使用習(xí)慣是 install all,下載所有的東西。因?yàn)?Visual Studio 是支持所有平臺(tái)的,不知道哪一個(gè)用戶是會(huì)既做 Python,也做 Xamarin,我們還可以用 C 開(kāi)發(fā) iOS,包括我們的 C 里有 64-bit 或 ARM 64-bit 等非常多的不同版本,開(kāi)發(fā)者要將它打包全安裝下來(lái),那個(gè)安裝包就大得不得了,非常痛苦。而現(xiàn)在微軟從前幾年開(kāi)始一直跟開(kāi)發(fā)人員所倡導(dǎo)的使用習(xí)慣是只安裝你需要的。你要再重新安裝另外一個(gè) workload 是非常容易的,所以大概從 2015 年開(kāi)始一直在推這個(gè)理念,因?yàn)槲覀兠嫦蛩械钠脚_(tái)。只裝開(kāi)發(fā)者自身所需要的,當(dāng)需要另外一個(gè)時(shí)再去安裝它,否則在機(jī)器上占了很多位置,但開(kāi)發(fā)者卻沒(méi)有用到的話,占了地方也沒(méi)有起到作用。

我看你在用 Mac,我們有 Visual Studio for Mac,最近也推出了很多更新。

CSDN:我昨天試的就是 Mac 版本。

潘正磊:中國(guó)使用 Visual Studio for Mac 還真挺少的。

CSDN:其實(shí) Visual Studio 能支持各種各樣的功能語(yǔ)言,能夠去實(shí)現(xiàn)很多??墒堑揭粋€(gè)專門(mén)去做像 Java、Python 等的開(kāi)發(fā)者,會(huì)想為什么我不用專門(mén)的 IDE,而要去使用 Visual Studio 呢?

潘正磊:如果是 Java 的話,做 Java 的用戶一向使用專用的 IDE,我們沒(méi)有推薦 Visual Studio 給他,這也不是合適的。大多數(shù) Java 開(kāi)發(fā)者現(xiàn)在要么使用 Eclipse,或 IntelliJ IDEA 的產(chǎn)品,我認(rèn)為那是非常好的 Java IDE,也不希望他們來(lái)用 Visual Studio,因?yàn)殚_(kāi)發(fā)者可能不會(huì)收獲一個(gè)好的體驗(yàn),而 Visual Studio 本身也不支持 Java,但是 Visual Studio Code 會(huì)不太一樣。在 VS Code 里我們可以看到用戶很多使用習(xí)慣并不是傳統(tǒng)的 Java Server,它現(xiàn)在用 Java 來(lái)進(jìn)行云原生開(kāi)發(fā),然后用 Kubernetes、容器。

在這個(gè)情況下,Visual Studio Code 上的 Java 配置,對(duì)這些用戶來(lái)說(shuō)就相對(duì)非常合適。而且我們上面有非常好的 Kubernetes、容器支持。所以在這個(gè)情況下,我們希望開(kāi)發(fā)者能夠來(lái)試一下 Visual Studio Code 上面的 Java 配置。

關(guān)于 Python,現(xiàn)在也有現(xiàn)成的 IDE,PyCharm 也是非常好的一個(gè)產(chǎn)品,我們對(duì) JetBrains 公司非常尊敬。

同時(shí),在 Visual Studio Code 里對(duì) Python 怎么做有很多自己的想法,我們做了很多插件。因?yàn)槲覀儸F(xiàn)在看到 Python 用戶尤為顯著的特點(diǎn),跟很多 .Net 不太一樣,許多 Python 開(kāi)發(fā)者是同時(shí)使用好幾種編程語(yǔ)言的。一般來(lái)說(shuō),不只是 Python,還會(huì)有 C 等。對(duì)于這些同時(shí)使用幾個(gè)不同編程語(yǔ)言的用戶而言,會(huì)非常希望有一個(gè)一致性的工具,這個(gè)時(shí)候 Visual Studio Code 對(duì)他就是一個(gè)非常好的工具,我們看到很多用 Python 的人也在用 Java,或者是 Python 再加上 C ,使用的語(yǔ)言不止一個(gè)。

我們針對(duì)的是這一類用戶,現(xiàn)在 Python 的用戶在 Visual Studio Code 上增長(zhǎng)非常快,剛才說(shuō)的月活量已經(jīng)差不多達(dá)到了 150 萬(wàn)。

CSDN:所以很多開(kāi)發(fā)者會(huì)關(guān)心微軟自家非常強(qiáng)的 Visual Studio,會(huì)不會(huì)被 VS Code 所取代,這是在我們中國(guó)開(kāi)發(fā)者圈子里討論很多的一個(gè)話題。

潘正磊:我覺(jué)得使用場(chǎng)景不一樣,比如說(shuō)像 .Net 里做桌面開(kāi)發(fā)或移動(dòng)應(yīng)用開(kāi)發(fā),Visual Studio 里最有名的就是做完以后 F5,按下那個(gè)鍵。但那一個(gè)鍵下面都有什么功能在里面?先把你編寫(xiě)的代碼存起來(lái),再編譯一下,編譯把二進(jìn)制源碼部署到你的目標(biāo)程序上,你可以設(shè)置斷點(diǎn)調(diào)試,整個(gè)一套都連在一起。

這就是一個(gè)非常典型的 IDE 功能,就是它將這些功能都給你串起來(lái)了,所以你的工作流就已經(jīng)給你規(guī)定好了。你要是遵照這個(gè) IDE 給你的工作流是非常簡(jiǎn)單,像 F5 可以做到一鍵生成。我們前一陣在 NVP 大會(huì)的時(shí)候有幾個(gè) NVP,跟我說(shuō):我在 Visual Studio 調(diào)試 .Net Core,在容器里很容易但在 VS Code 為什么這么難?因?yàn)樵?Visual Studio 里,你改了東西,我們知道你前面一次編譯的是什么,后面一次編譯的是什么,我們只把它中間變更的那部分打到容器里去,幫你把這些重新設(shè)置好,所以開(kāi)發(fā)者用起來(lái)覺(jué)得非常順。

Visual Studio 2019 演示

Visual Studio Code 中間這一段一段都是用戶自定義的,Visual Studio Code 是不管的,用戶要做好多手工的步驟。我說(shuō)這就是 IDE 和 Code Editor 的不同,如果我把 Visual Studio Code 做得跟 Visual Studio 一樣,你們就不會(huì)喜歡它了,因?yàn)樗筒皇且粋€(gè)輕量級(jí)的,這么快捷、便用的,它變成了一個(gè)重量級(jí)的 IDE,就失去了它最本質(zhì)的特性。我覺(jué)得,根據(jù)不同的場(chǎng)景,用戶會(huì)使用不同的工具,我從來(lái)沒(méi)有覺(jué)得一個(gè)工具就走遍世界了。

VS Code

CSDN:我記得之前開(kāi)復(fù)博士談過(guò),您在時(shí)間管理上以效率著稱。您最開(kāi)始也在微軟內(nèi)部設(shè)置了回答問(wèn)題的時(shí)間。您現(xiàn)在比之前更忙碌了,時(shí)間管理上是怎么做的,以及如何體現(xiàn)在 Visual Studio 系列產(chǎn)品的演進(jìn)上呢?

潘正磊:在時(shí)間管理上,我現(xiàn)在最主要抓的是戰(zhàn)略,最主要的體現(xiàn)就是什么應(yīng)該做,什么不應(yīng)該做。再接下來(lái)就是文化,怎么來(lái)改進(jìn)我們的文化,幫助這個(gè)團(tuán)隊(duì)做的事情是應(yīng)該自然而然的,它做的是我們應(yīng)該做的事情。如果每件事情我都要自己去管就太累了,等于是怎樣將它劃分優(yōu)先級(jí),抓最重要的事情。這體現(xiàn)在幾方面,第一是我們?cè)谧霎a(chǎn)品時(shí),其實(shí)有一個(gè)很大的產(chǎn)品策略,像我們更新戰(zhàn)略時(shí),比如做 .Net Core,我們?yōu)槭裁匆獙⑺块_(kāi)源放到 GitHub 上做成跨平臺(tái),后面還有很多很多工作,但這個(gè)一定是最優(yōu)先的。

我們接著做的,即從效率上對(duì) .Net Core 第一個(gè)要求就是性能,性能一定要做到最好。比如前不久我們?cè)诎l(fā)布 .Net Core 3.0 時(shí),大家都知道 Stack Overflow 是開(kāi)發(fā)人員都經(jīng)常去的地方,它原本只是用 .Net 開(kāi)發(fā),但現(xiàn)在已經(jīng)全部遷移至 .Net Core 上了,性能等各方面都有了顯著的提高。

在優(yōu)先級(jí)上,從云原生到性能,這是我們要做的最核心、最重要的一部分。這部分在我們很多用戶反饋上都得到了體現(xiàn),包括微軟內(nèi)部的,比如去年 .Net Core 2.0 發(fā)布時(shí),必應(yīng)(Bing)團(tuán)隊(duì)用完后就發(fā)現(xiàn)吞吐量和性能都有了特別大的提升,還非常高興地寫(xiě)了一篇 Blog?,F(xiàn)在微軟內(nèi)部有更多的團(tuán)隊(duì)都在使用,有許多類似的反饋。

第二個(gè)就是體現(xiàn)在 Timing,我們一開(kāi)始做的是云原生那一端,現(xiàn)在又將 WinForm 跟 WPF 也做到 .Net Core 3.0 里,幫助有很大的桌面產(chǎn)品的用戶,比如 National Instruments 等。用戶是需要一直與時(shí)俱進(jìn)的,微軟為其提供了一個(gè)全新、可控的平臺(tái)。所以我們的聚焦點(diǎn)第一就是將這些平臺(tái)移到了新的運(yùn)行平臺(tái)上,而且我們做的是非常針對(duì)客戶需求的產(chǎn)品。

這也就直接關(guān)系到,我該關(guān)注什么?

我關(guān)注很多的是我們自己的企業(yè)文化、團(tuán)隊(duì)的文化,我覺(jué)得團(tuán)隊(duì)文化很重要的一部分,就是和客戶溝通,真的是花很多時(shí)間跟客戶溝通,跟客戶交流,真正能夠知道客戶需要的是什么,他為什么需要這些東西。這樣我們?cè)陂_(kāi)發(fā)的時(shí)候才能夠特別地有的放矢,這也是我自己從效率來(lái)說(shuō)花了時(shí)間去建設(shè)企業(yè)文化。

原則對(duì)了,這樣的話,這個(gè)團(tuán)隊(duì)做出來(lái)的東西大多數(shù)的時(shí)候就是對(duì)的。或者團(tuán)隊(duì)問(wèn)「為什么我們要做這個(gè)」時(shí)能夠講清楚,微軟有一套自己的原則在里面。這個(gè)原則也體現(xiàn)在微軟所有的產(chǎn)品里,譬如拿編程語(yǔ)言 C 來(lái)說(shuō),微軟前幾年很大的一個(gè)關(guān)注點(diǎn),就叫 Conformance 和 Performance,適應(yīng)性和性能。Conformance 就是我們要怎樣支持 C 語(yǔ)言的標(biāo)準(zhǔn),Performance 就是編譯器本身的性能。當(dāng)這個(gè)團(tuán)隊(duì)關(guān)注點(diǎn)在這兩方面時(shí),你會(huì)發(fā)現(xiàn)它們會(huì)有非??斓倪M(jìn)步,我認(rèn)為團(tuán)隊(duì)的目標(biāo)同時(shí)也體現(xiàn)了能夠怎樣給用戶價(jià)值。

CSDN:在去年我見(jiàn)您的時(shí)候,當(dāng)時(shí)還沒(méi)有想到在 Visual Studio 包括 VS Code 去使用 AI 輔助開(kāi)發(fā)的功能(IntelliCode),很多開(kāi)發(fā)者到現(xiàn)在終于看到了像在微軟的 IDE,包括編輯器的開(kāi)發(fā)里,能夠見(jiàn)到像 Java 和 Python 等的 AI 輔助開(kāi)發(fā)。

從 IntelliCode、Visual Studio Online 到 Power Platform,微軟似乎正在著力提升效率、解決生產(chǎn)力的問(wèn)題。還有一個(gè)是跟 AI 相關(guān)的,我們看到的微軟在做 AI 輔助開(kāi)發(fā),是不是說(shuō)后面所有的代碼開(kāi)發(fā)和代碼托管都能夠跟 AI 進(jìn)行深度的融合?

潘正磊:特別好!其實(shí)這也是我想談的一個(gè)話題。第一個(gè)是我們當(dāng)時(shí)演示 IntelliCode 時(shí)只做了 C#、Java,現(xiàn)在 Python、TypeScript,連 WPF 的 XAML、C 等等都有支持。

第二方面就是做得更完善了,有一些內(nèi)部正在測(cè)試的模型。原來(lái)只是一個(gè)點(diǎn),現(xiàn)在開(kāi)始給你一個(gè)范圍的參數(shù),可以做更完整的一個(gè)句子,不是一個(gè)碎片了,是一整個(gè)句子的結(jié)果,我們現(xiàn)在可以進(jìn)化到這一方面。很多都在內(nèi)測(cè)中,在 Ignite 上應(yīng)該可以看到一些新的演示。

再有就是,跟 Source Code Control 的結(jié)合會(huì)越來(lái)越多,比如前一陣已經(jīng)推出 Custom Model Training,拿 C# 舉例,現(xiàn)在 C# 的基礎(chǔ)模型是在 GitHub 上訓(xùn)練的。這個(gè)尤其明顯的問(wèn)題是在 C 里基礎(chǔ)類型非常少,但是如果去看的 C 的工程文件,字節(jié)里面有好多類型,你不給我看,我看不見(jiàn),也沒(méi)有辦法知道。

現(xiàn)在我們將它可以做到和 Build、CI process 集成,在開(kāi)發(fā)者一邊在持續(xù)集成 Build 時(shí),可以同時(shí)幫助進(jìn)行 Custom Model Training。這樣訓(xùn)練出來(lái)的模型,就可以給整個(gè)團(tuán)隊(duì)使用,而且這個(gè) Model 是集成在 Source Code Control 里的,會(huì)有一個(gè)非常簡(jiǎn)單的體驗(yàn)。這個(gè)部分我們已經(jīng)逐漸在做,整個(gè)端對(duì)端的產(chǎn)品應(yīng)該在 Ignite 上就可以出來(lái),就是你剛才說(shuō)的怎么把它跟 Source Code 深度集成。

對(duì)于 AI,我們認(rèn)為在開(kāi)發(fā)流程中的每一步,AI 其實(shí)都可以讓所有開(kāi)發(fā)人員的生產(chǎn)力有很大提升。比如說(shuō)在開(kāi)始寫(xiě)代碼時(shí),在提交 Pull Request 之前,可能會(huì)有安全性警告,有可能從前人犯的錯(cuò)誤中學(xué)到的經(jīng)驗(yàn),我們可以在你寫(xiě)代碼的時(shí)候就進(jìn)行提示,這也是一部分。

在你寫(xiě) Test Case 時(shí),怎么可以讓 AI 幫你進(jìn)行 Test Case?首先是你寫(xiě)的 Test Case 跟你的代碼運(yùn)行時(shí)所用到的有關(guān)系。尤其是在做 CI 的時(shí)候,常常會(huì)運(yùn)行測(cè)試。怎樣才能知道到底是測(cè)試的問(wèn)題還是代碼問(wèn)題?我們叫 Auto Healing,這里有很多新的想法可以去做。我認(rèn)為 AI 在開(kāi)發(fā)流程中的每一步,其實(shí)都可以幫助到團(tuán)隊(duì)來(lái)提高生產(chǎn)力的。

CSDN:您之前曾說(shuō)在三十年前大家對(duì)于數(shù)據(jù)庫(kù)都是一個(gè)全新的概念,放到現(xiàn)在 AI 對(duì)于大家來(lái)說(shuō)也是一樣。在未來(lái)五到十年,微軟會(huì)如何做來(lái)實(shí)現(xiàn)讓 AI 像今天的數(shù)據(jù)庫(kù)一樣被大家認(rèn)知?

潘正磊:這個(gè)問(wèn)題非常好,我們從場(chǎng)景來(lái)說(shuō),比較籠統(tǒng)地是分為三大場(chǎng)景。第一個(gè)場(chǎng)景是我們把很多 AI 能力變成一個(gè) API 提供給你,比方說(shuō)現(xiàn)在很多的語(yǔ)言翻譯,你放一段聲音進(jìn)去,后面的文本就出來(lái)了,直接調(diào)用 API,不需要做任何東西,后面的模型都幫你訓(xùn)練好了。這也是開(kāi)發(fā)人員能夠非常好地利用 AI 的場(chǎng)景。

第二個(gè)場(chǎng)景,數(shù)據(jù)模型一定要做一些 Custom Train,需要強(qiáng)化學(xué)習(xí)技術(shù),就是說(shuō)我們有一個(gè)基本的模型,用戶可以在上面用自己的數(shù)據(jù),將它調(diào)試得更匹配于你的場(chǎng)景,怎么讓它做得非常簡(jiǎn)單、快捷,我們現(xiàn)在在這方面也給予了很大關(guān)注,包括在 Ignite 上會(huì)有一些 Business Application 的發(fā)布會(huì)跟它有關(guān)。這是我們第二大場(chǎng)景,用現(xiàn)有的模型,和自己的數(shù)據(jù)再訓(xùn)練。

第三個(gè)場(chǎng)景,很多時(shí)候還是要自己開(kāi)發(fā)。現(xiàn)在大家做 AI,說(shuō)來(lái)說(shuō)去就是語(yǔ)言和視覺(jué),但實(shí)際上 AI 有非常廣泛的場(chǎng)景。像我們做 AI 時(shí)就在想編程語(yǔ)言跟傳統(tǒng)意義上的語(yǔ)言還不一樣?,F(xiàn)在,醫(yī)藥、石油、金融等各行各業(yè)都在使用 AI,一定會(huì)需要對(duì)各自領(lǐng)域非常熟悉的人來(lái)開(kāi)發(fā)自己適用的模型。我們?cè)谶@方面,現(xiàn)在也在研究對(duì)這些領(lǐng)域要開(kāi)發(fā)自己需要的模型,這些模型和語(yǔ)言、圖像有哪些不同?應(yīng)該不是一樣的,并且會(huì)碰到的挑戰(zhàn)是什么?在這上面會(huì)有很多不同的場(chǎng)景我們想支持,包括如果你是一個(gè)大的保險(xiǎn)公司,你說(shuō)我開(kāi)發(fā)出來(lái)一個(gè)模型可以計(jì)算保險(xiǎn)費(fèi)是多少。人家會(huì)想知道你用的是什么數(shù)據(jù)來(lái)產(chǎn)生了這個(gè)模型?為什么我的就比你的貴?

如果有這種問(wèn)題提出的話,你要能夠解釋清楚。這也是現(xiàn)在的很多模型,你不知道它為什么,這個(gè)我們叫做模型解釋性,就是你怎么解釋,怎么保證這個(gè)數(shù)據(jù)里沒(méi)有很嚴(yán)重的偏見(jiàn),你要知道偏見(jiàn)怎么影響了這個(gè)模型的提供情況。

比如,用語(yǔ)音對(duì) AI 翻譯說(shuō) ta 是醫(yī)生,ta 是護(hù)士,AI 翻譯可能在把「ta」變成英文時(shí),直接翻譯成「He is a doctor,she is a nurse」,這就是非常明顯的 男性、女性的偏見(jiàn)。你要教 AI 怎么合理地更正,以免更正后的 AI 雖然會(huì)全部翻譯成「He is a doctor,he is a nurse」來(lái)避免性別歧視,卻又把「她是媽媽」也翻譯成了「He is a mother」,這樣的 AI 并不是真的根據(jù)語(yǔ)境來(lái)選擇語(yǔ)言。

這也就說(shuō)明,你在做模型訓(xùn)練時(shí),其實(shí)有很多的偏見(jiàn),怎么調(diào)這個(gè)偏見(jiàn)其實(shí)也是一個(gè)非常難的技術(shù)問(wèn)題需要解決。像我們?cè)谡Z(yǔ)言訓(xùn)練時(shí),這個(gè)問(wèn)題其實(shí)是貫穿我剛才說(shuō)的三個(gè)場(chǎng)景里的,不管是提供 API,還是自己做強(qiáng)化學(xué)習(xí),或自己開(kāi)發(fā)模型,都會(huì)有這些問(wèn)題,所以有些平臺(tái)式的問(wèn)題需要解決。這個(gè) Data Lineage,Data 原來(lái)是哪兒來(lái)的,這一次跟上一次用的是不是同樣的數(shù)據(jù),同樣的數(shù)據(jù)訓(xùn)練出來(lái)的結(jié)果是不是一樣等等。這就像軟件開(kāi)發(fā)一樣有一個(gè)過(guò)程,離成熟還差得很遠(yuǎn)。

CSDN:Visual Studio 現(xiàn)在跟哪些行業(yè)有深度的合作?剛才聽(tīng)您講,很多涉及到的像石油這些行業(yè)正在著力做數(shù)字化轉(zhuǎn)型,我跟很多在工業(yè)領(lǐng)域的人聊,他們?cè)谧鰯?shù)字化轉(zhuǎn)型時(shí),普遍面臨的痛點(diǎn)就是,我們互聯(lián)網(wǎng)行業(yè)計(jì)算機(jī)專業(yè)人才大量聚集,而工業(yè)領(lǐng)域則……

潘正磊:你說(shuō)得太對(duì)了,他沒(méi)有軟件人才。

CSDN:所以會(huì)想到你有軟件人才,同時(shí)懂一點(diǎn)工業(yè)的知識(shí),工業(yè)現(xiàn)在非常稀缺的就是這種人才。微軟現(xiàn)在屬于去致力于解決工業(yè)領(lǐng)域哪些問(wèn)題?我看到像 Power Platform 應(yīng)該就是屬于主要面對(duì)向數(shù)字化轉(zhuǎn)型的一些企業(yè)。

潘正磊:應(yīng)該說(shuō)微軟所有的產(chǎn)品都是針對(duì)數(shù)字化轉(zhuǎn)型的企業(yè),我們所有的產(chǎn)品,不管是我們的 Power Platform、Azure、Visual Studio、GitHub 等等,其實(shí)都是為所有的數(shù)字化轉(zhuǎn)型的企業(yè)提供了一個(gè)非常好的平臺(tái),包括新興企業(yè)都是一個(gè)非常好的平臺(tái)。

從微軟的使命來(lái)說(shuō),我們“予力全球每一人、每一組織,成就不凡”,所以我們是一個(gè)平臺(tái)化的公司。具體的話,微軟在每一個(gè)垂直產(chǎn)業(yè),全球的銷售團(tuán)隊(duì)和技術(shù)支持團(tuán)隊(duì),還有技術(shù)團(tuán)隊(duì)是針對(duì)每一個(gè)垂直行業(yè)都確實(shí)是有懂那個(gè)行業(yè)的人,也懂軟件的人,一起和那些企業(yè)服務(wù)的。

而我所做的則更基于平臺(tái)化,以 ML.Net 舉例,有很多不同的企業(yè)開(kāi)始使用。我們看到這些企業(yè)真的是五花八門(mén),我覺(jué)得眼界大開(kāi)。比如體育機(jī)構(gòu)會(huì)用來(lái)計(jì)算運(yùn)動(dòng)員的得分率,食品行業(yè)會(huì)運(yùn)用其支持的 IoT 解決方案來(lái)精準(zhǔn)處理大批量的原食材,控制干濕度等條件,甚至加油站用我們 ML.Net 去看有沒(méi)有人偷油,律所會(huì)用來(lái)精確查找文件等等,非常有趣。

因?yàn)榭蛻魜?lái)問(wèn)技術(shù)問(wèn)題時(shí),我們都會(huì)問(wèn)他,你做的解決方案是什么?就會(huì)有各式各樣的答案。我覺(jué)得很欣慰的是,一個(gè)產(chǎn)品做得好,體現(xiàn)在能夠被各行各業(yè)都用起來(lái),從來(lái)沒(méi)有想到過(guò)還有這么好玩的應(yīng)用。

你身處這個(gè)行業(yè),會(huì)知道對(duì)于行業(yè)以及自己公司里需要的是什么、缺的是什么,實(shí)際上我們提供的都是平臺(tái)技術(shù),幫他們能夠搭出來(lái)自己要的解決方案。

CSDN:這么多應(yīng)用案例,能夠應(yīng)用到 Visual Studio 整個(gè)的演進(jìn)中嗎?

潘正磊:對(duì)于整個(gè)演進(jìn)來(lái)說(shuō),我們看到繼續(xù)提供更好用的平臺(tái)解決方案,可以幫助不同的企業(yè)。另外就是像您剛才說(shuō)的,現(xiàn)在我們?cè)谌蚩吹竭@些數(shù)字化轉(zhuǎn)型的公司數(shù)量是非常大的,數(shù)量遠(yuǎn)遠(yuǎn)超過(guò)互聯(lián)網(wǎng)公司。他們的挑戰(zhàn),很多是缺乏軟件開(kāi)發(fā)能力,所以微軟現(xiàn)在的思路,是將很多東西能夠更多地以平臺(tái)化的方式提供給他們。他們一開(kāi)始就在一個(gè)比較高的平臺(tái)上,有很多非常類似的底層部分微軟可以幫他開(kāi)發(fā)完成。

Power Platform 實(shí)際上就是一個(gè)非常好的例子,包括 Business Application 里有很多針對(duì)零售業(yè)做的解決方案。在這上面我們跟 Power Platform 有一個(gè)集成,你在 Power Platform 方面尤其是用 PowerApps,你不能開(kāi)發(fā)的東西可以到 Visual Studio 上開(kāi)發(fā)一個(gè)插件,開(kāi)發(fā)成一個(gè) API,又可以跟 Power Platform 連在一起。這也是一個(gè)解決方案,既可以非常快地將自己所需的工作流寫(xiě)出來(lái),在寫(xiě)不出來(lái)的時(shí)候又可以用平臺(tái)變成一個(gè) API、插件、擴(kuò)展的方式,能夠把這個(gè)功能提供給客戶,這也是我們做的非常多的。

還有一方面是跟很多的伙伴合作,全球數(shù)字化經(jīng)濟(jì)中有許多提供現(xiàn)代軟件服務(wù)的伙伴,微軟也希望幫助這些合作伙伴轉(zhuǎn)型,通過(guò)他們來(lái)幫助這些公司轉(zhuǎn)型。不是說(shuō)僅有微軟,而是微軟和合作伙伴在一起。當(dāng)然還有很多公司現(xiàn)在也認(rèn)定這種數(shù)字開(kāi)發(fā)能力是核心的能力,所以當(dāng)前我們?cè)谌蚩吹降那闆r是,從招聘開(kāi)發(fā)人員的百分比增長(zhǎng)速度來(lái)說(shuō),這些傳統(tǒng)企業(yè)招人的增長(zhǎng)速度比微軟這種軟件企業(yè)速度增長(zhǎng)快多了,并且是大批的。

但是,全球非常缺少程序開(kāi)發(fā)人員。為什么我們會(huì)將提高開(kāi)發(fā)人員生產(chǎn)力放在非常至關(guān)重要的位置?因?yàn)楸緛?lái)就招不到人,我們希望能夠讓現(xiàn)有的人做出更多的東西,讓他把時(shí)間都花在刀刃上,真正將問(wèn)題解決

CSDN:像 Power Platform 是不是屬于低代碼或者無(wú)代碼開(kāi)發(fā)的方式?

潘正磊:是的。

CSDN:我記得低代碼、無(wú)代碼開(kāi)發(fā)差不多已經(jīng)有幾十年的討論了,我很早的時(shí)候就看到過(guò)。包括在移動(dòng)互聯(lián)網(wǎng)時(shí)代,App 開(kāi)始盛行的時(shí)候,大家就會(huì)想能不能直接把 App 的開(kāi)發(fā)實(shí)現(xiàn)特別簡(jiǎn)易的操作方式。其實(shí)現(xiàn)在大家并沒(méi)有看到低代碼或無(wú)代碼很好的落地?,F(xiàn)在我們已經(jīng)到了 AI 和 5G 演進(jìn)的階段,低代碼和無(wú)代碼是什么樣的需求狀態(tài),以及微軟會(huì)具體怎么做?

潘正磊:微軟在低代碼和無(wú)代碼也是嘗試了很多年,包括我剛加入微軟時(shí)做的 Access 產(chǎn)品就可以說(shuō)是低代碼、無(wú)代碼的產(chǎn)品,Access 現(xiàn)在使用的人依然非常多。在 SharePoint、Office 上做定制,用戶是非常多的。其實(shí)里面有非常重要的一點(diǎn),低代碼、無(wú)代碼一定要基于現(xiàn)有的平臺(tái),如果脫離了平臺(tái)來(lái)做低代碼、無(wú)代碼,那就非常難做。低代碼、無(wú)代碼最好的是在一個(gè)大的產(chǎn)品上做擴(kuò)展。以前像 Access 還是有較多代碼的,但像 VBA 或 SharePoint 上的定制,是基于現(xiàn)有底層非常大量的功能,所以在上面做一些擴(kuò)展,就是將自己要的東西搭出來(lái)。這是一個(gè)非常好的模式,所以現(xiàn)在微軟 Power Platform 是基于 Business Application 和 Office,我們還在逐漸將它引到 Azure,就是把我們這些大的平臺(tái)作為底層。

做低代碼、無(wú)代碼,一般做任何的產(chǎn)品第一個(gè)問(wèn)題是數(shù)據(jù)庫(kù)在哪兒?你一說(shuō)數(shù)據(jù)庫(kù),好像就變成了怎么低代碼、無(wú)代碼的話。你的數(shù)據(jù)在哪兒?你的 API 在哪兒?如果下面有一個(gè) Business Application 這樣一個(gè)大的平臺(tái),你的數(shù)據(jù)就在這里,而且低代碼、無(wú)代碼本身對(duì)數(shù)據(jù)有一定的認(rèn)識(shí),才可以把這個(gè)場(chǎng)景做的非常端對(duì)端。如果是空去考慮……

CSDN:空中樓閣。

潘正磊:對(duì)。所以我們的 PowerApps 也是有移動(dòng)客戶端,但同時(shí)說(shuō)你的數(shù)據(jù)在哪兒?在 Business Application 里面,或者數(shù)據(jù)在 Azure 里面。不是說(shuō)上來(lái)就給別人一張白紙而憑空去創(chuàng)造一個(gè)無(wú)代碼、低代碼的 App,這個(gè) App 要做的事情多了。但是如果在下面有一個(gè)很大的框架,有很多的功能已經(jīng)開(kāi)發(fā)好了,在上面做一個(gè)擴(kuò)展。其實(shí)從解決方案來(lái)說(shuō),第一也合乎情理,很多客戶開(kāi)發(fā)的是只針對(duì)于自己公司所需要的,很多時(shí)候?qū)τ谶@一個(gè)小組里面這一組人,這是經(jīng)常用的東西,我可以把它很快地變成一個(gè)產(chǎn)品,可能明年他們就不需要了。因?yàn)槊髂暾麄€(gè)工作的工作流又改掉了,就可以重新再開(kāi)發(fā)一個(gè),這就是非常適應(yīng)。就是說(shuō)多種工具,沒(méi)有一個(gè)工具。我覺(jué)得有人說(shuō)一個(gè)工具可以開(kāi)發(fā)所有東西?我認(rèn)為是不可能的。

CSDN:大家在談?dòng)钪娴谝?IDE ,Visual Studio 會(huì)不會(huì)成為這樣一個(gè)工具。

潘正磊:這不是我們的設(shè)想,不合乎情理,我們不會(huì)做這個(gè)。所以我們跟 PowerApps 現(xiàn)在集成得非常好,開(kāi)發(fā)一個(gè)新的 API,做完以后作為插件給 PowerApps,這才是一個(gè)好的工作方式。

CSDN:中國(guó)已經(jīng)開(kāi)始了 5G 商用元年,各大運(yùn)營(yíng)商都開(kāi)始去做 5G 的各個(gè)套餐了。同時(shí),國(guó)內(nèi)很多開(kāi)發(fā)者開(kāi)始討論一個(gè)問(wèn)題,在 5G 時(shí)代是不是像云原生、云開(kāi)發(fā)會(huì)變得盛行起來(lái)。在 Build 大會(huì)上發(fā)布 Private Preview 的 Visual Studio Online 能夠方便開(kāi)發(fā)者連接到遠(yuǎn)程環(huán)境,在瀏覽器中體驗(yàn)許多 VS Code 的強(qiáng)大功能。很多的開(kāi)發(fā)者看到這個(gè)的第一反應(yīng),是不是能夠?qū)崿F(xiàn)手機(jī)在線編程了?在這一塊微軟是怎么考量的?當(dāng) 5G 尤其是出現(xiàn)了很多像 IoT 設(shè)備的時(shí)候。

潘正磊:這里面有好多問(wèn)題,我先講一下 Visual Studio Online,在 Ignite 大會(huì)上會(huì)發(fā)布公開(kāi)預(yù)覽(Public Preview)。微軟 Visual Studio Online 的初衷,還是提升生產(chǎn)力。因?yàn)榭吹胶芏噍^大的團(tuán)隊(duì),一個(gè)非常重要的問(wèn)題就是當(dāng)新的開(kāi)發(fā)人員加入,一般來(lái)說(shuō)需要花費(fèi)兩天時(shí)間,來(lái)將工作環(huán)境創(chuàng)建好,真正開(kāi)始編第一行代碼。

其實(shí)想一下,你從另外一個(gè)機(jī)器上創(chuàng)建有一套規(guī)章制度,很多很多條,現(xiàn)在在 GitHub 上可以看到很多項(xiàng)目。一開(kāi)始起步都是十幾行,如果有一個(gè)方法能夠把它自動(dòng)實(shí)現(xiàn)在一個(gè)模板上面,新的組員進(jìn)來(lái)后再仿照一個(gè)就可以了,這個(gè)事情多么簡(jiǎn)單。我們叫 Developer onboarding,這是一個(gè)非常重要的步驟。其實(shí)還有很多應(yīng)用場(chǎng)景,比如說(shuō)我們有一些大型產(chǎn)品,在自己的機(jī)器上編寫(xiě)可能會(huì)寫(xiě)上 45 分鐘的時(shí)間,這個(gè)時(shí)候有一個(gè)同事,為此去 Azure 上開(kāi)了一個(gè)非常大的機(jī)器。本來(lái)需要花費(fèi) 45 分鐘,到 Azure 上 10 分鐘就編完了,因?yàn)槭且粋€(gè)很大的機(jī)器!

有人問(wèn)說(shuō)那得花多少錢(qián)?他說(shuō)我這才 10 分鐘,這一個(gè)小時(shí)才花了 2 塊錢(qián),就用它做這么一個(gè)東西,這太值得了!微軟怎樣能夠非常簡(jiǎn)單地幫助開(kāi)發(fā)人員,當(dāng)有這種情況的時(shí)候馬上就可以有輔助的虛擬機(jī),幫助你把很多工作做完。包括現(xiàn)在很多開(kāi)發(fā)者會(huì)發(fā)現(xiàn),我們以前談過(guò)一個(gè)叫「Shift」、「left」,很多東西以前在你編完代碼之后,再 CI 等等,現(xiàn)在很多時(shí)候用戶希望提交之前就把這些做完。那拿什么機(jī)器做?都拿這臺(tái)機(jī)器做嗎?你做了這個(gè)東西的話,這臺(tái)機(jī)器還能用嗎?我們就希望能夠有很多輔助的機(jī)器,你開(kāi)了之后就把這些測(cè)試外包出去。等做完后有問(wèn)題告訴你,沒(méi)有問(wèn)題就可以了。

同樣你的這臺(tái)機(jī)器,原來(lái)可以干什么,還是可以干什么,它不會(huì)變慢,這樣類似的場(chǎng)景其實(shí)有非常多的,包括還有很多不同的版本。像現(xiàn)在用 Python x.x,你要去試一個(gè)新的版本。我可以保證當(dāng)你在機(jī)器上裝兩個(gè)版本之后,會(huì)出來(lái)各種各樣奇奇怪怪的問(wèn)題,這時(shí)候你就很希望「我再開(kāi)一臺(tái)機(jī)器換個(gè)版本試試看好不好,不要都裝在一臺(tái)機(jī)器上面」。這一類的問(wèn)題非常多,微軟 Visual Studio Online 對(duì)于個(gè)人開(kāi)發(fā)者,就可以幫助你非常容易地解決這些問(wèn)題。

對(duì)于一個(gè)團(tuán)隊(duì)來(lái)說(shuō),Visual Studio Online 不僅可以很快地幫助一個(gè)團(tuán)隊(duì)的 onboarding,還有很常見(jiàn)的場(chǎng)景。就是做開(kāi)發(fā)的時(shí)候,使用者以前可能一個(gè)問(wèn)題做到一半,調(diào)試的時(shí)候有問(wèn)題了,需要請(qǐng)另外一個(gè)人來(lái)幫你,這時(shí)候可以 LiveShare。其實(shí)很多時(shí)候開(kāi)發(fā)者會(huì)說(shuō),你的 VM 都裝好了,你就把 VM 給我,他就可以接著調(diào)試下去。

現(xiàn)在這些東西都是分歧,沒(méi)有什么特別簡(jiǎn)單的解決方案,尤其是國(guó)內(nèi)很多企業(yè),對(duì)它的產(chǎn)品的封閉性也有一些考量,不像代碼下來(lái)。如果都是在一個(gè)公司可以管控的網(wǎng)絡(luò)情況下,像這種情況對(duì)這一類的團(tuán)隊(duì)合作,Visual Studio Online 都提供非常好的幫助,都是在云托管的情況下,對(duì)所有的管控都會(huì)有很多的,會(huì)逐漸加各種各樣的企業(yè)訪問(wèn)控制,可以幫助用戶又可以快捷方便地分享,又有企業(yè)把控在上面。微軟常常說(shuō)的就是”Loved by developer,trusted by enterprises”,確實(shí)是這樣。

這個(gè)是微軟對(duì) Visual Studio Online 想要做的,它作為一個(gè)平臺(tái)服務(wù),其實(shí)適用很多不同的場(chǎng)景。我自己對(duì) 5G 很興奮,不僅有工業(yè)的 IoT 應(yīng)用,這個(gè)對(duì)大量的數(shù)據(jù)上傳會(huì)有非常好的作用。實(shí)際上我們看很多的教育的場(chǎng)景也是一個(gè)應(yīng)用場(chǎng)景,我上次來(lái)中國(guó),跟中國(guó)很多教育機(jī)構(gòu)有聊過(guò)。

剛才我們談到程序員短缺,現(xiàn)在作為一個(gè)老師想遠(yuǎn)程教育編程,這是相對(duì)來(lái)說(shuō)比較痛苦的事情,這個(gè)在全球都一樣。因?yàn)槟阋婚_(kāi)始編程的時(shí)候,你是希望所有的學(xué)生運(yùn)行的機(jī)器是一模一樣的。最后就能夠看見(jiàn)他在上面跑什么,而他有什么問(wèn)題可以實(shí)時(shí)跟你說(shuō)。最怕版本不一致,每個(gè)人出的問(wèn)題都不一樣,老師會(huì)非常累。

Visual Studio Online 作為這樣一個(gè)教育平臺(tái)的提供,也是有非常先天的優(yōu)勢(shì)。再加上現(xiàn)在 5G,不論在哪里運(yùn)行,運(yùn)行速度會(huì)有大量地提升。對(duì)這個(gè)產(chǎn)品,尤其是更加偏遠(yuǎn)的地區(qū),可能我們?cè)诒本⑸虾2惶X(jué)得,如果在比較遠(yuǎn)的二線城市、山區(qū)等等,它的體驗(yàn)就會(huì)完全不一樣。如果真的 5G 能夠提供到這種覆蓋率的話,這種體驗(yàn)會(huì)好很多?,F(xiàn)在的問(wèn)題就是我不能用網(wǎng)上提供,因?yàn)樗鼤?huì)慢,它一定要本地,本地就會(huì)有很多問(wèn)題,就會(huì)有這種沖突,如果在 5G 情況下這種就會(huì)統(tǒng)一起來(lái)。大家都是 5G,可以隨便上網(wǎng)看視頻,可以隨便上網(wǎng)學(xué)習(xí)編程,這對(duì)我來(lái)說(shuō)是一個(gè)比較令人興奮的場(chǎng)景。

CSDN:Visual Studio 代碼量有多大規(guī)模了?有上億?

潘正磊:沒(méi)有,微軟還在使用很多第三方 SDK,像我們用 Android 的 SDK,我也沒(méi)看過(guò) Android 的 SDK 有多少代碼量,為什么會(huì)關(guān)心代碼量的問(wèn)題?

CSDN:中國(guó)開(kāi)發(fā)者極其關(guān)注代碼量,如果說(shuō)做一個(gè)事情比如說(shuō)用 Python,只需要一百行代碼或者兩百行代碼就能實(shí)現(xiàn)什么?中國(guó)的開(kāi)發(fā)者喜歡關(guān)心效率方面,如何用更少的代碼去實(shí)現(xiàn)比較好的功能。

潘正磊:這個(gè)很合乎情理,但 Visual Studio 的代碼量對(duì)于使用者來(lái)說(shuō)其實(shí)沒(méi)有太多關(guān)系,比如說(shuō)我里面有 C 代碼,我有好幾套,因?yàn)槲矣幸惶捉o 32 的,一套給 64,還有一套給 Arm 64 的,這是三套,它有很多類似性,但是每一個(gè)不一樣。但對(duì)于開(kāi)發(fā)者自身而言,長(zhǎng)期來(lái)說(shuō),當(dāng)然代碼量少的話容易維護(hù),容易懂,這個(gè)是非常有意義的。

CSDN:這其實(shí)就是我們常常會(huì)面臨的一個(gè)問(wèn)題,在做實(shí)際研發(fā)時(shí),面臨一個(gè)非常頭疼的問(wèn)題,很多歷史代碼。于是重構(gòu)的時(shí)候就會(huì)很擔(dān)心,我解決了一個(gè)問(wèn)題會(huì)不會(huì)引發(fā)其他的一些問(wèn)題。像 Visual Studio 已經(jīng)有二十多年的歷史,積累了非常多的代碼,到現(xiàn)在是如何保持精進(jìn)去迭代的?

潘正磊:測(cè)試,一定要有自動(dòng)化測(cè)試。我覺(jué)得微軟 Visual Studio 里面幾點(diǎn)做得比較好,雖然迭代非???,但是產(chǎn)品質(zhì)量一直是非常高的。第一里面有大量的自動(dòng)化測(cè)試,迭代快速了一定要自動(dòng)化測(cè)試,沒(méi)有自動(dòng)化測(cè)試沒(méi)有辦法迭代起來(lái)。

第二個(gè),以前一直說(shuō)微軟有自己的 Doc foot,我的代碼有預(yù)覽頻道,還有發(fā)布渠道。實(shí)際上這里面還有兩層,一層就是團(tuán)隊(duì)人自己用,一般來(lái)說(shuō)昨天晚上編的,今天就開(kāi)始用了,這是我們最里層的 Doc foot。還有給微軟所有的員工,像 Office 團(tuán)隊(duì)等等會(huì)幫我們一起 Doc foot。

這樣再去預(yù)覽頻道,預(yù)覽完了以后再發(fā)布,里面有一些坑自己第一時(shí)間會(huì)踩,這個(gè)機(jī)制實(shí)際上是非常重要的,一定要有大量的測(cè)試,還有很多內(nèi)部的使用。

CSDN:其實(shí)近兩年,不管是 AI 輔助開(kāi)發(fā),還是 Live Share,以及 Power Platform,還有 Visual Studio Online,其實(shí)有一個(gè)共性是都在解決生產(chǎn)力的問(wèn)題。是不是像 Visual Studio 的一個(gè)戰(zhàn)略規(guī)劃,在近兩年,提升生產(chǎn)力是一個(gè)非常重要的地位?還有其他哪些戰(zhàn)略規(guī)劃?

潘正磊:Visual Studio 提升生產(chǎn)力是我們一向的追求,但是我覺(jué)得最近這幾年,前幾年做得更多的是把它變成一個(gè)更開(kāi)放的平臺(tái)。不是只做 .Net 或其他,而是把它變成支持所有,Visual Studio 包括 VS Code 加在一起,支持所有的產(chǎn)品。前幾年我們工作重點(diǎn)更多是開(kāi)放性的支持。當(dāng)然了從支持生產(chǎn)力上也有提升,但是我覺(jué)得排名第一、第二,可能開(kāi)放性是第一,支持生產(chǎn)力是第二。

現(xiàn)在我覺(jué)得開(kāi)放已經(jīng)做得相對(duì)來(lái)說(shuō)非常不錯(cuò)了,接下來(lái)我們支持生產(chǎn)力一定會(huì)變成第一。不管是用 AI,各種用其他的方式,還有其他功能的,這都是一種實(shí)現(xiàn)。但是從總的來(lái)說(shuō)是對(duì)生產(chǎn)力的極大提升,而且看到全球的不僅開(kāi)發(fā)人員的短缺,如果一個(gè)數(shù)字化產(chǎn)業(yè)沒(méi)有快速迭代,那都不能稱之為數(shù)字化。所以本身對(duì)開(kāi)發(fā)團(tuán)隊(duì)的要求也會(huì)越來(lái)越高。

CSDN:還有一個(gè)關(guān)于開(kāi)源的問(wèn)題,上次見(jiàn)到您的時(shí)候,那個(gè)時(shí)候大家還在關(guān)心微軟收購(gòu) GitHub 的事情,現(xiàn)在過(guò)去了差不多有一年的時(shí)間里,在開(kāi)源方面也發(fā)生了非常多的事情,受國(guó)際環(huán)境的影響,中國(guó)開(kāi)發(fā)者開(kāi)始關(guān)心是不是在中國(guó)需要做一個(gè)自己的開(kāi)源平臺(tái)?但是 GitHub 包括微軟所倡導(dǎo)的其實(shí)是無(wú)國(guó)界的開(kāi)源開(kāi)放,對(duì)于中國(guó)的開(kāi)發(fā)者,在開(kāi)源方面您有哪些建議?

潘正磊:我上次來(lái)中國(guó)實(shí)際上是陪 GitHub 一起,我們現(xiàn)在非常關(guān)注于提升中國(guó)開(kāi)發(fā)人員在使用 GitHub 上面的體驗(yàn)。所以這個(gè) GitHub 團(tuán)隊(duì)專門(mén)有一個(gè),也是他們的關(guān)注點(diǎn)之一。我覺(jué)得對(duì)整個(gè)開(kāi)源社區(qū)來(lái)說(shuō),如果分流,這對(duì)誰(shuí)都不是一個(gè)好事情。因?yàn)榇蠹叶加幸粋€(gè)使用習(xí)慣,開(kāi)源項(xiàng)目去哪兒看呢?還是怎么看?我覺(jué)得這不是一個(gè)好事情。

像你說(shuō)的,微軟推的是開(kāi)源無(wú)國(guó)界,微軟開(kāi)源的項(xiàng)目確實(shí)是沒(méi)有國(guó)界的。

CSDN:還有一個(gè)是已經(jīng)好幾年非常關(guān)心的一個(gè)問(wèn)題,關(guān)于技術(shù)領(lǐng)導(dǎo)力的問(wèn)題。我記得最早的時(shí)候,見(jiàn)到 VS Code 的 Erich Gamma,包括 C# 之父 Anders Hejlsberg,其實(shí)都是在您的麾下,我記得 Erich 是管理著二十多人的團(tuán)隊(duì),Anders 只有自己一個(gè)人。

潘正磊:是,現(xiàn)在還是。近期 Anders 對(duì) C# 的關(guān)注相對(duì)來(lái)說(shuō)少一些,他主要都在做 TypeScript?,F(xiàn)在 TypeScript 在全球來(lái)說(shuō)也是增長(zhǎng)非常快的一個(gè)語(yǔ)言,一般來(lái)說(shuō)做 JavaScript 的產(chǎn)品,只要稍微代碼 base 大一點(diǎn)都在用 TypeScript。

我覺(jué)得 Anders 大概是在過(guò)去二十年里最有影響的編程語(yǔ)言設(shè)計(jì)師,之前的 Delphi,到后面的 C#,到現(xiàn)在的 TypeScript,三個(gè)語(yǔ)言都是上百萬(wàn)的全球用戶,你找不出第二個(gè)語(yǔ)言設(shè)計(jì)師有這種成就。

從 C# 來(lái)說(shuō),在最近的 .Net Core 3.0 里也發(fā)布了很多新的功能。尤其是在支持機(jī)器學(xué)習(xí)方面還發(fā)布了相應(yīng)的 ML.Net 等等,之后語(yǔ)言針對(duì)這一類會(huì)有更好的支持。

C#、Delphi、TypeScript 之父 Anders Hejlsberg 的 GitHub 主頁(yè)

CSDN:您在技術(shù)管理這塊,包括這些技術(shù)大神,是采用什么樣的管理方式?

潘正磊:具體就是說(shuō),像 Anders 和 Erich,他們之所以是技術(shù)大神。因?yàn)樗軌蚩吹竭@個(gè)技術(shù)以后的需求方向和總的趨勢(shì),他的眼光是非常精準(zhǔn)的。所以我覺(jué)得作為企業(yè)領(lǐng)導(dǎo),我對(duì) Erich,有一些事情他要做的東西,我完全知道他。他具體怎么做肯定是 Erich 的事情,我不會(huì)去參與。但是有一些問(wèn)題我們會(huì)討論,比如有三樣?xùn)|西可以做,從技術(shù)的角度非常有趣,但是從商業(yè)角度來(lái)說(shuō)不是我們現(xiàn)在所追求的。我要做的是這幾件事情,希望他的精力能夠?qū)W⒃谶@幾件事情上面。

我們還有一些討論,比如具體哪些東西開(kāi)源,哪些東西不開(kāi)源,因?yàn)槲覀冞€有商業(yè)模式的考量。這中間具體怎么實(shí)現(xiàn)?我們有很多這種討論,跟 Anders 非常類似的,都是一個(gè)交流。他們有他們的意見(jiàn),我也有我的看法,經(jīng)過(guò)一番討論以后就可以決定團(tuán)隊(duì)哪些東西要做,哪些不要做。產(chǎn)品不是單獨(dú)存在的,是在一個(gè)大的框架下面的。

CSDN:去討論關(guān)于哪些開(kāi)源、哪些不開(kāi)源,這其中的一個(gè)準(zhǔn)則是什么樣的?

潘正磊:要具體情況具體看。其實(shí)有一些東西可以想象,我們要有一系列戰(zhàn)略規(guī)劃,如果全開(kāi)源的話,比如我們另外一個(gè)云廠商把我們開(kāi)源的全部直接拿去變成它自己的服務(wù)怎么辦?所以說(shuō)這種東西還是要想清楚,哪些東西是要開(kāi)源的,為什么要開(kāi)源?我們跟社區(qū)一起想達(dá)到的目的是什么?還是需要許多考慮的。


【END】

本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊舉報(bào)。
打開(kāi)APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
微軟 VS Code 或?qū)⑷〈?Visual Studio!
微軟發(fā)布Visual Studio 2017 RC:支持自動(dòng)任務(wù)
訓(xùn)練過(guò)GitHub千萬(wàn)行代碼后,微軟用自動(dòng)寫(xiě)代碼工具提升開(kāi)發(fā)者效率
微軟推出C#開(kāi)發(fā)套件,助力VS Code編程
微軟再次修改Visual Studio圖標(biāo),并微調(diào)用戶界面
微軟宣布.NET開(kāi)源 VS免費(fèi):全面兼容各大平臺(tái)
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長(zhǎng)圖 關(guān)注 下載文章
綁定賬號(hào)成功
后續(xù)可登錄賬號(hào)暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服