Java是一种流行的语言&平台,拥有庞大的生态系统。是否有C#4.0及其平台应具备的功能,以使您完全切换到C#编程?
答案 0 :(得分:24)
让它在与Java一样多的平台上运行吗?
否则它与我们完全无关。
编辑:有关Mono使.NET“跨平台”的讨论,请参阅https://softwareengineering.stackexchange.com/questions/20275/mono-is-frequently-used-to-say-yes-net-is-cross-platform-how-valid-is-that
2015年编辑:微软决定开源.NET的后端部分,这将使社区能够将其移植到比Java运行更多的平台上。我认为这是针对Java演进的oracle方法的最终举措。
答案 1 :(得分:15)
市场中C#
的普遍使用与语言功能无关,据我所知,它现在优于Java。采用C#需要在主要方面实现完整的组织战略转变:
您已经拥有大量Java应用程序和大量Java开发人员。为什么要切换C#?你需要新员工,突然你的所有应用程序都是传统的。 这是一笔巨大的交易!进行这项改变会给您的公司带来巨大的风险,因为这可能只是一点点好处:为什么要这么麻烦?
您已经习惯了许多支持Java生态系统的大型操作系统和中间件提供商。这种情况在一夜之间消失,你将自己暴露在垄断定价模式中(即你几乎与微软,所有意图和目的相关)。 受制于垄断定价是不好的!大多数组织都会因为价格定价几乎肯定会带走任何额外的收入,因此会有轻微的技术劣势。
答案 2 :(得分:6)
我实际上并不认为C#本身比Java更少,除了IDE,框架等生态系统。就功能而言,它至少在目前处于领先地位。
答案 3 :(得分:3)
我认为.NET很棒,但不要使用它,因为它缺少#1强制性功能:可移植性。是的,有单声道......
答案 4 :(得分:2)
真正推送Java的另一件事是Eclipse(*):它是迄今为止最成功,最完整的免费开发环境。而且,与大量(大多数免费)插件一起使用,成本/收益是无与伦比的。
一对VisualStudio C#+ Reshaper可以接近但它还没有完全......
(*):有人甚至说Eclipse是Java被广泛使用的主要原因。
答案 5 :(得分:1)
我的回答是关于为什么我认为有这么多人使用Java,但想在学校使用c#的答案:
在我的大学里,Java是我们学习的第一门语言,也是我们以后学到的最多的语言。我想这很常见..但是即使我们学习了一些python,c,c ++并且已经知道了很多java,大多数学生都使用C#。这是因为每个人都被告知C#会给他们一份工作:)学校知道这一点,而且我知道一个让C#成为学校新主要选择的功能:让它在所有平台上运行 =)
答案 6 :(得分:0)
我们在大学时被告知MS Windows中没有任何工程设计。有多少人(dis)同意这一点?
我们作为开发人员如何在构建一些严肃的软件系统时通过处理“某事”的操作系统来回答稳定性,健壮性,可扩展性,可用性,事务隔离,可靠性等问题只要你可以期待一些非标准的行为惊喜和潜在的问题来源,你只能通过致电MS并祈祷上帝,他们会在很长一段时间内为你找到解决办法。
开源是我们唯一的救赎.Java尊重标准,在安全模型中投入大量精力,保持WORA,而且语言相当简单。
我可以认为C#有不安全的指针,如果有很多人在使用它,那就足以让我放弃与它做认真的生意。 ..
答案 7 :(得分:0)
当微软购买Novell并向Mono提供官方支持时,我肯定会考虑使用C#。
然后,下一个.net
版本必须在Windows和Linux上运行(OSX仍然会留下 - 就像今天使用Java但是使用Java是因为他们wanted that way - )
在此之前,Mono支持最新的.NET版本,并且仍在增加其核心的一些Linux特定功能(如Mono.Linux“模块”),这些功能显然无法在Windows上运行。
语言功能很棒,但如果我想要更“动态”的东西,我宁愿使用Ruby或Python
但是,那只是我。
答案 8 :(得分:0)
加油吧,如果你真的是真正认真的软件并想拥有多平台支持,那么NET将永远不会是你需要的东西,或者你想要的东西。
它甚至不是为了支持它而设计的。