Mono的库比Java的库少多少?

我缺乏对这两种 Select 的概述,但我有相当大的自由 Select 我的下一个项目.我正在寻找以下领域的确凿的技术事实

  • 性能(例如,我听说Java对线程很好,我听说运行时代码优化最近对.NET非常好)
  • 真实世界可移植性(两者都意味着便携,各有什么缺点?)
  • 工具可用性(CI、构建自动化、调试、IDE)

我特别想要的是你在自己的工作中真正体验到的东西,而不是我可以在谷歌上搜索到的东西.我的应用程序将是一个后端服务,处理来自时间序列的大量数据.

我的主要目标平台是Linux.

Edit:To phrase my question more adequately, I am interested in the whole package (3rd party libraries etc.), not just the language. For libraries, that probably boils down to the question "how much less libraries are there for Mono than for Java"?


仅供参考,我后来 Select 了Java作为这个项目,因为它在可移植性方面似乎更具战斗力,而且它在较旧的系统上也已经存在了一段时间.我有点难过,因为我对C#很好奇,我很想在这方面做一些大项目,但也许下次吧.谢谢你的建议.

推荐答案

嗯……Java实际上更便携.Mono并不是在所有地方都实现,它明显落后于Microsoft的实现.Java SDK似乎保持了更好的跨平台同步(它可以在更多的平台上工作).

我还要说,Java在所有这些平台上都有更多的工具可用性,尽管有很多工具可供使用.NET在Windows平台上运行.

Update for 2014

2014年,我仍然持有这种观点.然而,我要证明这一点,我刚刚开始关注Mono,因为我已经很长一段时间没有真正关心它了,所以Mono运行时(或生态系统)可能有一些改进,我还没有意识到.顺便说一句,目前还没有对WPF、WCF、WF和WIF的支持.Mono可以在iOS上运行,但据我所知,Java运行时在比Mono多得多的平台上运行.此外,Mono开始看到一些大大改进的工具(Xamarin),微软似乎有一种更跨平台的态度,愿意与合作伙伴合作,使他们相互补充,而不是相互竞争(例如,Mono将是即将到来的OWIN/Helios ASP.NET领域中非常重要的一部分).我怀疑在future 几年中,便携性方面的差异将迅速缩小,尤其是在以后.NET是开源的.

Update for 2018

我对此的看法开始走向另一条路.我认为,大体上说,.NET,特别是.NET Core,已经开始实现与Java的"可移植性对等".一些平台正在努力将WPF引入.NET Core,而.NET Core本身现在可以在很多平台上运行.Mono(由Xamarin所有,现在归Microsoft所有)是一个比以往任何时候都更成熟和更精致的产品,编写可以在多个平台上工作的应用程序不再是.NET黑客的深入了解领域,而是一项相对简单的工作.当然,有一些库、服务和应用程序只能在Windows上使用,或者只能针对特定的平台--但Java(广义上)也是如此.

如果此时我站在OP的立场上,我想不出语言或技术堆栈本身固有的任何原因会阻止我 Select .NET的任何应用程序.

.net相关问答推荐

EF核心类似功能T-SQL UPDATE FROM

PowerShell 5.1和7在使用证书时的区别

Ubuntu 22.04 + JetBrains Rider 不能做脚手架 dbContext

类似于字典但没有值的 C# 数据 struct

如何在没有抽象基类的情况下强制覆盖后代中的方法?

将笔画应用于 WPF 中的文本块

如何 Select 数据表中列的最小值和最大值?

为什么 .NET 中没有可序列化 XML 的字典?

ReaderWriterLock 与锁{}

InternalsVisibleTo 属性不起作用

您可以在 C# 代码中捕获本机异常吗?

双倍的? = 双倍? + 双倍?

如何在我的 C# 程序的面板中运行另一个应用程序?

WCF服务客户端:内容类型text/html;响应消息的charset=utf-8 与绑定的内容类型不匹配

析构函数、dispose 和 finalize 方法的区别

Iif 在 C# 中等效

CI服务器的比较?

如何使用 EPPlus 设置 XLSX 单元格宽度?

如何判断uri字符串是否有效

Linq Query 不断抛出无法创建 System.Object 类型的常量值......,为什么?