首页 | 互联网 | IT动态 | IT培训 | Cisco | Windows | Linux | Java | .Net | Oracle | 软件测试 | C/C++ | 嵌入式开发 | 存储世界 | 服务器
网络设备 | IDC | 安全 | 求职招聘 | 数字网校 | 笔记本电脑 | 北大青鸟 | 技术专题 | 电子书下载 | 教学视频 | 源码下载 | 搜索 | 博客 | 论坛
中国IT实验室Linux频道
中国IT教育
Google
首页 资讯动态 认证考试 新手入门 核心技术 高级技术 J2EE J2ME Java&XML 开源技术 其他技术 RSS订阅 论坛 专题
您现在的位置: 中国IT实验室 >> Java >> 核心技术 >> 高级编程 >> 正文

闭包会简化Java吗

    Will Closures Make Java Less Verbose?

    March 29, 2008

 

 

    要是没看过的话,这里是他这篇文章的链接。他的观点是,Java已经太过于追求“到处都是对象(everything is an object)”了,使其在思想表达上不够简洁、清晰。他将Ben Franklin诗中的“因小失大(For want of a nail)”巧妙地用到了Java上面,更好地传达了他的意思。

    而我的问题是,如果闭包可以让你多用一点动词、少用一点名词(按照Yegge的思路),那么程序员会因此创建更易于阅读的程序吗?或者说,十多年根深蒂固的文化会让任何解决该问题的尝试付之东流吗?即,无论有了多少额外的语言特性,Java程序还会继续保持它的原样吗?

    如果在这个问题上没有弄清楚的话,之后再怎样修补也无法挽回Gosling等人早期做出的决定(即认为使Java“打入市场”要比试图增加泛型和闭包使之更像一种语言要重要得多)。

    这是任何软件系统架构的决定性因素,也是影响系统中所有东西的核心决策。这些更是你所作出的必须正确的决定,而其他问题可以晚些时候通过战略构思来解决。这些决策必须由拥有丰富经验的架构师来完成,他们知道在做什么,也会有很多疑问,但这恰恰是他们的职责所在。


    Java 3K

    在2008年Java非正式研讨会(Java Posse Roundup '08)的最后一次技术会议上,我们再一次讨论了Java的未来。我们基本上得出这样一个结论,向后兼容性起初是为服务一些公司而保留下来的,但不管怎样这些公司是不会升级到Java最新版本的。

    最成功的语言都从已有语言轻松转变过来了,因此程序员的知识仍然不会贬值。C++之所以如此成功就是因为它让C程序员能够轻易地过渡过来。Java同样如此成功也是因为它能从C++过渡过来。

    到底应不应该发布一个“Java 3K”呢(学一下Python 3000,Guido Van Rossum为Python可向后兼容的修复版本起了这个名字,今年晚些时候会发布)?一个仍在JVM上运行且语法和老版Java相似的新版Java没有受任何向后兼容性问题的羁绊,因此它实现了真正的泛型、闭包且去除了基元(primitives)等等。如果一个公司不想投入到Java 3K的怀抱—这样的公司也往往没有升级到Java 5—那么它便继续用已有的那些东西。但那些饱受老版Java的旧问题和糟糕的旧决策困扰的程序员们便可以轻松地转移到Java 3K上面了,他们只需一条短小的学习曲线,且对生产力没有丝毫影响。

    你怎么看呢?

 

    (原文链接网址:http://www.artima.com/weblogs/viewpost.jsp?thread=227728

 

【责编:landy】

中国IT教育

相关产品和培训
文章评论
 友情推荐链接
 认证培训
 专题推荐

 ·算法分析与设计之五大常用算法
 ·开发必备 漫谈Java加密保护
 ·嵌入式开发--ARM技术专题
 ·C/C++指针,认真了解,灵活运用
 ·.NET开发:C#实用基础教程
 ·软件测试工具QTP学习专题
 ·嵌入式开发单片机解决方案专题
 ·Java开发环境 Greenfoot 程序员手册
 ·C++对象布局及多态实现的探索
 ·常见排序算法的实现
 今日更新
 社区讨论
 博客论点
 频道精选
 Java 频道导航