Java在哪里?

时间:2009-05-01 10:30:47

标签: java programming-languages

我是一名经验丰富的Java程序员,在过去的两年里 在C#和Javascript中编程为必要。现在用这两种语言 我使用了一些有趣的功能,比如闭包和匿名函数(实际上用c / c ++我已经使用了指针函数)而且我很欣赏代码如何 变得更加清晰,我的风格更有成效。事实上,事件管理(事件委托模式)比Java使用的更清晰......

现在,在我看来,Java似乎并不像过去那样具有创新性......但是 为什么???

C#正在发展(有很多新功能),C ++ 0x正在发展(它将支持lambda表达式,闭包和许多新功能)和 我很沮丧,因为花了很多时间在Java编程之后,它没有任何好的解释而衰退,JDK 7在语言功能方面没有任何创新(是的,它会优化GC,编译器等)但是语言本身 将几乎没有重要的进化变化。

那么,未来将如何?我们怎么还能相信Java呢?戈斯林,你在哪里?

13 个答案:

答案 0 :(得分:13)

多年来,C没有太大变化,仍然是最受欢迎的语言之一。我不相信Java必须添加合成糖才能保持相关性。相信我Java已经存在很长时间了。对于Java而言,更好的是通用仿制药。

你不必相信Java,如果你不喜欢它选择另一种语言,那就有很多。 Java的生存与商业利益息息相关,是否能实现业务目标。不管它是否凉爽。

答案 1 :(得分:6)

我认为你正在彻底解决大多数java程序员前往C#体验的幻想破灭的经典阶段。我重新获得了对java的信心,仅仅是因为尽管语言没有太大的变化,但是所以在Java中作为一个生态系统发生了很多事情。我会喜欢拥有闭包和正确的方法类型,但最终我还是得到了。尽管在语言层面没有太多发生,但java的纯粹活力仍然比C#更胜一筹。

答案 2 :(得分:5)

如果您希望Java的工具集 platform 没有Java language 的限制,那么您一定要看一下下一代JVM语言。 Groovy,Scala和Clojure在许多领域都获得了发展势头(例如,Twitter是用Scala编写的)。

答案 3 :(得分:4)

我可能不及那些发表评论的程序员的一半,但凭借我目前的智能水平,这就是我的想法 -

如果一种语言使编程更容易/更富有表现力/更简洁,那么这不是一件好事吗?语言的进化不是一件好事吗?

如果C,C ++是优秀的语言,因为它们已经使用了几十年,那为什么Java变得如此受欢迎?我想这是因为Java帮助摆脱了一些恼人的问题并降低了维护成本。现在有多少大型应用程序用C ++编写,有多少用Java编写?

我怀疑不改变某事的论点是否比改变某事好的理由更好。

答案 4 :(得分:3)

答案 5 :(得分:3)

我认为至少有一些创新转向其他类似脚本的语言,这些语言也运行在同一个JVM上,然后你将Java作为支柱,以及各种语言中的其他很酷的新功能来制作所有的钟声和哨子。

如果语言不断变化,那么一种语言也无法真正做出标记 - 有多少重大变化以及C和C ++的频繁变化?

成熟的语言也是一种稳定的语言。

答案 6 :(得分:3)

查看Java 7 proposals,特别是Project coin工作(语言更改)。后者包含了更好的集合初始化,泛型的类型推断等等。

当然,考虑平台 Java以及Java语言非常重要。 Scala / Groovy / Clojure等语言正在取得更多进展,当然这些语言可以利用可用的Java库。

答案 7 :(得分:2)

我听过Gosling关于这个问题的谈话,并且(我希望我不会过多地说出他的信息)他说了一些话......这是对你能用和应该用语言的限制,编程的未来在于我们将使用的工具。

我倾向于同意他的观点,java要求的许多功能都将其从OOP的原则中解脱出来,但如果你发现它们适合你,那么还有其他语言也可以部署到java平台上,因此您的语言偏好应该能够与您对Java堆栈的了解共存。

答案 8 :(得分:2)

Java似乎已经停留了一段时间,但是在JVM上运行的其他语言中有很多创新,例如Scala和Clojure,我怀疑它们是未来的发展方向。重要的不是Java语言,而是虚拟机......

话虽如此,对于一种不是移动目标的语言,还有很多话要说。就像我喜欢C#一样,似乎每年都有一个新版本。尽管Java已经添加了一些来自C#的功能(例如注释),但它还没有进入C#语言“军备竞赛”

答案 9 :(得分:1)

实际语言应该几乎被冻结,因为这样也可以使旧版本的Java可用。我们有Java 1.4上的客户(供应商支持)。通过在库中进行开发和开发,它们也可用于这些场景。

答案 10 :(得分:1)

想想Cobol!

答案 11 :(得分:0)

Java从未“创新”。它最初是作为一个残缺的,“程序员友好”的C ++版本,然后开始慢慢地重新引入其他编程语言中存在的缺失功能。只有这几十年前的“新奇事物”被破坏才能使它们适应JVM的局限。

但也许我误解了你的“创新”概念。

答案 12 :(得分:0)

Java目前仍然是排名第一的语言: - )

http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html