用编辑器占领世界!——对话微软杰出工程师Erich Gamma

Kevin笃笃 UID.940450
2016-06-13 发表

在程序员圈,Erich Gamma可以说大牛级人物。20年前,Erich Gamma与 Richard Helm、Ralph Johnson 和 John Vlissides 合著了《设计模式:可复用面向对象软件的基础》一书,正是这本书被开发社区视为面向对象软件开发的指路明灯。

2011年,Erich Gamma 以杰出工程师(Distinguished Engineer)的身份加入微软 Visual Studio 团队。说到Distinguished Engineer,这个头衔的获得者基本上都是微软内部金字塔尖的技术大拿了,在整个微软也就十几位,.NET之父Anders Hejlsberg也是其中之一。

***附件停止解析***

微软杰出工程师Erich Gamma

事实上,在2011年Gamma加入微软前,也有很多企业向他伸出了橄榄枝,而Gamma接受微软的原因是一项挑战——在浏览器里构建集成开发环境(IDE in Browser),而这项挑战也在几年后为万千开发者提供了不一般的开发体验。

加入微软后,Gamma领导微软设立在瑞士苏黎世的一个开发实验室。微软的多个产品如 Visual Studio Online、Visual Studio Code、Azure Mobile Services、Azure Web Sites和 Office 365开发工具里都应用了由这个实验室开发出来的基于浏览器的开发套组件“Monaco”。

Visual Studio Code正是来自online editor Monaco,由typescript写就。作为一款免费的、轻量级的Web集成开发环境on Linux、Mac and Windows,圈里甚至戏称微软想用编辑器占领软件世界,重夺霸主地位。

Visual Studio Code要做一款具有包容性的编辑器

最新数据显示,Visual Studio的市场占有率已经达到35.6%,成为全球开发者最喜爱的开发工具,拥有最大规模的开发者社区。但是,在使用之前,开发者需要下载和安装好几个GB的Visual Studio安装包,并且即便只是写个“Hello World”应用,也需要大费周章地设置开发者环境。

“Visual Studio是全特性的IDE,更适合做解决方案开发的资深程序员的需要,但对更多地在Mac、Linux上做开发的年轻开发者来说,Visual Studio就显得太重了。”Gamma表示,“但Visual Studio Code就适合去做像File Base这类项目的开发。这种使用行为就像是打开笔记本去编辑一个文档,而Visual Studio Code就是让开发者拿来编辑代码的文档。”

“我们想要Visual Studio Code成为一个包容性的项目,无论开发人员想用哪种源代码编程,它都支持。”按照Gamma给出的定位,Visual Studio Code是以代码为中心的编辑器,并且更侧重于比较轻量级的开发。此外,Visual Studio Code还是一个跨平台跨语言的富编辑器,内置很多日常功能,支持海量开发语言、并排编辑、控制面板、智能函数参数、集成版本控制、信息预览、调试等。

而被Gamma一再提及的是,Visual Studio Code可以借助Intelligence Sense功能智能地帮助开发者分析代码是不是拼错了,以及协助开发者提升编程的效率。Gamma表示,如果是1000行代码的开发级别,这种优势可能并不是特别明显,但是如果是5000行、50000行代码的开发级别,这项功能将决定Visual Studio Code能够生产质量更好的代码,以及实现更低的维护成本。

从Visual Studio Code一窥微软的雄心

Gamma对于Visual Studio Code信心十足,这款编辑器对开源的友好度绝对可以虏获众多开发者的欢心。开发这款免费编辑器,微软想要做什么?

不可否认,此时的世界早已经不是微软称霸的世界了,大多数的服务器上跑的是Linux系统,越来越多的开源软件挤占了微软的市场份额,并且正在以变革者的身份进行着更多的创新。在企业用户眼中,开源软件已经从“不考虑”变成了“为什么不考虑”。

2014年微软新CEO上台,发表了“微软爱Linux”的宣言;同年底,微软公布了.NET开发框架开源计划,将这长期以来只能运行于Windows系统下的开发环境,通过GitHub开源,实现跨平台支持Mac OS X和Linux;随后,微软在Build 2016开发者大会上公布了一大批创新技术、开发工具和云服务,并收购Xamarin与Visual Studio进行整合。微软紧锣密布地推出一系列大手笔技术变革,最终构建了从框架到工具完整的开源开发体系,实现真正的跨平台开发,逐步夯实微软开源的进程和基础。

与此同时,微软关闭了MSN中文网站并借此将中国市场的发展重点从提供网络内容服务,转向为Windows 10设备提供软件和服务;对手机设备业务部门进行裁员……

这些信号意味着微软正在重新规划自身的业务架构,抛弃一切落后的,拥抱新鲜的熠熠生辉的技术和创新,在移动和云两个维度上发力,而开发者正是其中重要的一环,也是现阶段微软不断发力所极力争取的。

Gamma表示:“开源对微软并不是新鲜事物,只是方法和心态上发生了变化。”但是,Gamma也承认,对于微软这样的一个庞然大物来说,要从闭源走向开源,其实背后必须花费相当大的投入。

据介绍,在微软内部的开发中对开源技术的应用横跨多个不同的产品线,仅Visual Studio Code一个项目就至少用了1500个开源的元件。“我们内部对所有开源元件的使用情况都做了详细的记录,实现正向和反向的追踪,来帮助开发者和产品团队,让他们避免陷入到一些License问题里,或者在开源元件出问题时,可以很清楚地对相关产品进行迅速准确的修正。”

另外,Gamma也表示:“透过开源这样一个合作机制,我们把源代码放在Github上,跟另一个公司在产品研发上进行更为密切的合作。我们的工程团队也帮助某些公司去做黑客松,帮助他们运用微软的开源技术进行改进和创新。”去年,微软在Docker技术领域的贡献者中排名第一。

但是,问题是开源的积累并不是一蹴而就的,不管是开源技术和社区都需要足够时间进行积累、沉淀。而相对于优势明显的Visual Studio,.NET开源却并不那么顺利。业内甚至有一种说法,建议新入行的开发人员不要过早接触微软,否则会错失很多接触新技术的机会。现阶段,对于新的酷炫的技术,微软的开源社区总是显得慢半拍,并且在商用方面也还在不断摸索、填坑,而此时用完善的、优势明显的开发工具攻占开发者市场,也不失为一个好法子。

中国开发者对微软的意义

赢得开发者的欢心是微软开源以及推出一系列炫酷的开发工具的重要任务,而中国的开发者市场是在微软的心中也有着不一般的分量。

Gamma说,如果没有中国的开发者,Visual Studio Code的下载数会直接“掉下去”。“以往,我们都会定期查看Visual Studio Code在全球下载人数的变化趋势。今年二月,Visual Studio Code的成长趋势莫名其妙一下下降了很多,我当时非常着急,也很纳闷,不知道是什么原因导致的这种变化。”

不过,Gamma的上司微软全球资深副总裁潘正磊女士对此却不以为意,她给出的理由是,那个时间段正是中国的农历新年,而程序员也需要回家吃年夜饭了。这件小插曲甚至间接促成了今年六月初Gamma的首次中国行,说到这点,Gamma不由得还是抱怨了一下微软繁琐的行政手续,“来中国一次,实在是太难了!”

更重要的是,微软和越来越多的中国开发者保持着良好的合作关系。白鹭时代(Egret Technology)正是其中之一,这家公司在在Visual Studio Code上开发从Flash转换成HTM5的游戏开发工具和引擎,在全球已经获得4万多名开发者的认可,所开发的程序在超过5亿台移动终端上运行,而市面上每10款HTML5手机游戏中有7款就是基于它的开发工具。

除此之外,中国开发者对于.NET社区的贡献也越来越重要。越来越多的企业和开发人员使用微软.NET开源平台进行开发,网易游戏最新推出的移动游戏《绝代双骄OL》在开发过程中即得到了.NET Core的支持。这款游戏采用了同样是.NET基金会成员的Unity引擎开发前端(客户端),而通过.NET Core框架开发后端(服务器端)并顺畅运行在网易的Linux服务器上。

中国市场在微软的商业天平上的份量越来越重。6月1日,2016微软开发者峰会,Gamma首次以微软杰出工程师的身份来华。在峰会上,Gamma展示了Visual Studio Core的各项功能,甚至为了更好满足中国开发者的编程需求,Visual Studio Core支持中英文双语编程,编辑器会自动对一部分英语翻译成中文,用Gamma的话形容就是“非常酷”。

所以,不如期待一下,微软未来在开发者市场的努力带来的成效吧。

Via:***链接停止解析***

敬告:
为防止不可控的内容风险,本站已关闭新用户注册,新贴的发表及评论;
你现在看到的内容只是互联网用户曾经发表的言论快照,仅用于老用户留存纪念,且仅与科技行业相关,全部内容不代表本站观点及立场;
本站重新开放前已针对包括用户隐私、版权保护、信息安全、国家政策在内的各种互联网法律法规要求,执行了隐患内容的自查、屏蔽和删除;
本站目前所属个人主体,未有任何盈利安排与计划,且与原WFUN.COM所属公司不存在任何关联关系;
如果本帖内容或者相关资源侵犯到您的合法权益,或者您认为存在问题,那么请您务必点此举报或投诉!
全部回复:
wucd UID.573665
2016-06-13 回复

向大师致敬!

Fantasy肖 UID.590405
2016-06-13 使用 Lumia 1520 回复

嗯,很牛逼,,就这样。

Xray UID.25088
2016-06-13 回复

我觉得直译不太好吧,这个还是翻译成开发工具比较好,毕竟编辑器对于很多人来说瞬间B格降低啊。

seman638 UID.1186988
2016-06-13 使用 Lumia 1320 回复

牛逼人物啊,期待多开发些咱们用的软件。

鱼蛋bb UID.73864
2016-06-13 使用 Lumia 640 回复

QuoteXray 发表于 2016-6-13 16:19
我觉得直译不太好吧,这个还是翻译成开发工具比较好,毕竟编辑器对于很多人来说瞬间B格降低啊。 ...


怎么会降低,大神从 emacs/vim开始啊

Xray UID.25088
2016-06-13 回复

Quote***链接停止解析***
怎么会降低,大神从 emacs/vim开始啊


成神了才用吧,而且这都是神化过的产物,上来就用,瞬间对编程没激情了好吧。

鱼蛋bb UID.73864
2016-06-13 使用 Lumia 640 回复

本帖最后由 鱼蛋bb 于 2016-6-13 19:27 编辑

QuoteXray 发表于 2016-6-13 18:40
成神了才用吧,而且这都是神化过的产物,上来就用,瞬间对编程没激情了好吧。 ...


哪有直接成神的…都这么慢慢折腾过来的。
爱折腾的人怎么折腾都是玩,不喜欢的用一秒都像加班
也没有什么神化…就是强啊…{:3_93:}

sgomain UID.246385
2016-06-13 使用 Lumia 920 回复

vim没那么好,是被吹出来的

Xray UID.25088
2016-06-13 使用 Lumia 950 XL 回复

Quote鱼蛋bb 发表于 2016-6-13 19:25
哪有直接成神的…都这么慢慢折腾过来的。
爱折腾的人怎么折腾都是玩,不喜欢的用一秒都像加班
也没有什么 ...


所以没多少人上来就用这类纯文本编辑器,而且也是linux下没什么好的集成开发环境,和VS差太远。用这类工具多的还是个人开发者,企业没听说过用的。

鱼蛋bb UID.73864
2016-06-13 使用 Lumia 640 回复

本帖最后由 鱼蛋bb 于 2016-6-13 21:26 编辑

QuoteXray 发表于 2016-6-13 20:24
所以没多少人上来就用这类纯文本编辑器,而且也是linux下没什么好的集成开发环境,和VS差太远。用这类工 ...


企业更加多…
直接用的确很少…多数都是看到别人用然后想折腾一下就开始用了…不过…怎么可能成神再用某种工具哪…
github+自定义本地工具的太多了…
也有私有管理中心+自定义工具的…工具这种东西按个人喜好,很少限定的。

大明二代 UID.1149444
2016-06-13 使用 Lumia 638 回复

没打算用这个编辑器

Xray UID.25088
2016-06-14 使用 Lumia 950 XL 回复

Quote鱼蛋bb 发表于 2016-6-13 21:20
企业更加多…
直接用的确很少…多数都是看到别人用然后想折腾一下就开始用了…不过…怎么可能成神再用某 ...


哪个企业,我对这个非常好奇。毕竟这个非常多我没听说过。

鱼蛋bb UID.73864
2016-06-14 使用 Lumia 640 回复

QuoteXray 发表于 2016-6-14 07:15
哪个企业,我对这个非常好奇。毕竟这个非常多我没听说过。


我去过的都大有人这么做…我倒是好奇哪家公司全用ide.
顺便扯一下,之前 stack overflow 做的统计…就算在 windows 下,最常用编程工具是 notepad ++

Xray UID.25088
2016-06-14 回复

Quote***链接停止解析***
我去过的都大有人这么做…我倒是好奇哪家公司全用ide.
顺便扯一下,之前 stack overflow 做的统计…就算 ...


我去过的没有,看来按照这个统计,应该还是用集成的多。
至于统计吗,Gartner的是不是权威点。估计你去的都是小型的工作室,反正大型企业我去过的真没见到有用的。

鱼蛋bb UID.73864
2016-06-14 使用 Lumia 640 回复

本帖最后由 鱼蛋bb 于 2016-6-14 13:04 编辑

QuoteXray 发表于 2016-6-14 10:43
我去过的没有,看来按照这个统计,应该还是用集成的多。
至于统计吗,Gartner的是不是权威点。估计你去的 ...


明白了,你跟我之前撞到一个ibm的一样,都是负责移动端app的…想想就是这里的人特别喜欢用ide,方便调试。

Xray UID.25088
2016-06-14 回复

Quote***链接停止解析***
明白了,你跟我之前撞到一个ibm的一样,都是负责移动端app的…想想就是这里的人特别喜欢用ide,方便调试 ...


难怪,一看你的判断力就知道面窄了,我已经几年不碰代码了,现在这些都是程序员的事了。从成本上考虑肯定编辑器对企业有利,但是为什么企业用IDE多,这是个耐人寻味的问题。IDE在管理性和可控性要比纯粹的编辑器强很多,功能性就更不用说了。有些东西不能想当然,我认为没有绝对好的工具,只有适合的,毕竟乐趣和效率才是重要的。

鱼蛋bb UID.73864
2016-06-14 回复

本帖最后由 鱼蛋bb 于 2016-6-14 17:24 编辑

Quote***链接停止解析***
难怪,一看你的判断力就知道面窄了,我已经几年不碰代码了,现在这些都是程序员的事了。从成本上考虑肯定 ...


是我判断错了,这下我完全理解了,“那些是程序员的事了”,你是那种想着打几年代码升个管理层就舒服的人。
我面窄,不过我知道大公司里面有大量一辈子工程师,科学家的人,尤其像facebook这样扁平化的公司。这些人压根不打算做什么管理层,他们是狂热的,能为每一个需求自己配置出优胜于市面任何工具的自定义工具。这也是开源社区怎么生存壮大的很大一部分原因。不然你以为hadoop, chain block,container甚至C++这些发明,都是大学毕业生做的?都是老家伙躲电脑前敲出来的。
至于你,那当然是麻烦能少则少了。30出头读个MBA去国企拿个铁饭碗就对了,再也不用碰代码。怎么可能拿自己平时享受生活的时间去做配置编辑器呢。

Xray UID.25088
2016-06-14 回复

Quote***链接停止解析***
是我判断错了,这下我完全理解了,“那些是程序员的事了”,你是那种想着打几年代码升个管理层就舒服的人 ...


不好意思,你又判断错了,管理层也不是我现在做的事,这也是几年前的事情了。现在对我来说如何开发已经不是我考虑的范畴了,而是如何创新。人总是通过经验去判断,但是却不知道经验的对错是非常可怕的。我对于开源技术一直保持敬畏,但我始终认为好的东西应该有个优秀的领导者,他们往往比那些狂热的极客拥有更伟大愿景和对技术的把控力,如果你瞧不起管理者,我只能说你的成就有限,因为即使在开源社区,也是有严格的等级制度的。
感谢你的建议,我会考虑花时间去考个MBA。

鱼蛋bb UID.73864
2016-06-14 使用 Lumia 640 回复

本帖最后由 鱼蛋bb 于 2016-6-14 17:55 编辑

QuoteXray 发表于 2016-6-14 17:23
不好意思,你又判断错了,管理层也不是我现在做的事,这也是几年前的事情了。现在对我来说如何开发已经不 ...


那就更不能理解了,Linus Torvalds制作了Linux,git,他现在在基金会排第几?谁在乎,还是天天代码,但谁说他没成就?比尔盖茨在前几年的q and a还说自己平时会用vb编程,扎克伯格在上市前还全力保持一定的代码量。这是生活的一部分,就跟其他人有两分钟空也拿来刷朋友圈一个意思。这些就是狂热。所谓的专注点改变不过借口,不是这样的人没什么不好,也许更精彩,不过就是要承认自己不是。

Xray UID.25088
2016-06-14 回复

Quote***链接停止解析***
那就更不能理解了,Linus Torvalds制作了Linux,git,他现在在基金会排第几?谁在乎,还是天天代码,但谁 ...


你不理解很正常,你说的这些人好像和编辑器都毫无关系。而且你说的这些人没有一个是代码狂人,我倒觉得这些人在商业和管理上更加出色。另外纠正一下,Linux并不是Linus Torvalds制作的,无论在任何场合下,这样说的等于否定整个开源社区。不过话说回来,比尔用IDE是不是代表IDE比编辑器更牛?还是那句话,只有更牛的人,没有最牛的工具。牛的是人,不是工具。

鱼蛋bb UID.73864
2016-06-14 使用 Lumia 640 回复

QuoteXray 发表于 2016-6-14 18:11
你不理解很正常,你说的这些人好像和编辑器都毫无关系。而且你说的这些人没有一个是代码狂人,我倒觉得这 ...


我的意思是,有这种狂热的人。

本站使用Golang构建,点击此处申请开源鄂ICP备18029942号-4联系站长投诉/举报