写点什么

Mono 4.0 发布,支持 C# 6

  • 2015-06-09
  • 本文字数:1028 字

    阅读完需:约 3 分钟

Mono 4.0 本月正式发布。这标志着含有微软的 CoreCLR 项目的开放源代码的首个版本的问世。其默认的语言为 C# 6 ,这意味着 Mono 再一次抢在微软之前推出了新的 C#编译器的 RTM 版本。

除了我们之前报道的功能和变化,Mono 4 还应当具有“更小的调试开销”和“基本的PowerPC64 LE 支持”。目前这些功能的具体细节不详。

许多人在问,既然微软正在开发自己的开源、跨平台的CLR,为什么Mono 项目还要继续呢。Mono 的贡献者和reddit 用户 _alexrp_ 解释道,

我觉得人们对 Mono/CoreCLR 整件事情有种错误的观念。为什么一种虚拟机(VM)变成开源并移植到其它操作系统,就意味着另外一种虚拟机不能存在呢?这就好象是说,只能有一种 Python 实现,或者一种 JVM。那不是好事。竞争是良性的。

Mono 确实具备了很多 CoreCLR 没有的功能:LLVM、完整的提前编译(AOT)、原生客户端(NaCl)、微进程(tasklet)、跨虚拟机的垃圾回收 (GC)桥接(bridge)、各种探查器(profile)模块等等。Mono 的启动时间和运行时内存占用也针对那些连 CoreCLR(至少现在)都没有作为目标的平台/设备进行了优化。另一方面,CoreCLR 有更成熟的垃圾回收,以及通常来说更好的代码生成(也因此造成了更慢的启动速度)。两种虚拟机各有所长,没有理由不能同时存在。

倒不是我们坚持要保留我们自己的代码。如果切换到 CoreCLR/参考源代码有明显的好处(更少的维护、更正确、又具备足够的移植性),我们也很高兴这样做。我们已经引入了大量的参考源代码,而且我们也正在引入 CoreCLR 虚拟机的某些部分:

https://github.com/mono/mono/blob/master/mono/metadata/decimal-ms.c

https://github.com/mono/mono/blob/master/mono/metadata/threadpool-ms.c

4.0 版本也并非没有瑕疵。 Reddit 的用户 whatsinashagbox 写道,

我现在不太确定该如何处理这种情况,我有一个应用程序用到了一些第三方的 DLL,似乎要求 10.0.0.0 版本的 Microsoft.VisualBasic.dll,而它无法在 mono 4 下运行。发布说明中似乎暗示有办法让它使用.Net 4.5 的程序集,但是我不清楚怎么才能做到。有人知道怎么才能让它在新的 mono 版本下运行吗?

这事目前正在研究,似乎是个意外的问题。

查看英文原文: Mono 4.0 Released with C# 6


感谢邵思华对本文的审校。

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

2015-06-09 08:403294

评论

发布
暂无评论
发现更多内容

如何使用netlify部署vue应用程序

肥晨

11月月更 网站托管 netlift

天翼云打造自研云操作系统TeleCloudOS4.0 推动算力蓬勃发展

极客天地

被老板忽悠入局后,我如何在三年内让产品「起死回生」?

LigaAI

产品经理 产品管理 产品管理成功秘诀 产品负责人 企业号十月PK榜

云原生可观测套件:构建无处不在的可观测基础设施

阿里巴巴云原生

阿里云 云原生 可观测

谈谈企业级前端应用中通过 CSS 达到布局定制化的话题

汪子熙

angular web开发 SAP Fiori 11月月更

谈谈企业级前端应用 UI 界面增强实现的一些实际案例

汪子熙

angular web开发 SAP Hybris 11月月更

焱融全闪系列科普|固态存储核心技术 SSD

焱融科技

云计算 分布式 高性能 文件存储 全闪存储

深入理解Metrics(五):Timers

冰心的小屋

Java metrics Timers

共筑行业标准,亚信科技AntDB数据库参与多项数据库行业标准研讨会

亚信AntDB数据库

AntDB aisware antdb AntDB数据库

深入理解JS作用域链与执行上下文

loveX001

JavaScript

前端面试指南之JS面试题总结

loveX001

JavaScript

CSS 边框也能动画?background-origin 和 -clip 来施加魔法~

掘金安东尼

CSS 11月月更

带你从0到1开发AI图像分类应用

华为云开发者联盟

人工智能 华为云 图像分类 企业号十月 PK 榜

带你了解NLP的词嵌入

华为云开发者联盟

人工智能 自然语言处理 华为云 企业号十月 PK 榜

自动化工具如何助力企业落地DevOps?

飞算JavaAI开发助手

Dive into TensorFlow系列(1)-静态图运行原理

京东科技开发者

人工智能 机器学习 tensorflow 动态图 静态图

Java中的ArrayList类基础使用

共饮一杯无

Java ArrayList 11月月更

2022年11月中国数据库排行榜:GaussDB获认证进前五,GBase得融资竞逐鹿

墨天轮

数据库 opengauss TiDB 国产数据库 KingBase

上新丨Kyligence Zen 上线海量指标模板,轻松变身指标达人

Kyligence

数据分析 指标管理 指标中台

基于CSS mask和clip-path实现切角的技巧

南城FE

CSS css3 前端

Java 函数式编程

Ayue、

函数式编程

Curve 文件存储:如何支撑百亿级文件?

网易数帆

文件存储 分布式存储 云原生存储 curve 企业号十月 PK 榜

kubespray2.11安装kubernetes1.15

程序员欣宸

Kubernetes 11月月更 安装k8s

来自2年前端的面经

loveX001

JavaScript

VUE3+TS学习-项目搭建

肥晨

Vue3 脚手架 11月月更

DevOps工具链的国产化之道

嘉为蓝鲸

DevOps 运维 IT

数据预处理和特征工程-数据预处理-编码与哑变量 & 二值化与分段

烧灯续昼2002

Python 机器学习 算法 sklearn 11月月更

2022前端笔试题总结

loveX001

JavaScript

vue2双向绑定原理:深入响应式原理defineProperty、watcher、get、set

肥晨

11月月更 vue响应式 响应式开发

服务网格:管理对外部服务的访问

Flomesh

微服务 Service Mesh 服务网格 程序员、

【LeetCode】交替合并字符串Java题解

Albert

算法 LeetCode 11月月更

Mono 4.0发布,支持C# 6_语言 & 开发_Jonathan Allen_InfoQ精选文章