毕业论文
您现在的位置: 在线软件 >> 在线软件市场 >> 正文 >> 正文

独家对话微软顶级代码女神潘正磊Visua

来源:在线软件 时间:2023/4/13

题图、作者

唐小引

VisualStudio到今天,已经有22年的光景,因为它强大的功能和支持几乎大部分语言的开发、丰富的扩展插件等,中国开发者们喜欢冠之以「宇宙第一IDE」的称号。但每一个使用VisualStudio的开发者,总会困扰于一个问题,那便是VisualStudio太大太重了,并且还有至关重要的一点是,曾经VisualStudio只能跑在Windows平台上。

但现在都已经发生了变化。

VisualStudio不仅支持了所有平台,在VisualStudio20周年时,17版即从性能上进行了大量改进,使得安装速度更快、系统影响更小以及可完全卸载。同时,开源的轻量级代码编辑器VisualStudioCode自诞生开始便迅速地赢得了全球开发者的热爱。并且,通过VisualStudioLiveShare,能够将VSCode的Java等开发环境共享给VisualStudio,而不需要安装任何的JavaJDK运行环境,VisualStudioIntelliCode能够运用机器学习帮助开发者编写代码,VisualStudioOnline可以连接远程环境,PowerPlatform可以实现低代码、无代码等等。

这一切的变化均来自于微软开发平台掌舵人——微软全球资深副总裁潘正磊(JuliaLiuson)的决策与主导,自年加入微软至今,Julia主导着VisualStudio系列产品、.Net的功能演进及开源开放,她不仅是微软顶级代码女神,也是杰出的技术领袖,Eclipse之父、《设计模式》作者、VSCode负责人、现微软技术院士ErichGamma,与C#、Delphi、TypeScript之父AndersHejlsberg均在其麾下。在MicrosoftIgnite前夕,笔者再次见到了Julia,深入聊起了VisualStudio及VSCode的未来走向,以及中国开发者颇为关心的诸多问题。

潘正磊(作者摄于微软)

重点速览:

关于VisualStudio体量大:以前大家的使用习惯是installall,下载所有的东西,而现在,微软从前几年开始一直跟开发人员所倡导的使用习惯是只安装你需要的。谈Java开发常用的Eclipse、IntelliJIDEA:我认为那是非常好的JavaIDE,也不希望他们来用VisualStudio,因为开发者可能不会收获一个好的体验,而VisualStudio本身也不支持Java,但是VisualStudioCode会不太一样。VSCode的初心:对于同时使用几种不同编程语言的开发者而言,会非常希望有一个一致性的工具,这个时候VSCode就是一个非常好的工具。谈VisualStudio是否会被VSCode取代:使用场景不一样,VisualStudio具有着非常典型的IDE功能,并将所有功能串联起来,而VSCode用户要做很多手工步骤。这就是IDE和CodeEditor的不同,如果我把VisualStudioCode做得跟VisualStudio一样,你们就不会喜欢它了,因为它就不是一个轻量级的,这么快捷、便用的,它变成了一个重量级的IDE,就失去了它最本质的特性。谈低代码、无代码开发:低代码、无代码一定要基于现有的平台,如果脱离了平台来做低代码、无代码,那就非常难做。重磅发布:VisualStudioOnline公开预览版来了!从开源开放到解放生产力:前几年我们工作重点更多是开放型的支持,现在相对做得非常不错了,接下来支持生产力将成为第一优先。谈开源:对于整个开源社区来说,如果分流,对谁都不是一个好事情,微软开源的项目没有国界。评C#、Delphi、TypeScript之父AndersHejlsberg:Anders大概是在过去二十年里最有影响的编程语言设计师,之前的Delphi,到后面的C#,到现在的TypeScript,三个语言都是上百万的全球用户,你找不出第二个语言设计师有这种成就。技术大神如何修炼:像Anders和Erich,他们之所以是技术大神。因为他能够看到这个技术以后的需求方向和总的趋势,他的眼光是非常精准的。以下为对话实录(万字长文,可收藏阅读):

CSDN:我记得使用VisualStudio时主流还是版,现在这么多年过去了,昨晚又试了一下安装最新版本的VisualStudio,结果因为网络问题两次都失败了,我就想起了VisualStudio对于许多开发者的普遍痛点,就是体量太大、太重型了。

Julia您从年开始加入微软,起于Access,这个我也曾使用过,后来在VisualStudio上度过了大部分的光阴。您怎么评价VisualStudio?以及它现在所面临的挑战是怎样?毕竟在过去二十多年里,它主要的演进其实都是您所主导的。

潘正磊:二十多年前有点儿久远了,我们先讲讲最近吧。VisualStudio和VisualStudioCode这两个产品在全球所有开发人员里使用和反馈都是非常强烈的。它们的月活用户现在都超过了万,而且用户量增长是非常迅猛的。

关于VisualStudio,原来版本还只能做Windows开发。现在因为微软的战略,你要是看微软的产品,包括VisualStudio里面C++的开发,我们会支持CMake,支持在Linux上面Debug,广受好评。包括之后我们.Net全部做开源,然后跨平台。在今年9月份刚刚发布的.NetCore3.0,全球的反响是非常好的。VisualStudio作为.Net开发人员最经常用的产品,二者相辅相成。根据我们的战略,VisualStudio现在的产品是支持所有平台、所有开发语言的,里面包括Python、C++,有Unity可以做游戏开发,也包括UnrealEngine虚幻引擎,可以做.Net,可以做不同版本的.Net等等,还可以做iOS、Android。

我们现在的开发包,希望用户用哪一个workload就只装那个workload。可能以前在年时,大家的使用习惯是installall,下载所有的东西。因为VisualStudio是支持所有平台的,不知道哪一个用户是会既做Python,也做Xamarin,我们还可以用C++开发iOS,包括我们的C++里有64-bit或ARM64-bit等非常多的不同版本,开发者要将它打包全安装下来,那个安装包就大得不得了,非常痛苦。而现在微软从前几年开始一直跟开发人员所倡导的使用习惯是只安装你需要的。你要再重新安装另外一个workload是非常容易的,所以大概从年开始一直在推这个理念,因为我们面向所有的平台。只装开发者自身所需要的,当需要另外一个时再去安装它,否则在机器上占了很多位置,但开发者却没有用到的话,占了地方也没有起到作用。

我看你在用Mac,我们有VisualStudioforMac,最近也推出了很多更新。

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

潘正磊:中国使用VisualStudioforMac还真挺少的。

CSDN:其实VisualStudio能支持各种各样的功能语言,能够去实现很多。可是到一个专门去做像Java、Python等的开发者,会想为什么我不用专门的IDE,而要去使用VisualStudio呢?

潘正磊:如果是Java的话,做Java的用户一向使用专用的IDE,我们没有推荐VisualStudio给他,这也不是合适的。大多数Java开发者现在要么使用Eclipse,或IntelliJIDEA的产品,我认为那是非常好的JavaIDE,也不希望他们来用VisualStudio,因为开发者可能不会收获一个好的体验,而VisualStudio本身也不支持Java,但是VisualStudioCode会不太一样。在VSCode里我们可以看到用户很多使用习惯并不是传统的JavaServer,它现在用Java来进行云原生开发,然后用Kubernetes、容器。

在这个情况下,VisualStudioCode上的Java配置,对这些用户来说就相对非常合适。而且我们上面有非常好的Kubernetes、容器支持。所以在这个情况下,我们希望开发者能够来试一下VisualStudioCode上面的Java配置。

关于Python,现在也有现成的IDE,PyCharm也是非常好的一个产品,我们对JetBrains公司非常尊敬。

同时,在VisualStudioCode里对Python怎么做有很多自己的想法,我们做了很多插件。因为我们现在看到Python用户尤为显著的特点,跟很多.Net不太一样,许多Python开发者是同时使用好几种编程语言的。一般来说,不只是Python,还会有C++等。对于这些同时使用几个不同编程语言的用户而言,会非常希望有一个一致性的工具,这个时候VisualStudioCode对他就是一个非常好的工具,我们看到很多用Python的人也在用Java,或者是Python再加上C++,使用的语言不止一个。

我们针对的是这一类用户,现在Python的用户在VisualStudioCode上增长非常快,刚才说的月活量已经差不多达到了万。

CSDN:所以很多开发者会关心微软自家非常强的VisualStudio,会不会被VSCode所取代,这是在我们中国开发者圈子里讨论很多的一个话题。

潘正磊:我觉得使用场景不一样,比如说像.Net里做桌面开发或移动应用开发,VisualStudio里最有名的就是做完以后F5,按下那个键。但那一个键下面都有什么功能在里面?先把你编写的代码存起来,再编译一下,编译把二进制源码部署到你的目标程序上,你可以设置断点调试,整个一套都连在一起。

这就是一个非常典型的IDE功能,就是它将这些功能都给你串起来了,所以你的工作流就已经给你规定好了。你要是遵照这个IDE给你的工作流是非常简单,像F5可以做到一键生成。我们前一阵在NVP大会的时候有几个NVP,跟我说:我在VisualStudio调试.NetCore,在容器里很容易但在VSCode为什么这么难?因为在VisualStudio里,你改了东西,我们知道你前面一次编译的是什么,后面一次编译的是什么,我们只把它中间变更的那部分打到容器里去,帮你把这些重新设置好,所以开发者用起来觉得非常顺。

VisualStudio演示

VisualStudioCode中间这一段一段都是用户自定义的,VisualStudioCode是不管的,用户要做好多手工的步骤。我说这就是IDE和CodeEditor的不同,如果我把VisualStudioCode做得跟VisualStudio一样,你们就不会喜欢它了,因为它就不是一个轻量级的,这么快捷、便用的,它变成了一个重量级的IDE,就失去了它最本质的特性。我觉得,根据不同的场景,用户会使用不同的工具,我从来没有觉得一个工具就走遍世界了。

VSCode

CSDN:我记得之前开复博士谈过,您在时间管理上以效率著称。您最开始也在微软内部设置了回答问题的时间。您现在比之前更忙碌了,时间管理上是怎么做的,以及如何体现在VisualStudio系列产品的演进上呢?

潘正磊:在时间管理上,我现在最主要抓的是战略,最主要的体现就是什么应该做,什么不应该做。再接下来就是文化,怎么来改进我们的文化,帮助这个团队做的事情是应该自然而然的,它做的是我们应该做的事情。如果每件事情我都要自己去管就太累了,等于是怎样将它划分优先级,抓最重要的事情。这体现在几方面,第一是我们在做产品时,其实有一个很大的产品策略,像我们更新战略时,比如做.NetCore,我们为什么要将它全部开源放到GitHub上做成跨平台,后面还有很多很多工作,但这个一定是最优先的。

我们接着做的,即从效率上对.NetCore第一个要求就是性能,性能一定要做到最好。比如前不久我们在发布.NetCore3.0时,大家都知道StackOverflow是开发人员都经常去的地方,它原本只是用.Net开发,但现在已经全部迁移至.NetCore上了,性能等各方面都有了显著的提高。

在优先级上,从云原生到性能,这是我们要做的最核心、最重要的一部分。这部分在我们很多用户反馈上都得到了体现,包括微软内部的,比如去年.NetCore2.0发布时,必应(Bing)团队用完后就发现吞吐量和性能都有了特别大的提升,还非常高兴地写了一篇Blog。现在微软内部有更多的团队都在使用,有许多类似的反馈。

第二个就是体现在Timing,我们一开始做的是云原生那一端,现在又将WinForm跟WPF也做到.NetCore3.0里,帮助有很大的桌面产品的用户,比如NationalInstruments等。用户是需要一直与时俱进的,微软为其提供了一个全新、可控的平台。所以我们的聚焦点第一就是将这些平台移到了新的运行平台上,而且我们做的是非常针对客户需求的产品。

这也就直接关系到,我该

转载请注明:http://www.0431gb208.com/sjszlff/4225.html