写点什么

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:403250

评论

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

Flask-Restful 中 fileds.DateTime 不支持 strftime 格式

Leetao

Python flask web开发 Python框架 flask-restful

2020技能排名:Python增速爆炸,SQL和Java老当益壮,AWS大吃一惊

程序猿黑哥

Java Python sql

分析师的进阶与升华:努力把自己做“没”

松子(李博源)

方法论 数据模型 数据分析师 指标体系 商业模型

字节跳动的ToB生意经

ToB行业头条

尝鲜刚发布的 SpringFox 3.0.0,以前造的轮子可以不用了...

程序猿DD

Spring Boot

推荐一些学习MySQL的资源

Simon

MySQL

腾讯员工每天在岗不足 8 小时被辞?背后原因可能不止你看到的这些!

程序员生活志

腾讯 辞退

细数2020上半年PC端十大“黑恶势力”,一起康康是谁在“兴风作浪”

360安全卫士

智算中心开启智慧时代,浪潮信息迎来新发展

Geek_116789

为什么编译原理被称为龙书?

苹果看辽宁体育

编译原理 编译优化

阿里巴巴取消周报?别高兴太早,也不见得是一件好事

非著名程序员

阿里巴巴 程序员 职场成长 职场误区

调薪

池建强

团队管理 薪酬

【DevCloud·敏捷智库】如何利用用户故事了解需求

华为云开发者联盟

敏捷开发 需求管理 需求 故事 华为云

Rust多线程之数据共享

编号94530

rust 多线程 数据共享 什么是多线程

分布式事务解决方案Seata源码解析

Chank

Java 分布式 分布式事务

案例研究之聊聊 Mybatis 源码 (三)

小诚信驿站

学习 开源 刘晓成 源码解析 小诚信驿站

项目管理:如何显性管理并提升Story分解能力

华为云开发者联盟

项目管理 DevOps 故事 用户研究 华为云

犯罪黑客线上拉人入伙,流窜多地网吧植马,仅为盗取游戏账号

360安全卫士

编程核心能力之复用

顿晓

编程 复用 编程日课 技术思维

定义@WeClub

WeClub

WeClub

计算机网络基础(五)---网络层-IP地址的子网划分

书旅

laravel 计算机网络 网络协议 计算机基础

YAPI接口管理平台使用基础入门(一)

Man

DevOps 最佳实践 YAPI API接口管理

全球区块链专利排行榜中国52家企业上榜

CECBC

小白教程——基于阿里云快速搭建自己的网站

诸葛小猿

阿里云 视频 网站搭建 小白

高价值干货:这可能是你见过最全的网络爬虫总结

华为云开发者联盟

Python Web 爬虫 python 爬虫 内存数据库

【写作群星榜】7.11~7.17 写作平台优秀作者 & 文章排名

InfoQ写作社区官方

写作平台 排行榜 热门活动

从IT建设模式变化看客户中心发展

环信

信创舆情一线--台积电宣布9月14日断供华为

统小信uos

华为 芯片 半导体

OOP面向对象编程(Object-Oriented Programming)概述

奈学教育

面向对象编程

OOP面向对象编程(Object-Oriented Programming)概述

古月木易

面向对象 oop

我成功转行做了java程序猿!

诸葛小猿

Java 程序员 转行

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