就我的看法而言,mono对于服务器跨平台的意义更大。
但微软不想重蹈sun的覆辙,没有提供足够的技术支持,因而有点尴尬。
有了mono,dotnet就可以运作在开源的系统之下,从而节省很多的资金。
就我的体验,我喜欢dotnet,因为他的架构远较java完备。
但是java的话,虽然架构设计有些不太合理,但是实现功能与dotnet类似,而且sun为他提供了一个坚实的底子,openjdk也风生水起。因此对于服务器而言,java用的很多,而且java有很多现成的库,毕竟比c#早发展很多对吧。不少的库是由java版本移植过来的。
因此,从商业角度而言,java确实有优势,虽然这个优势是能够被填平的,若微软愿意奉献的话——不过那是一个商业公司。
mono的话,社区出品,确实是可以玩玩的,但是正式部署的话,貌似大部分公司处于观望阶段。而且m$弄得也有点尴尬,导致mono比dotnet的win版本库要晚很长时间才能支持相同的版本,这意味着对于新技术的响应时间较为缓慢。
anyway,是一门很有趣的技术,可以花花时间玩玩,不过正式部署的话,仍需要谨慎考虑。
我也是一直想用但一直没有用起来过。其实.Net是Winodws下已经很尴尬,而mono更尴尬,原因是,如果做web程序,服务器跨平台没什么意义;如果是桌面程序,.Net本身就显得臃肿,而mono虽然多个跨平台,但UI那层的编程习惯与GDI+不一样。如果是想以后工作用,建议还是算了。如果玩玩的话,还可以。