你真的需要Java 7吗?

来源: 发布时间: 点击数:

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!

IDC
域名注册
主机服务
租用托管
数据修复
优化推广
网站建设
解决方案
管理咨询
企业内训
广告设计
技术整合
云主机
ICP备案说明
教育产业
维普点卡
计算机培训
人才外包
服务外包
全程外包
软件研发
Zoomla!逐浪CMS
企业管理软件
三维与仿生应用
软件管理
IT外包
短信接口
社区
江西IDC排行榜
微博
东方红公益
7*24小时服务中心
微信互动
会员
纪念品
发哥的博客
上海站长聚会
软件开发沙龙
宣传视频
用户手册
全站检索
关于我们
公司介绍
发展历程
工作机会
团队介绍
汇款方式
联系我们