阅读更多

11顶
3踩

编程语言

原创新闻 你真的需要Java 7吗?

2008-10-19 11:25 by 副主编 QQbyte 评论(18) 有12066人浏览
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!
来自: dzone.com
11
3
评论 共 18 条 请登录后发表评论
18 楼 aws 2008-11-14 14:46
那我还不如回去用C++
17 楼 lggege 2008-11-05 15:28
我的期望:

1. JRE的精简
  可以说是迫在眉睫. JRE再不精简,Swing地位根本不保, Eclipse RCP未来也不会好到哪去. 未来是云计算的天下, 还拖拉着一个这么庞大的JRE, 怎么回事呀.

2. 增强Swing, Applet

3. 废除JavaFx
  要么增强, 要么废除. 宁可换技术, 换平台, 到Flex下, 也不想用JavaFx.

4. Date, Time, Calendar 太不靠谱. 难用.

5. 改进JWS. Java Web Start太慢, 而且还需要做jar包的校验, 这个功能应该是可设置, 可选的.

6. 对Jar包加密权限校验的支持.

7. 不归Java管的范畴, 不应该过多涉及.
  比如: 动态类型, 多返回值 完全不应该有. java就应该严谨,强制,简单.

8. 闭包 完全需要.

9. 开源jre.
16 楼 egmkang 2008-10-20 18:43
感觉简单一些还是号
我还是喜欢C语言
15 楼 qsky 2008-10-20 14:55
引用
没用过Closures闭包, lambda表达式, Mixins, 操作符重载, 扩展方法, Range操作符, 选代器yield语句, Parallel赋值, 可空类型, continuations, 多返回值, 局部类, 局部方法, Parallel method, Duck typeing, 匿名类型, 命名参数 就闭嘴, 你还嫩点儿

欢迎你这个砖头,可惜砸错了,首先说明程序员都是高尚品质的,我们对事不对人,
呵呵 你说的这些感念我我知道些,不过这不是最重要的,你要当真正的程序员还需要努力,知道了么 兄弟
14 楼 dotyso 2008-10-20 14:44
to qsky:

没用过Closures闭包, lambda表达式, Mixins, 操作符重载, 扩展方法, Range操作符, 选代器yield语句, Parallel赋值, 可空类型, continuations, 多返回值, 局部类, 局部方法, Parallel method, Duck typeing, 匿名类型, 命名参数 就闭嘴, 你还嫩点儿
13 楼 qsky 2008-10-20 14:32
不要对语言要求的太多,要对自己要求多一些 OK?
本质问题是人,不是语言,希望大家好好反省一下先,你们这样说来说去真的没什么意义
12 楼 dotyso 2008-10-20 13:54
annotation 不是只是做配置用的, 可以实顼很多灵活的功能, 比如aop
11 楼 softcat 2008-10-20 12:06
我也非常讨厌annotation,非常影响代码的阅读,而且annotation也是一种硬编码!还不如配置文件呢!
10 楼 qsky 2008-10-20 10:29
呵呵 语言其实没有好坏,各个领域都有各有所长
不需要.. 1.5我都用不上.. 呵呵 不敢想象
Java语言就是一工业语言, 没有编码的乐趣 --晕死 是没有编码天赋把
annotation都是多余-- 有好处有坏处何必这么偏执呢

好了 不一个一个说了 哈~~

各位 转头跑过来吧
9 楼 lendo.du 2008-10-20 10:09
我个人觉得annotation都是多余,为什么要在代码里面写那么多的@,XML不好吗?不知道有什么缺点,非要整个annotation。

代码里面整配置,这种做法实在不敢恭维。个人观点。
8 楼 dotyso 2008-10-20 10:07
Java语言就是一工业语言, 没有编码的乐趣
7 楼 dmewy 2008-10-20 09:48
不需要.. 1.5我都用不上..
6 楼 rockjava 2008-10-20 08:58
希望java越来越简单易懂,不是越老越花哨
5 楼 weiqingfei 2008-10-19 21:56
动态load!!!
启动一次webapp需要5分钟,实在难以忍受。
4 楼 delphixp 2008-10-19 18:15
我觉得,Java 应该做成类似 OSGI 一样,保持核心简洁,但同时也可将扩展特性随需要加进来。

  例如,你的项目需要 LINQ 来提高效率,就加入此扩展。如果你在开始项目时,期待使用闭包,你就加扩展。

   如果你觉得需要 JDK 5.0 或者 JDK 4.0 那些功能就OK,就用。。。。担随着项目的发展,发现使用LINQ或闭包更能简化或提供效率。。就在核心上动态添加这些语法功能扩展。。。
3 楼 weishuwei 2008-10-19 13:11
不要过于追求优雅,要简单实用
2 楼 xsc963 2008-10-19 13:02
不是功能越多越好的!
1 楼 wu2004 2008-10-19 12:38
虽说有java开源框架,但还是有一些改进,如swing

发表评论

您还没有登录,请您登录后再发表评论

相关推荐

  • Jive Forum 系统完整分析

    NULL 博文链接:https://tkiicpp.iteye.com/blog/556707

  • 三、jive系统设计(3 Jive安全管理机制)

    3 Jive安全管理机制 在Jive中除了前面介绍的有关设计模式实现组件外,还有其他有一定特点的组件功能,分析研究这些组件功能可以更加完整透彻地理解Jive论坛系统。 Jive安全管理机制基本是由下列部分组成: ·安全验证机制。主要是验证用户名和密码组合是否与数据...

  • Jive 中的设计模式

    关于设计模式 , 这篇文章并不详细解释 , 只是结合 Jive 来看看设计模式在一个实际项目中的应用及其整体的设计思想 . 所以在读这篇文章前 , 假设您对设计模式有一个感性的认识 , 对其具体应用以及实现方法有些疑问 , 并渴望了解其思想 , 并使用过 Jive. 本文将一同来探讨这个问题 . 为什么选择 Jive 而不是选择一个新的例子重新开始呢 ? 有以下两个原因 : 1, 我们很多人对 b

  • jive中的设计模式

    Jive 中的设计模式 (Design Pattern)关键字: Jive, Design Pattern.时间: 2001-4-1摘要:Jive 是一个开放源码的论坛项目, 也就是我们所常见的 BBS, 采用了 SUN公司的 JSP 技术, 相比起 j2ee 这个庞大的体系结构, 其整个的设计思想非常精炼, 适用于中小型网站, 建立自己的论坛系统. 这篇文章我们就一起来看一看Jive 中所应用的

  • 学习JavaEE的两个著名工程PetStore和Jive论坛二合一

    学习JavaEE的两个著名工程PetStore和Jive论坛源码,好不容易找的,只售1分。

  • Java学习路线总结,搬砖工逆袭Java架构师

    定期分享Java硬核技术干货、分享Java学习路线、分享Java经典面试题

  • Java 面试都只是背答案吗?

    说实话,不背肯定不行的。 由于字数太多,所以只...7:MySQL 的隔离级别有哪些? 8:MVCC 是什么? 9:谈一谈 InnoDB 10:谈一谈 MyISAM 11:谈一谈 Memory 12:查询执行流程是什么? 13:VARCHAR 和 CHAR 的区别? 1

  • 【微服务 Spring Cloud 4】Java工程师需要学习云原生吗?

    作为一名Java工程师,我真的很想知道云原生和Java到底有什么关系?Java工程师需要学习云原生吗? 一、从岗位需求看Java与云原生 1、云原生工程师 2、Java工程师 根据字节跳动两个岗位的职位信息来看,好像没什么...

  • Java 自带强大性能调优可视化工具JVisualVM 实战 ,你真的会用吗?

    VisualVM是Netbeans的profile子项目,已在中自带,能够监控线程,内存情况,查看方法的CPU时间和内存中...VisualVM提供了一个可视界面,用于查看Java虚拟机上运行的基于Java技术的应用程序的详细信息。VisualVM对。...

  • 【Java基础知识 1】Java入门级概述

    CSDN最强Java专栏,包含全部Java基础知识点、Java8新特性、Java集合、Java多线程、Java代码实例,理论结合实战,实现Java的轻松学习。

  • jive源代码、设计模式学习

    jive学习源码学习,前一阵下载别人的不能用,传一个好使的.希望对奋斗在IT前线的同志们能有所帮助…… 系统设计,设计模式,数据库设计,权限设计,缓存系统,源代码研究,扩展功能,国际化支持,全文搜索,安全认证……

  • 通过Jive学习 设计模式

    1. Jive是什么? Jive是基于JSP/JAVA技术构架的一个大型BBS论坛系统。人们这样评价Jive:学习Java必须读懂两套源代码,第一个就是Jive 第二个是Sun的宠物店Pet Store。  学习Jive源程序,可以更好的理解和应用设计模式。 2. 设计模式,框架   什么是设计模式?   特定问题的最优解决方案,是经验。 为什么要使用设计模

  • Jive 中的设计模式 (Design Pattern)

    关键字: Jive, Design Pattern. 摘要: Jive 是一个开放源码的论坛项目, 也就是我们所常见的 BBS, 采用了 SUN 公司的 JSP 技术, 相比起 j2ee 这个庞大的体系结构, 其整个的设计思想非常 精炼, 适用于中小

  • bbs源码分析 之 jive中的设计模式

    (来源:http://www.cn.ibm.com/) 摘要:Jive 是一个开放源码的论坛项目, 也就是我们所常见的 BBS, 采用了 SUN 公司的JSP 技术, 相比起 j2ee 这个庞大的体系结构, 其整个的设计思想非常精炼, 适用于中小型网站, 建立自己的论坛系统. 这篇文章我们就一起来看一看 Jive 中所应用的设计模式(Design Pattern).关于设计模式, 这篇文章并不详细

  • Jive设计模式集合(中文)

    Jive设计模式集合(中文)<br>详细的介绍jive的学习资源,想修炼code内功的就要好好研究设计模式,而jive是学习设计模式最好的例子。里面还有工具的连接向导,方便实用。如果你觉得好,给个好评!

  • java中file需要关闭吗_java - 我是否需要关闭()FileReader和BufferedReader?

    java - 我是否需要关闭()FileReader和BufferedReader?我正在使用围绕FileReader的BufferedReader读取本地文件:BufferedReader reader = new BufferedReader(new FileReader(fileName));// read the file// (error ...

  • 自学Java真的可以找到工作吗?

    就java得市场而言,不管自学还是科班...不过你如果做好下面几点,有个基础,或者说找一份初级的java程序员的工作,是够够的了。 1.java基础篇:既然是一门语言,那么语言最基本的东西总该学会吧?标记,变量,.

  • 为什么配置环境变量需要JAVA_HOME?

    JDK(java development kit),Java开发工具 JRE(java runtime environment),Java运行环境 windows属性---&gt;新建环境变量 JAVA_HOME = JDK安装路径;如C:\Program Files\Java\jdk1.8.0_65 PATH = %JAVA_HOME %/bin; ...

  • Java 访问权限控制:你真的了解 protected 关键字吗?

    在Java中,类成员访问权限修饰词有四类:private,无(包访问权限),protected 和 public,而其中只有包访问权限和public才能修饰一个类(内部类除外)。特别地,很多Java书籍对protected可见性的介绍都比较笼统,...

  • 【Java基础知识 3】为何要配置环境变量?

    干了这么多年Java,配置环境变量都是第一步要做的,但是为什么要配置环境变量呢,又有什么用呢,今天哪吒就带你一探究竟。 二、百度百科 有事没事找百度,百度解释名词这一块做的是真的好。 1、环境变量简介 ...

Global site tag (gtag.js) - Google Analytics