Java是平台而非产品:可添加型概念需改变

原创
开发 后端
Java每次的更新都会添加很多新功能。新功能一方面实现了很多开发需求,另一方面也增添了很多学习负担,并且不利于Java的维护。很多更新真的是“被需要”的吗?本文作者认为,语言的变动需要步步为营,不能急功冒进。

【51CTO快译】本文是JavaLobby上的一篇文章,作者Mohamed El-Beltagy是一个忠实的Java程序员。正如同大部分Java程序员一般,他对于Java语言的不断更新与添加新功能既感到兴奋,又感到有些力不从心。他认为Java的确需要更新,从而提升自己的竞争力。不过正如同这个帖子中所提到的,Java的更新有时的确添加了很多不必要的内容,这使得Java语言愈发庞大而且难以维护。如今JDK 7中的一些功能已经可以使用,对于JDK 7以及Java之后的情况,本文作者表达了如下看法:

今天读关于JDK 7和语言的一些新变动的文章时,我偶然发现这则InfoQ的文章。不过真正引起我注意的是后面的***个跟帖:

“这是Java有意思的地方,是‘可添加’型文化观念。” Vic C如是说。

几分钟前我刚阅览了Alex Miller - Java 7页面,当时我也是这么想的,不过想到的是好的方面。千万别误会,对我来说Java就是生命的一部分。

我想说的是:

我们一直在添加、寻求添加、也已经给语言添加了不少功能,但是还是存在向后兼容能力问题。我得说这很不妙。维护起来不用说自然非常困难。Sun已经在这方面做的大量工作很有成效。

但是年轻Java开发者情况怎么样?老辈Java开发者又如何呢?

老辈Java 开发者必须不断学习这个语言本身,语言如何作用,如何使用以及它的各个功能。我并不是对学习新事物发牢骚,我说的是我们,老辈Java开发者们学习的负担。我们需要学习的太多了,而且越来越多。我之所以坚持下来是只因为我在自己以前所学的基础上努力。这就是积累。这最起码对我来说轻松了不少。但是我也见到过一些开发者每天并不在线阅读,因而跟不上新兴事物。相信我吧,他们现在想再追上可就难了。

那么Java开发新生力量又怎么样呢? 想象他们需要学多少东西。想想有多少info,从OO概念,变量,他们的意义,等等等等……嗯,真的有终止吗? 我可瞧不出来。我在这方面现在已经做了6年多了,从刚入门就有许多东西要学习,而正是这一点使人兴趣盎然。

保持现在拥有的事情是很不错的。但是我们需要的不是当前的Java SE路标,它只简单指向增加更多东西。我们需要的是下面的路标原则趋势:

1- 暂且不要再增加新功能,也不要再对语言做新的变动。

2- 去除所有只会产生反向兼容性的东西。最起码在两个版本中逐渐去除。

3- 另外发布两个Java SE 版本,这两个版本中因上一步,即第二步而得到错误修补。我想会有很多修补。

4- 在前3步产生的更简洁小巧的Java版之上,我们可以给语言增加更多东西。

我知道JDK 7 已经差不多完成了。所以,我在讲的应该是JDK 7 之后的状况。

以上做法的好处是:

◆Java 学习起来会更容易。

◆Java会更强健。

◆JDK会更小。

◆开发新手可以轻松学习。

◆老辈开发者就此得到一个机会来掌握当前语言变化。我们需要休整理解体会一下。(我是说语言变动,而不是说JDK功能。)

◆做深呼吸后休整后,我们就有机会进入“更多添加”阶段了。

◆JDK团体可以好好想想之后需要再增加什么新的“被需要”的东西。

JDK产品不需要每年发行新版本增加新功能和变化。它是一个许多产品建立其上的平台。在发展中的大改变需要步步为营,不能急功冒进。

原文:Java is a platform, not a product  作者:Mohamed El-Beltagy

【更多关于Java 7的动态】

  1. 6月5日外电头条:探秘Java 7模块化 类路径永远消失
  2. Java 7将向细颗粒并行化发展
  3. Java 7路线图更新 未包含闭包特性
  4. Java 7新特性展望 语言本身的改变会很少
  5. 走进Java 7中的模块系统

【关于刚刚结束的JavaOne 2009】

  1. Java开发者盛宴:JavaOne 2009技术前瞻
  2. JavaOne 2009***天:Java软件商店启动 甲骨文CEO登场
  3. JavaOne 2009第二天:Java领域的几大趋势 向多语言发展
责任编辑:yangsai 来源: 51CTO.com
相关推荐

2013-07-10 15:35:57

产品理念

2010-05-17 15:58:04

统一通信平台

2017-04-05 08:14:22

2013-03-04 13:48:55

博通BYOD网络基础架构

2011-07-21 11:30:19

网关选择产品

2022-06-10 18:59:53

容器Kubernetes

2013-10-31 11:19:19

戴尔服务电子商务转型

2013-04-15 13:23:33

安讯士关键业务视频网络

2013-01-06 10:18:58

大数据大数据的未来

2013-01-05 17:01:57

大数据App基础架构

2018-06-03 07:54:14

2016-04-27 13:24:30

2012-06-29 09:55:23

Android 4.1

2012-07-17 11:12:35

移动统计CNZZ

2010-12-08 09:27:38

虚拟化成本节约

2011-03-16 16:09:04

2009-03-11 18:28:30

Windows 7付费升级

2023-09-08 09:51:16

2012-09-11 13:08:30

方正国际Fix OA

2022-01-20 08:00:00

数据仓库Snowflake数据库
点赞
收藏

51CTO技术栈公众号