AICon 上海站|日程100%上线,解锁Al未来! 了解详情
写点什么

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

评论

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

山东布谷科技直播系统源码,系统分析篇:不可或缺的云转码系统

山东布谷科技

软件开发 音视频 系统架构 云转码 直播系统源码

对线面试官 - Java IO经典面试问题突击篇

派大星

JavaIO Java 面试题

KaiwuDB 受邀出席“软件名城看济南”暨浪潮海岳软件技术大会

KaiwuDB

KaiwuDB 社区生态

华为云API人脸识别服务FRS的感知力—偷偷藏不住的你

华为云PaaS服务小智

人工智能 插件 API 华为云

NFTScan的增长秘籍:从零起步,成长为最大的NFT数据基建服务商

NFT Research

NFT\ nft工具

代码泄漏无感知?代码安全审计构筑企业核心资产安全防线

极狐GitLab

DevOps gitlab 源代码管理 审计事件 代码泄露

彰显中国气象服务前沿能力,墨迹天气全球雷达融合降水服务产品亮相服贸会

彭飞

龙蜥白皮书精选:龙蜥安全漏洞管理体系介绍

OpenAnolis小助手

白皮书 系统安全 CVE 龙蜥社区 安全委员会

软件测试开发高薪私教线下班来啦!名师1V1指导,大咖强化集训

测试人

软件测试 自动化测试 测试开发 线下班

HarmonyOS实现几种常见图片点击效果

HarmonyOS开发者

HarmonyOS

迅速而准确的PostgreSQL数据对比指南

NineData

数据库 postgresql IDC 数据对比 NineData

草图大师 2023中文安装「SketchUp Pro 2023下载」

胖墩儿不胖y

Mac软件 草图大师 三维建模软件 草图大师2023下载

K8s 多集群实践思考和探索

vivo互联网技术

云计算 k8s 多集群

YMatrix 5.0 与天翼云完成产品兼容性认证

YMatrix 超融合数据库

超融合数据库 YMatrix 产品兼容互认证 天翼云

如何在国内安装Bitdefender

吴脑的键客

安全

Sermant类隔离架构解析——解决JavaAgent场景类冲突的实践

华为云开源

java-agent

华宇软件亮相服贸会中国AIGC创新发展论坛,共话垂直大模型未来!

科技热闻

引领广西鲲鹏产业热潮,助推数字广西发展。广西第四届鲲鹏应用创新大赛总决赛圆满举行!

彭飞

开源机密计算平台:蓬莱-OpenHarmony

OpenHarmony开发者

OpenHarmony

七类网线的制作过程

小齐写代码

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