精华帖 (0) :: 良好帖 (0) :: 灌水帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2007-05-15
现在所有的人都在谈论着closures,谈论着如何将它加入到Java spec里.每个人都有自己的观点...上至官方,下至草根.... 已经达成一致意见的声明发布了又被驳倒,这些致使closures成为这些年讨论的最多的Java话题. 甚至有很多经验丰富的Java开发人员都在想closures是什么? Brian Goetz, of Sun Microsystems, 写了一篇很棒的文章: overview of closures and talks about the proposals in front of the JCP. 简言之,(下面是由 docman.cn 翻译家 提供的翻译) 一个闭包是一个包含若干自由变量的代码块;这些变量不用在代码块或者任何全局上下文中定义,而是在定义这个代码块的环境中定义 "closure"的名字来自于它们是代码块的组合,而这些代码块相对于变量引用语法来说不是闭合的,其中的变量是自由变量,这些代码在运算环境(作用域)中被执行,自由变量在环境中被绑定值. 目前来说,最类似的事就是JAVA对匿名类的支持了 增加闭包功能对于用类似JAVA这种强类型语言进行系统设计的改变意义重大,因为类型不仅指的是类和基本类型,还要表示代码 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2007-05-15
看了下讨论中的语法,相比于动态语言的简洁,实在是很丑陋!-_-
|
|
返回顶楼 | |
发表时间:2007-05-15
有几句是我翻译的 嘿嘿
|
|
返回顶楼 | |
发表时间:2007-05-15
希望JAVA不要往丑陋的方向变.
简洁点... |
|
返回顶楼 | |
发表时间:2007-05-15
< K,V, throws X > void for eachEntry(Map < K,V > map, {K,V => void throws X} block) throws X { for (Map.Entry < K,V > entry : map.entrySet()) { block.invoke(entry.getKey(), entry.getValue()); } } 看看java 7的代码,简直无语. |
|
返回顶楼 | |
发表时间:2007-05-15
说实话,其实在出java tiger的时候,我就觉得java有往丑陋方向演化的倾向...现在...个人觉得,果不其然.看来可以换个方向了.
|
|
返回顶楼 | |
发表时间:2007-05-15
看看python,ruby的代码,再看看java的代码,唉。
|
|
返回顶楼 | |
发表时间:2007-05-15
hurricane1026 写道 simohayha 写道 看看python,ruby的代码,再看看java的代码,唉。
和最最丑陋的c++的一堆Template。。。。比起来都差不多了。。。。 |
|
返回顶楼 | |
发表时间:2007-05-15
Norther 写道 有几句是我翻译的 嘿嘿
好像大部分都是你翻译的! |
|
返回顶楼 | |
发表时间:2007-05-15
确实有点繁琐了,从JAVA刚诞生时的相对于C++的简洁到现在,几乎从一个极端走向另一个极端,应该大改一下了,否则。。。期待JAVA8.。
|
|
返回顶楼 | |