BT

如何利用碎片时间提升技术认知与能力? 点击获取答案

微软开源.NET Core的执行引擎CoreCLR

| 作者 孙镜涛 关注 2 他的粉丝 发布于 2015年2月6日. 估计阅读时间: 3 分钟 | QCon上海2018 关注大数据平台技术选型、搭建、系统迁移和优化的经验。

继去年12月宣布.NET Core开源之后,微软拥抱开源的决心又向前迈了一步,Microsoft于昨日在 .NET Framework Blog上 宣布开源.NET Core 的执行引擎 CoreCLR,同时该项目将继续托管在 Github 上。

CoreCLR是.NET Core的执行引擎,负责垃圾收集、机器码编译等方面的工作,此次开源的是CoreCLR最新、最完整的代码实现,包含RyuJIT、.NET GC、本地互操作以及很多其他的.NET 运行时组件。Microsoft表示,.NET Core目前能够构建并运行在Windows平台上,在未来的几个月内会增加Linux和Mac平台的支持。

从大小上看,CoreCLR库大约有260万行的代码,其中JIT的代码大约有32万行,GC的代码大约有5.5万行,而之前发布的CoreFX库大约有50万行代码,只占该库最终大小的25%,如果.NET Core完全开源,那么总共大约会有500万行代码。不同的是,CoreFX全部是C#代码,而CoreCLR包含大量的C#和C++代码,要构建这些代码需要多个工具集,而有些工具Visual Studio并没有提供,如果你想构建CoreCLR,那么可以查看CoreCLR开发指南

CoreCLR的开源在社区上引发了广泛的讨论,HackerNews上的JeremyMorgan评论说:

“是好是坏取决于你如何看待这件事情,虽然在盖茨时代之后Microsoft对开发者一直都很好,但是与之前相比最大的不同也仅仅是人们不需要再付费了而已,因为这之前只有相关的付费用户才能得到良好的服务。”

对此klibertp则发表了不同的观点:

“这不仅仅是一个财务问题。Microsoft开源自己的类库对开发者而言好处非常多,因为现在他们能够查看自己日常使用的类库的源码,这使得调试更加容易,同时也能够帮助开发者理解当他们调用某些函数的时候其内部到底做了什么。十年之前我离开了Microsoft阵营,那时候我非常愿意付费查看相关Microsoft工具的源码,但是却找不到门路,现在Microsoft提供了相关的源码,并且是开源的,这非常好,也非常重要。”

brudgers在评论中写道:

“我认为开源非常伟大,我非常钦佩Stallman(自由软件之父),因为他广阔的胸襟。但是我并不认为Windows闭源有问题,因为Windows能够通过Microsoft商业模式的优势非常有效地解决一组特定的问题,但是无论如何开源的选择是好的。”

最后,Microsoft表示自己在开源和跨平台的.NET计划上依然有很多事情要做,具体内容或许会在今年将会举行的.NET Conf上透露,该虚拟网络会议的召开时间为2015年的3月18日和19日。


感谢郭蕾对本文的审校。

给InfoQ中文站投稿或者参与内容翻译工作,请邮件至editors@cn.infoq.com。也欢迎大家通过新浪微博(@InfoQ)或者腾讯微博(@InfoQ)关注我们,并与我们的编辑和其他读者朋友交流。

评价本文

专业度
风格

您好,朋友!

您需要 注册一个InfoQ账号 或者 才能进行评论。在您完成注册后还需要进行一些设置。

获得来自InfoQ的更多体验。

告诉我们您的想法

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我
社区评论

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

讨论

登陆InfoQ,与你最关心的话题互动。


找回密码....

Follow

关注你最喜爱的话题和作者

快速浏览网站内你所感兴趣话题的精选内容。

Like

内容自由定制

选择想要阅读的主题和喜爱的作者定制自己的新闻源。

Notifications

获取更新

设置通知机制以获取内容更新对您而言是否重要

BT