百科问答小站 logo
百科问答小站 font logo



.Net 新一代编译器 Roslyn 会带来怎样的影响? 第1页

  

user avatar   jeffz 网友的相关建议: 
      

对.NET和C#有什么影响我不知道,我做不来预测,我只知道它可以用来干嘛。

Roslyn就是个编译器,而且是开源的,想怎么改想怎么用随你,你可以借助它来开发VS这样的编程工具,甚至自己为C#语言添加特性,而这样的特性甚至可以是非侵入性的,因为Roslyn已经把编译器的黑盒给拆开了,例如我们可以添加一些SyntaxRewriter来改变语法树的结构。

此外,可以用DLR打个比方。DLR是一个统一的标准的动态语言运行时(当然严格说来还是一套辅助类库)一样,假如你要实现一个动态语言,首先它能帮你很多忙,其次不同的人围绕DLR做出的不同的东西都可以交互。

跟DLR一样,Roslyn是经过详细设计的,目标之一是作为一个统一的标准的编译器实现或是基础。你想一下现在Resharper这样的开发工具会怎么做,它们基本都是自己重新写了一套前端,自己对用户代码进行分析,然后提示你这里有错误,那里可以改进,然后帮助你重构等等。那么假如有两个类似的工具A和B,它们怎么合作?基本没法合作,它们唯一可以共享的“渠道”就是代码文本。于是A对代码做出的修改,至少先要变成内存里的字符串,然后再被B发现,再解析再分析,这种都是额外开销。假如大家都通过Roslyn来搞,就可以配合地更好(当然我对VS的扩展性也不熟,但我推测这完全是可行的)。

这里可以看个案例:

.NET Framework Reference Source

。微软用Roslyn把整个.NET Framework的源代码给索引了,加了个Web的皮,好用的不得了。原本我是把Reference Source压缩包下载到本地解压,然后grep着找代码的,现在直接可以Go To Symbol了,每个方法还可以直接点击跳转到定义,或是Find Usages(当然这块好像有bug,有些Reference找不出来)。这种分析都是要基于整个项目甚至解决方案进行分析的,不是什么用个Lucene啊grep啊就能搞出来的。




  

相关话题

  微软允许员工永久在家办公,互联网行业距离全面远程办公还有多远,有哪些挑战? 
  Windows11与鸿蒙谁会赢得未来主要市场?2 万亿市值的微软,我们还能期待什么? 
  王垠公开未签署的秘密离职协议,是否违法? 
  C# 虽然在语言层面上更胜 Java 一筹,但是这对于占有率真的很重要吗? 
  为什么很多美国IT公司愿意开源自己的某些代码? 
  c#里的属性是不是鸡肋? 
  在如今(2021),21:9的带鱼屏无论影视或游戏观感都远超16:9屏了,为什么16:9还是主流呢? 
  如何看待特朗普同意给字节跳动 45 天时间协商向微软出售 TikTok 事宜?后续将会如何发展? 
  为什么京东上 Win10 才卖 200 多,但是微软官网却卖 1000 多? 
  C 语言和 C++、C# 的区别在什么地方? 

前一个讨论
如何看待闾丘露薇对儿童香港街头小便引发争执一事的言论?
下一个讨论
未来多少年内,互联网有可能出现让普通人觉得比搜索引擎的作用还要大的发明吗?





© 2024-12-22 - tinynew.org. All Rights Reserved.
© 2024-12-22 - tinynew.org. 保留所有权利