<%@ page contentType="text/html; charset=gb2312"%> 闭包能让JAVA语言变得简洁吗?
网站公告:   ◆北天JAVA技术网热情为java爱好者服务,本网内容包括JAVA(JSP、servlet、EJB、webservice、j2ee、javabean、应用服务器、JavaScript),数据库(MYSQL、SQL Server、Sybase、Oracle、DB2、数据库综合知识),设计研究(设计模式、Struts、Spring、Hibernate、设计框架、设计综合知识),WEB2.0新技术(主要介绍AJAX),以及各种技术的入门、实例、例子等等,欢迎各位多来坐坐!◆  诚邀各位JAVA爱好者加盟!◆  本网站内容丰富,更新快,保证每周20篇以上!  
加入收藏
设为首页
联系站长
承接项目
  相关资源:网站首页 | 免费培训学院 | 技术论坛 | JAVA聊天室 | 作家专栏 | 开发工具 | 认证考试 | 会员俱乐部
  JAVA技术初学者园地 | jsp与servlet | javascript | Java源代码 | EJB | web service | 应用服务器 | JAVA综合知识
  设计研究设计模式 | 设计框架 | Struts | Spring | Hibernate | 开源项目 | 面向对象设计 | 设计综合知识
  数 据 库MYSQL | SQL Server | Sybase | Oracle | DB2 | Informix | Access | 数据库综合知识
  其他资源:AJAX新技术 | 网站开发 | ERP软件 | OA办公软件 | 商业智能BI | 开发综合知识 | 承接项目 | 项目试用

 
 
闭包能让JAVA语言变得简洁吗?
     发布者: 发布时间:2008-04-03
众所周知,JAVA语言一直因其语法上的简洁优雅(JAVA1.5中泛型的引入或多或少改变了这点)而被大部分人所喜爱.

但另一方面,语法上的简洁也造成了使用上的一些不方便.譬如,你只想实现往控制台输出一个"Hello,world",你也得老老实实先写一个class,然后再写一个public static void main(String[] args)方法,最后才是System.out.println("Hello,world");
而如果使用Python之类的语言,可能只需一行代码就搞定了.
当然,上面这个例子看起来不是那么有说服力.

不过如果你做过GUI开发的话,你就会感受到"Everything is an object"所带来的不便之处了.为了监听GUI事件并做出相应的反应,你会大量用到匿名类(而实际上你的目的只是要传入一个回调方法而已),这样不仅做了一些额外不必要的工作,也给代码的可读性造成一定影响.

譬如这类的问题还有很多,Stevey写过一篇文章:名词的王国(Execution in the Kingdom of Nouns),用形象生动的语言描叙了为什么使用JAVA会让某些工作变得的啰嗦.他的观点是由于JAVA中的"everything is an object",在某些时候限制了我们用清晰而合理的表达方式来表述我们的思想.
在JAVA诞生以来,语法上最大的变动可能就是在JAVA 1.5中泛型的引入了.而且随着JAVA的开源,以后可能会有更多的元素被引入到JAVA语言里面来(官方的或非官方的).目前正在进行中的JDK7就有可能增加一些新的语言特性(见javapolis举行的关于JAVA7语言特性投票的结果),其中最重大的改变莫过于闭包的引入了.毫无疑问,这些语言特性的引入都是为了让我们这些Javaer活的更轻松一些.

那么,闭包能改善目前JAVA语言所存在不足吗?就是说闭包能够让我们写出简单而易读的代码吗?要知道闭包并不是一个面向对象的东东.
Bruce Eckel在他的文章Will Closures Make Java Less Verbose里讨论了这个问题.并且在文章的末尾,他提出了一个很大胆的想法JAVA 3K(其实我也一直这么想的^_^):
引用

我们知道Python有个Python 3000计划,这个Python 3000相对之前的Python有大幅度的修改,并且不兼容之前的Python语法,这样可以完全摆脱因考虑向后兼容性而带来的不必要的负担.那么我们为什么也搞个JAVA 3000呢?它与之前的JAVA有着类似的语法,并且也能运行在JVM上,但语法上与原有JAVA语言不兼容.在JAVA 3K里面我们可以有真正的泛型,闭包,并且可以丢弃掉int那些基本类型.对于那些想继续使用原有JAVA的人来说继续用就是了,而程序员想学习新的JAVA语言也很容易.


你是如何看待这件事情的呢?


参考文章:
Execution in the Kingdom of Nouns
Seeking the Joy in Java
Will Closures Make Java Less Verbose

TAG:
java
Java
闭包



(转载文章请保留出处:北天JAVA技术网(www.java114.com))
 
更多精彩文章:
Java游戏界龙头老大Jagex,发布Java小游戏网站FunOrb
Java游戏界龙头老大Jagex,发布Java小游戏网站FunOrb
给中东带来和平,另类Java游戏PEACE MAKER
给中东带来和平,另类Java游戏PEACE MAKER
Javagaming.org年度游戏制作竞赛4K Game Competition公布结果
Javagaming.org年度游戏制作竞赛4K Game Competition公布结果
 
最近评论:
        
鍥炲
        
标 题:   
内 容:   
 
                                  
 
免责声明:该文章由网友发表,如果对您造成侵权,请联系站长

首页 - 承接项目 - 网站地图 - 联系我们 -
版权所有北天JAVA技术工作室 ICP证号:粤ICP备06079815号