首先让我说,我对一场关于什么更好的火焰战争不感兴趣:.NET或Java ...如果你想告诉我.NET如何杀手或者微软是怎么回事,请不要发帖是一个邪恶的帝国所以没有办法有灵魂的开发者可以写.NET或其他什么。我们以前都听过太多。
我感兴趣的是业内人士能够真正准确,公正地比较和对比两个平台的细节。我正在寻找两个平台专家的稀有行业杰出人物,并以合理的方式讨论这两个问题。在这个领域我唯一知道的是Ted Neward,如果这能让你知道我在寻找什么。最后,我对他们对两个平台如何相互影响以及一方面发生的新事情运作良好的看法感兴趣(这可能让我深入了解另一个平台可能如何发展)。
答案 0 :(得分:3)
Martin Fowler已经写过关于两者的文章 Ron Jeffries会是另一个写过很多关于java的人,最近写了很多关于C#的文章
答案 1 :(得分:3)
我不是Ted Neward,但我在Java和C#方面都有相当的经验。
尽管微软早期的C#规范草案声称它是C ++和VB的混合体,但显然Java是大量的影响力。但是,从C#1.0开始,我认为C#一直是推动创新的语言。 (好吧,很多新功能已经出现在其他语言中,但不是Java ......)
Java 7提供的很多提出的功能看起来非常像是受到了C#的影响,但是如果在C#获得它们之前考虑它们我就不会感到惊讶(就像Java中的泛型正在开发多年,而在另一个方向上,在.NET 1.0发布之前,还有.NET中的泛型研究项目。
未来会怎样?好吧,我个人希望看到一个真正的 Java 2.0,为了清理过去的一些混乱而抛弃向后兼容性 - 并且很大程度上使它像C#一样,但具有现有的平台独立性。 C#的语言中没有任何内容与Windows绑定。从事物的这一方面来看,Mono没有走得更远(或者得到微软的支持,除了Moonlight之外)真是一种耻辱。
答案 2 :(得分:2)
自从.NET创建以来,我一直在使用这两个平台,主要是在双语项目中。
Java是语言的“西班牙语”(书面西班牙语在过去的几百年里变化不大),C#是英语(我们大多数人都无法阅读200年的英国文学)
C#将“所有的铃声和口哨声”添加到语言中。相比之下,Java相当原始。
Java拥有大量竞争库和不同编码方式/风格,.NET更加“单一选择”;通常微软为您做出了一个很好的选择。这些论点客观地特别是无处可去;有些人可能会认为有很多选择是好的,有些人可能认为这是不必要的开支。我现在的java项目使用的是5年前在类似项目中使用的NONE库;所以尽管语言是相同的,但编程环境(库,IDE)的数量却惊人地增加了。
作为开发人员,我更喜欢C#。不过,通过选择,我现在正在使用Java,并且在可预见的未来将继续这样做 - 仍然可以选择。虽然java语言的演变速度很慢,但java中存在许多非常有趣的事情。我选择的其余部分是基于你特别不想谈论的所有事情;开放,黑暗的一面,以及所有这些。
答案 3 :(得分:0)
我工作的公司大约有一半用Java(内部应用程序)开发,一半用于.Net(面向公众的应用程序)。你想知道什么?我工作的公司有几个人可以对比和比较。我承认不太了解Java。您在寻找特定文章,博主或书籍吗?
答案 4 :(得分:0)
如果你正在寻找一个比较Java和.Net两个框架的人,那么我没有名字,但是我想让你非常清楚一个关键短语
类型擦除
Generics in Java< - 这里提到的,我是通过工作朋友的话来表达的。 (我不确定什么时候会有解决方法)
这意味着java将永远是装箱和拆箱。
参考krosenvold
Java有很多库选择 和不同的编码方式,.NET是 更多的“单一选择”。这是 两种方式都有好有坏。
我不太清楚他的意思是什么。如果我再猜测一下,你就是在引用.Net的DataTable。以及.Net(使用)如何以数据为中心而不是域驱动?
如果是这样我想提一下.Net有一个名为“Alt.Net”的运动AKA“NHibernate Mafia”,其中有许多开源库允许.net开发人员进行ORM / DI / MVC / TDD许多库都来自Java世界(spring,hibernate)但是这不是.Net甚至Java框架的核心。
我建议你考虑一下你要比较的内容。 例如
以下是一些可以帮助您入门的链接。
Comparison of the Java and .Net platforms
Comparison of Csharp and Java(例如,他们以不同的方式处理枚举)
HTH
骨