今天,我发布了一个问题,询问哪种C#或Java语言更适合我学习。我有一些很好的答案。出现的一件事是,也许Java现在在新功能方面已经落后于C#。我看到了一些Web链接,并且大多数人指出了C#拥有什么以及Java没有什么。
所以我对大家的问题是Java是否会再次赶上C#?如果您要猜测5年后的状况。是否会有现在可能缺少的所有东西?Java 7呢?
)
,非常感谢。
今天,我发布了一个问题,询问哪种C#或Java语言更适合我学习。我有一些很好的答案。出现的一件事是,也许Java现在在新功能方面已经落后于C#。我看到了一些Web链接,并且大多数人指出了C#拥有什么以及Java没有什么。
所以我对大家的问题是Java是否会再次赶上C#?如果您要猜测5年后的状况。是否会有现在可能缺少的所有东西?Java 7呢?
)
,非常感谢。
Answers:
语言功能只是使Java和C#滴答作响的一小部分。最终,这些都是较大的J2EE和.NET生态系统的一部分。
两者都有自己的长处,并在未来5年内将变得更大。
在Oracle出现问题之前,我会说是的。令人遗憾的是,因为我真的很享受Java和C#在过去六年左右的时间里实现的跨越式发展。
这里最大的问号是Oracle。在过去的五年左右的时间里,Sun确实使Java的发展速度放慢了。Java社区中许多人的希望是Sun可以剥离Java或将其出售给愿意投入大量资源和精力的人。尽管甲骨文当然可以做到这一点,但它是一家大型公司,拥有许多拥有自己既得利益的团体。我的猜测只是甲骨文会让Java停滞不前,并将其主要用作专利诉讼的工具。
也许他们会以大量资金将其出售给Google,而每个人都会很高兴。它掌握在董事会和律师手中,而不是工程师和软件设计师手中。
从好的方面来说,即使没有改进,Java也是一种很好的语言,并且周围有一个很好的生态系统。虽然我个人更喜欢C#和.net世界,但是Java仍然是一个不错的选择。往前看,时间会证明一切,但到目前为止,Java一点也不坏。(日期和时间库被排除在外...哇,那些丑陋和凌乱的东西)
没有什么可以跟上的,所以这个问题没有道理。
仅仅因为Java不能完全复制C#并不意味着它在某种程度上是“劣等的”,而是有所不同。也可能会问C#何时会“赶上” Cobol。
C#或Java是否领先于另一个问题尚待争论,但是与其专注于一种语言或另一种语言的功能,我不如着眼于语言的发展。我认为没有人会争辩这是一个事实:Java比C#古老。
更改语言工作方式的问题:
那么,C#是否比Java具有更多的语言功能?我认同。它们有用吗?我认同。这是否意味着C#比Java更好或更成熟?我不同意。它们是不同的,简单的和简单的。Java永远不会拥有C#的所有功能,因为C#永远不会拥有Java的所有功能。
Java的功能之一,即能够在Windows上编写程序并将其部署在Unix或Mac上的能力,永远不会在Microsoft的支持下直接发生。你为什么问?这不是因为微软是邪恶的(不管是真的还是真的,我不在乎)。这是因为他们吸取了Sun从未学过的一课:写一次就可以在任何操作系统和硬件上商品化。如果您在意从操作系统的销售中获利,那么您不希望轻而易举地退出并仍然可以运行应用程序。如果这样做的话,您将无法从操作系统中获利,因为总会有便宜的选择。
Java确实不需要任何新的“功能”,而C或C ++则不需要。它是面向对象开发的精心设计的语言。可能要添加的内容是创建用于执行各种任务的库。C#也是这样-添加了大多数功能以使该语言做更多的事情。我个人认为大多数功能不是必需的-OO中的指针确实实在是太笨拙了,除非您在硬件级别上工作(此时最好使用C之类的东西)。此外,如果不是不可能的话,在VM中运行将使直接访问硬件变得困难。
Unix的趋势是创建可以很好地完成一件事的模块。我认为,这两个 Java和C#的进展似乎有些失控的功能蔓延。最好创建一个易于扩展的核心,而不是像框架那样的大型多用途“语言”。对我来说,Java比C#更适合此要求。