程序员真的需要Java 7吗

ZDNet软件频道 时间:2008-10-20 作者: | Java社区 我要评论()
本文关键词:程序员 Java
James Sugrue说道:等待Java 7发布已经很长时间了,同时Java社区对JSR标准最终版一旦发布有很多猜测。

  James Sugrue说道:等待Java 7发布已经很长时间了,同时Java社区对JSR标准最终版一旦发布有很多猜测。我也期待即将到来的Java 7,以及其中我真正需要的部分。

  真正思考过,我发现对于Java新版本的需求并不是那么迫切的,由于以下原因:

  1。Java 5和6已经满足了开发者对JDK的大部分需求。

  2。我期望未来的版本是一个精减蓝图的JRE,同时Java 6 update 10已经做了精减。

  3。我们已经有了如此多的框架,所以,我们不再依赖于JRE环境的变化。

  4。Sun把太多发布重心集中于JavaFX,也许这已经取代了对于下一个Java新版本的兴奋。

  无论那种方式,在阅读了多种关于Java 7的预测,我决定把我自己对Java 7的期望列表列出来:

  No Closures 不要闭包

  Neal Grafter已经有了一个完整的闭包原型,但是我不确认这应该成为Java 7的一部分。当我几个月之前访问Joshua Bloch,我询问了他关于闭包讨论的意见:

  Joshua Bloch 写道

  正 如读者从第一版开始所知道的,我认为简单明晰的价值高于一切,因此,不要感到惊讶,我不想看到Java编程语言再添加核心内容,作为一个语言,它现在已经 相当复杂。如果Java程序员要使用语言中不存在的功能,我认为他们最好使用以JVM为目标的其他语言,比如Scala和Groovy。

  我100%赞成这个观点,简洁是最关键的,但是增加闭包让事情更复杂。这个功能已经造成Java社区分裂几个阵营,至少现在,很多人只是感到包含这个功能不妥。如果不了解闭包,这里有一些很好的介绍。

  更好的I/O

  这是我确定无疑期待的。引入NIO是这几年最好的事情之一,JSR 203将包含更好的文件系统APIs。再David Linsin的博客上有一个精彩的JSR概述,Java.net也有一篇优秀的文章。

  让Swing更加容易

  我不是说Swing太复杂或者其他,但是JSR 296是一个受到欢迎的添加。它的目标是让用Swing开发桌面应用更加容易-这是很需要的部分。Eclipse RCP封装了桌面应用栏,Swing应该具有相应的竞争力。JSR 296让Swing更容易,更快,更好的创建的Swing程序。

  在Sun开发者网络上有一篇优秀的文章概述了如何使用新的Swing应用框架。Geertjan也写了一篇文章描述它带来实际的好处。

  如果你需要跟踪关于Java 7的讨论,最好的地方是Alex Miller的Linkblog。这个地方让我得到很多关于即将发布的Java 7的基本信息。

  你已经阅读我对Java 7应该包含的内容,你的看法呢?你真的需要Java 7 吗?

  -----------------------------------

  此篇文章引起了很大争论,摘选一部分回复:

  Jacek说道:

  我很不赞同作者的意见,Java已经落后于很多其他语言(尤其是C#),Java很多方面缺乏一些基本的语言功能,比如:

  1。缺少多行字符串string处理功能(Groovy/Python/Ruby拥有)

  2。string字符串不能通过正则表达式或者内置路径换码(C#/Python能够)

  3。regions区域(这对于组织管理源代码很有好处,C#拥有)

  4。closures闭包(Delphi拥有,以及相关的COBOL将拥有闭包,比Java快)

  5。自动资源管理(ARM拥有)

  6。"真正的" properties 功能能够在盒子box之外进行数据绑定(比如:每个set()时候需手工使用firePropertyChange() )

  7。没有好的数据绑定解决方案。

  以及我认为Java应该吸收的其他语言的优势,比如

  - mixins (Ruby)

  - LINQ (C#)

  - lambda functions (Python)

  我认为Java要长期发展,必须不停进步。

  以及其他阅读者观点:

  -谁能告诉我为什么C#拥有闭包,而Java没有?

  -我不需要新的语法,但是我需要新的Date和Time API,Java.util.Date class非常靠不住。

  -我非常讨厌看到使用Groovy或者Ruby的言论,对于大型企业,转换语言是非常困难的!我们需要Java来解决问题。

  -为什么不能有闭包呢?C#, C++, Delphi, JavaScript, Ruby, Python, Haskell, Scala, Groovy, Smalltalk, Lisp, D, VB.NET and Perl 都有,而且很有用。连PHP都支持闭包。

  -Silverlight 2很有趣,我也用IronPython写了一些小例子,我也使用Python PyAMF或者Java 和JSR 311Jersey写Flex例子,我希望Java能对Flex的支持更好。Sun应该出台更有效的措施,而不是浪费时间坐等JavaFX!

我有话要说订阅RSS探客网资源腾讯微博

百度大联盟认证黄金会员Copyright© 1997- CNET Networks 版权所有。 ZDNet 是CNET Networks公司注册服务商标。
中华人民共和国电信与信息服务业务经营许可证编号:京ICP证010391号 京ICP备09041801号-159
京公网安备:1101082134