C#和Java之间的主要区别是什么?

Lar*_*ren 6 c# java

可能重复:
C#和Java之间有哪些主要区别?

我相信Eric Sink说"C#是Java完成的".我对Java非常熟悉,并且认为我可以尝试学习一些C#.

据我了解,这两种OO语言非常相似,那么实际的差异是什么(如果有的话)?

sbl*_*lom 8

广泛用于商业和爱好的各种项目,我更喜欢围绕Java的广泛的开源社区,但工具和(现在)围绕C#更快地语言推进.

Pro C#

Java在C#上开了5年,在此期间它尝试了一些开创性的东西,并给了C#一些错误以便学习和采用一些最佳实践.你可以在课堂图书馆设计中,通过仿制药的实施方式,以及一般的润色方式,在内心深处感受到这种差异.

当你添加这个事实时,C#每两年引入一系列强大的,精心挑选的,集成良好的语言功能(LINQ,闭包,类型推断,dynamic变量类型,对共同和反差的通用支持) ,等等,它真的是一种使用的乐趣.

我真的很惊讶地发现自己这么说,但你可以指望微软将一些最好的功能从Haskell,JavaScript和Python等各种语言直接引入C#.所有迹象都表明这种趋势仍在继续.

Pro Java

另一方面,Java在建立一个社区周围有5年的领先优势(如果你考虑微软开始更多地公开做事需要多长时间,还有更长的时间).这导致NUnit是JUnit的端口,NHibernate是Hibernate的端口,并且通常N*是J*的端口.

你通常最终会从每种语言的各个社区获得非常相似的令人难以置信的工具集,但是在Java存在之前,很多东西都存在(并因此在Java中成熟).

摘要

两者都值得了解,并且有很多东西需要学习.他们都拥有坚实的社区,对世界的看法略有不同.我建议了解两者并密切关注未来.