欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

2010 年 Java 平台圆桌会议---展望 Java 行业的未来

程序员文章站 2022-07-02 21:56:26
...

简介: Java™ 平台以稳定著称,其社区却相当活跃,但这并不意味着 Java 技术已经足够成熟。Oracle 收购 Sun Microsystems 就是 Java 行业重新定义过程中的最新变化。为了让大家了解相关信息,Java 技术专区编辑 Jenni Aloi 举办了一次 developerWorks 圆桌会议 — Java 社区中的 9 大思想者 — 讨论了 Java 技术、文化和行业的现状和发展趋势。

自 Oracle 去年宣布其收购 Sun Microsystems 的意图以来,Java 开发人员社区便开始争辩 Java 格局会有哪些改变,以及它将如何影响 Java 平台的未来。

事实上,Java 技术的发展素来就是一个充满争议的话题,其中一些人认为这一技术在它的第 15 个年头已经走到了尽头。因此,Java 平台和库的突出复苏让业界为之震惊,因为企业开发人员已经开始解决方案可靠性和可伸缩性问题。

随着 Oracle 的收购工作尘埃落定以及 Java 7 已定于今年下半年发布,Java 领先社区需要举办一次圆桌会议 — 开发人员、架构师和分析人员(公司和独立) — 并获取关于 Java 技术、文化和行业的当前及最新趋势的观点。

从期待到惊讶,各界反应不一,但最终开始思考与会者们在 Java 平台方面的专业技术和广泛工作。衷心感谢圆桌会议与会者:Dan Allen、Neal Ford、Andrew Glover、Richard Hightower、Mik Kersten、 Christopher J. Mackie、Alex Miller、Ted Neward、J. Steven Perry。了解我们贡献者们的 广泛背景知识,包括他们在 developerWorks 上以及别处发布的作品。

注意:与会者的观点和评论不代表 IBM 的观点。有关 IBM 围绕 Java 平台的最新活动的更多信息,请参阅 Chris Bailey 的 “Java 技术,IBM 风格: Java 技术的新纪元”,这篇文章介绍了一些通过 Oracle Java 7 规范带来的主要增强,以及 IBM 提供的额外增值功能。IBM SDK for Java 7 的技术总监 Trent Gray-Donald 还在这个 播客 中谈到了未来的变化。


Java 技术的 2010

为了开始讨论,我们向与会者提问“基于 Java 的开发人员如今面对的最大挑战和机会是什么”。虽然回答不一,但其基本主题是相同的:Java 平台的复杂性以及相关 Web 应用框架,因为这增加了如今软件开发的固有挑战。

“甚至在开始编辑代码之前,典型的 Java Web 应用程序就要使用 15 到 20 MB 框架”,Alex Miller说,“这从一开始就加大了我工作的难度,而我拥有 10 的 Java 开发经验。”

Mik Kersten 表示同意:“我们所用系统的大小在不断增长,而我们脑容量却还是那么大。”

与此同时,根据 Dan Allen 观点,交付的压力也不小。他说:“开发人员无力承受开发对应用程序业务逻辑毫无作用的代码,特别是用于解决已经解决的问题的代码。”

大多数与会者都同意复杂度 — 这关系到 Java 平台的生存 — 阻碍了基于 Java 的框架、工具和语言的创新。
您怎么认为?

在此次圆桌会议中,我们向与会者提出了一些重大问题。我们也希望您可以发表意见。您是否同意此处提供的观点?您有其他意见吗?是否对 Java 行业有完全不同的见解? 加入圆桌会议 并分享您对于如今 Java 行业的想法。

“要让 Java 得以继续生存,必须将它视为快速部署工作应用程序的平台”,Andrew Glover 说。他引用 Grails 作为基于 Java 平台的简化企业栈的例子。

“借助 Grails 这样的框架,您可以极为迅速地建立工作 Web 应用程序,就像 Rails 那样”,他这样说。

与会者表示,支持 Java 平台演化的其他技术还包括 Spring 框架、Eclipse、基于 Java 的云和虚拟化技术、键值对数据包以及 Java EE 6 本身。

技术并不能解决 Java 开发人员面对的所有问题;但是,Java 的编程文化也存在求变的压力。

“Java 开发人员通常会迷恋复杂性”, Neal Ford 说,“我们作为开发人员必须努力在解决问题方面达到平衡,避免引入新的问题。”

Steve Perry 对此表示同意。他说:“创新是伟大的,我喜欢变化,但软件开发确实还需要发展。世界对软件的依赖性日益增加,如果开发方式未得到改善,那么我们将有一段非常艰难的过程。”

Chris Mackie 认为,软件开发活动的发展是 Java 文化和技术前进的动力。“日益壮大的外包供应商都是组织文化和编码需求不一的各种类型的公司”,他说,“即使经验丰富的 Java 开发人员会在转换到新环境时遇到挑战。”

Oracle 和 Java 技术

经过数月的诉讼之后,Oracle 现在已经是 Java 未来的掌控者。我们向与会者提问:“这种新的控制权有什么最重要的意义?” “在 Oracle 的带领下希望看到什么变化,还是保持不变?”

大多数人,如 Rick Hightower,并不期望技术方面能有多大改变。“Oracle 并不会让 Java 开发人员的境遇变得困难” ,他说。

一些与会者表达了对 JCP 的顾虑,并希望它能继续,或者在 Oracle 下能变为更加可靠。“我希望 Oracle 能消除 Apache 一直反对的领域应用限制,并打破 JCP 对 Java 7 JSR 的限制”, Alex Miller 这样说。

Steve Perry 补充说:“我希望 Oracle 做出的保留 JCP 并增加其共享性的承诺并不是天方夜谈。公司参与的开销是否会越来越大?个人参与是否可行?”

谈到 IDE,Mik Kersten 表示在同等情况下会首选 JDeveloper,“因为 Eclipse 在 Java 特性、可扩展性和可能集成方面都处于领先。”

“我希望我们可以看到 Oracle 意识到 Eclipse 对于 Java 取得成功的重要性”,他说。

“长远来看,我想知道 Oracle 是否会让 Java 更加接近企业,以及是否会将 Java 应用于云,这会是非常有趣的事情”,Chris Mackie 说,“我认为强大的云理念对于社区非常有益,但不知道 Oracle 是否注重这一因素。”

“利用云还会减少硬件改变的麻烦,这使 Oracle 作为硬件公司(即 Solaris)的角色变为更加有趣”,Andrew Glover 说。

在讨论对于 Java 技术最为重要的方面的问题时 — 公司所有权易主还是开源替代方案出现 — 与会者开始分化了。

“对我来说,Java 的发展动力与其所有权没有关系”,Glover 说。但是,Dan Allen 说,“这确实会关系到负责 Java 的公司。”

“我们现在有许多人都对管理方向持有不同的意见,而这只能改变 Java 和 JCP(通过 Oracle 的控制权)的发展”,Alex Miller 说,“我认为 Oracle 会将 Sun 产品合并在一起,并创建更多的价值。”

显而易见的是,Oracle 以盈利为中心的商业模型会改变 Java 文化的一些方面。

“许多 Java 开发人员会发现很多免费服务从此消失”,Ted Neward 表示,“坦白来说,我认为这种改变是一个很遥远的过程。”

Java 7:闭包和并发性

经过 3 年多的努力,Java 7 已经确定于 2010 年末发行。我们问到闭包是否仍然值得争论,以及 JDK 7 是否足以应对并发性方面的挑战。

一些人质疑 Java 7 与基本应用程序开发的相关性。“我仍然遇到客户机在 Java 1.3 上卡住的问题,因为需要商业公司提供应用服务器”,Andrew Glover 说,“由于这些现实让 Java 7 的采用在某些领域变得遥不可及。”

Java 4 和 Java 5 引入了一些激动人心的特性, Steve Perry 说,“但对于 Java 7 就有所不同了。但是,使用稳定的已有技术则更能发挥自己作为顾问的作用。”

一些最有趣的并发工作正独立于 Java 7 进行,Glover 说,比如一些开源工作,基于 Java 的框架 Kilim 和函数语言如 Scala。

“JSR 203 是 NIO 中非常有用的增强。JSR 166 有一些很好的并发更新,并且我仍然希望 JSR 310 继续发扬光大。” Alex Miller 说。

Miller 还看到 JVM 中新增了一些好功能,他表示,“一些围绕 invokedynamic 的工作正在进行之中,可能会是一些热门的新型垃圾收集器 G1。”

就闭包而言,Miller 说,他们仍然值得争论,并且我很高兴它们能重回阵营。
Dan Miller 关于 Groovy 成功的引用

其中,闭包将 “为各种 JVM 语言之间的通信提供一种公共的标准字节码格式”,Neal Ford 说,“现在,Scala 使用与 JRuby、Clojure 和 Groovy 不同的内部表示;它们都有自己的字节格式。” 建立一种内部格式可以让所有基于 Java 的语言解析相同的内部表示,他说。

“Groovy 的成功表示人们希望闭包出现在 Java 中”,Dan Allen 说。他还对 Java 中缺少属性和直接字段/方法引用表示失望,他说这样会导致浪费和/或传递类型安全性。

“许多语言信息会在编译时丢失,而它们本来可为框架开发人员提供很大的用处”,Allen 说。“一个例子是方法参数的名称以及各种通用类型信息,它们已经从 Java 移动到字节码中。”

“虽然注释极为出色,但它们仅是需要支持的元数据最表面的一层”,他说。

但是,“Java 语言设计者应该在版本 7 时释放 Java”,Ford 说,“Java 语言将成为 JVM 的汇编语言:允许低级访问,因为您所编写的是低级库,以及允许维护。”

甚至在平台前端,Miller 说,“Java 就其本身而言当前并不适合革命性改变 — 它仍然会顺变趋势和用户的期望。而企业正希望如此。”

Project Jigsaw

JDK 应该模块化的争论应追溯到 90 年代中期,但对 Java 模块性的兴趣 — 或对可实现解决方案的希望 — 在过去数年中已经激增。作为 OpenJDK 项目的一部分,Project Jigsaw 是 Sun 在 Java 7 发行版中模块化 JDK 的努力。

我们向与会者提问 “Project Jigsaw 与 OSGI 的关系是什么”,以及 “是否能够满足模块化 Java 平台和编辑模型的需求。”

Chris Mackie 说,“我怀疑并没有一个正确的模块化 Java 解决方案。可以很容易发现关于‘正确’的模块性有许多立场。”

在提及关于模块化的 JSR 时,Alex Miller 表示,“我认为围绕 JSR 294、277 的整个过程以及 Project Jigsaw 从一开始就没做好。相关人员目的性很强,但我还是希望最终产品能是我希望的那样。

“我认为 OSGi 是一项伟大的技术。我并不认为它是唯一的解决方案”,他说。

我们需要的是一个 “可允许版本跟踪,支持编译时和运行时版本依赖性检查的工具,以及一个开放元数据组件系统”,Ted Neward 说。相反,Project Jigsaw 已经 “变为另一种复杂的 OSGi 和 Maven”,他说。

“很让人不耻,因为我认为 Mark Reinhold 和 Alex Buckley 在模块性方面的展示确实非常有吸引力”,Miller 补充说,“集成模块定义、依赖关系管理和紧密部署的概念可支持 CPAN、Ruby Gems 或 Groovy Grape 系统,并且能更好地构建和部署 Java 软件。”

但是,模块化 Java 平台也有其缺点和批评者。

“我认为 Project Jigsaw 不切实际”,Steve Perry 说,“他们提议的解决方案几乎没有丝毫引起我的兴趣。”

“模块性解决方案正日趋成熟的事实说明大部分已有 Java 应用程序,虽然它们可能会从模块性中受益,但都没有这一必要性。对于许多应用程序来说,模块性可能会弊大于利”,Mackie 说。

他说,“但是,模块性在移动环境的 Java 开发中非常重要。举例来说,如果没有它,我们将很难看到 Java 会在智能手机上普及。”

Dan Allen 说,“移动应用程序并不需要 JVM 带来的所有功能。如果 Sun 接受模块 JDK,Android 和 Java ME 的分开就不会发生。”
Java 和多语言 VM
JVM 需要 “一种真正的语言” 吗?

与 Java 社区本身一样,与会者在讨论核心 JVM 语言的需求时意见发生了分化。

Neal Ford 说,“Java 已经死了。但是,多语言编辑的未来看似光明。我们以 Swing 开发为例,您可以使用 JRuby (Swiby) 或 Groovy (SwingBuilder) 中的 DSL 在 Clojure 等先进的函数语言中构建用户界面,创建关键线程安全部件,并能保留多年以来创建的所有 Java 库。”

对 Steve Perry 来说,这一场景看上去比较可行,虽然没有切实的商业收益。他说,“我尝试不受技术的影响。我们关注能确实吸引我的东西。”

与此同时,Dan Allen 认为 JVM 是一个完美的沙箱。他说,“发现主要语言之后,开发人员可以迁移到它,而不要转储知道和投入的一切。Grvvoy 和 Scala 的成功证明沙箱方法是可靠的,但任何语言都是不可替代的。我相信总会有更好的。”

“一种真正的 JVM 语言” 的时代已经过去,还是尚未找到最合适的方案? 让我们知道您的想法!

此前,一些 Java 社区人士(其中一些为 developerWorks 写文章)争论 Java 语言是否已经死亡,或者像 COBOL 一样死亡(请参阅 参考资料)。如今,更深层次的问题是 Java 语言是否已死亡有什么影响,因为 JVM 上还有许多其他语言。

Andrew Glover 说,“多语言 VM 让 ‘Java 已死亡’ 这一诊断或多或少变得饶有趣味。Java 是一个平台!如果 Java 语言缺少一些我所需求的特性(或者出现在其他语言时),那么我可能会选择其他语言。”

他说,“Java 的真正强大之处是语言干净地脱离了虚拟机。JVM 的可靠性可允许开发人员混搭语言,发挥这些语言各自的优势。”

Alex Miller 说,多语言 VM(已经由 OpenJDK Da Vinci Machine 项目实现)将为 Java 开发人员提供独一无二的机制,可以将工作侧重于语言互操作性、元对象协议和其他方面。

Miller 和其他人同意大企业软件公司继续在 Java 中大笔投资。

Dan Allen 说,“Java 是一种非常易于理解的语言,并且对于公司开发人员来说非常不错。挑战是如何积极地发展该语言。需要引入新的语言特性,并且需要消除不推荐的用法!没有人在使用 Java 5 注释时还在使用 Java 1.1 中的旧式代码。”

Ted Neward 还呼吁 Java 语言设计人员 “了解其他语言的环境 — 从 C++、C# 和 Visual Basic 开始 — 并确定一组可再次焕发 Java 活力的新特性。”

Mik Kersten 说,“Java 作为一种面向对象编程为我们提供了极好的基础。它做到了,也发挥了作用,但它需要继续上升一个台阶。但从社区的角度来说,我们不需要确保 JVM 上能出现额外的创新。”


Spring 的未来怎样?

Java 最稳定、流行的开发平台之一已经于 2009 年易主:VMWare 购买了 SpringSource。我们向与会者提问,“Spring 产品组合在 VMWare 的管理下将如何发展。”

似乎人们一致认为 Spring 在 VMWare 的经营之下会开始进入云计算领域。Spring 将 “成为执行云开发的平台,并继续支持多年来一直在坚持的企业开发。”

Mik Kersten 同时说,“SpringSource 的 CloudFoundry 是对未来的展望,开发人员将在云中部署、调试和管理他们的应用程序,完全不用离开 IDE 便可实现。”

Steve Perry 说,“从业务应用程序开发人员的角度来说,Spring 可能会尝试执行更多任务,它的体形会变得异常庞大。开发人员不必每隔三个月便升级一次 Spring 实现。”

Rick Hightower 还看到 Spring 产品组合在各种方向上都有所突破。Spring Roo 和 Spring STS 就是采用 “Spring 方式” 的极佳例子。

他说,“新兴 Spring 产品组合可能会回归 Spring 在面向方面编程中的本源。如果您还没有这样做,则会希望重新拿起介绍 AspectJ 的书。”

OpenJDK 和 Apache Harmony

让 Java 平台开源的决策很受欢迎,毕竟来自 Java 开发人员社区的压力非常大。Apache Harmony 首先出现,但 OpenJDK 其实有 Sun 的成分在其中。对于这两个进行中的实现,我们向与会者提问,“Java 生态系统是否会从这两个开源 Java 平台实现中受益?”

Dan Allen 说,“不同的实现可允许更加容易地找到最佳解决方案,或者最适合的解决方案。比如说,一个 JVM 可以启动更快,但另一个可能长期内存占用较低。”

Chris Mackie 说,“我们必须建立一个完全的定位战略。但是,随着时间的推移,让具有一定竞争力的项目成为标杆逐渐变得困难 — 不仅对它们的创建者来说如此,对于两个项目兴趣点不同的用户来说也是如此。”

他说,用户感兴趣的是如何最大限度的提高投资回报率。
Ted Neward 关于 OpenJDK 和 Apache Harmony 的引用

对于一些人来说,Apache Harmony 和 OpenJDK 可以概括为开源能做什么以及不能做什么。

Ted Neward 说,“让 Java 开源是一个很好的想法,我个人也对他们在这方面的努力感到很高兴。但我们不要再欺骗自己了 — 关注它的那百分之二的 Java 开发人员社区都没有在开源方面有任何举动。”

Andrew Glo 说,“开源是一件很美好的事情,特别是当您支持它并围绕它进行创新时。拥有商业后盾的项目大多都可以迅速发展起来,这与真正依赖拥护者的项目形成了鲜明的对比。”

在技术方面,Rick Hightower 说,“OpenJDK 和 Apache Harmony 就像是安全降落伞。我很高兴它们俩都没有消失;我希望以后不会只能两者择一。我希望 Oracle 能够经营好 Java 平台,也让我们免于依赖备用计划。”
云计算

随着有影响力的公司开始注重在云上计算和销售资源,我们问与会者对云计算的基本观点是什么,以及如今在企业中利用云基础设施的切实可行的方法是什么。

Ted Neward 说,“2010 年的云就和 2008 年的虚拟化、2007 年的网格以及 2005 年的 Web 服务一样,它如丝如缕、难以抓住,虽然看上去有结实的表面,但实际上没有有形的物质。”

Alex Miller 表示同意,“云计算现在是一个相当热门的词,但相关技术却极具实用性。基本上我认识的每位开发人员都在私有或公共云中使用或查看云基础设施。”
Alex Miller 关于云计算的引用

Andrew Glover 说,“显然,目前可行的方法是利用诸如 Amazon EC2 之类的工具进行测试,如果可以即付即用,就不需要提前支付测试基础设施硬件的款项。”

Miller 表示同意,“大多数人似乎在可伸缩性和性能测试或部署内部应用程序时都遇到了麻烦,然后才了解它的利弊。”

Dan Allen 说,“配置服务器是一笔不菲的开销,而且维护工作也是一项负担。如果所有这些都可以抽象出来,并通过 IDE 来进行控制......那么开发人员便可以专注于业务逻辑。”

一些人也表达了顾虑:开发人员和组织可能会低估将应用程序迁移到新的云基础设施的过程中所涉及的工作。

Steve Perry 说,“如果我有一位客户想要云,那么我买些书来看,然后建立一个。但在此之前,我想我与云没有任何瓜葛。”

Allen 说,“我们不希望强迫开发人员修改自己的平台、框架和工具,然后才能在云中运行。”

Chris Mackie 表示同意,“通过 EC2 来托管大多数最新企业应用程序确实是说比做容易。当然,我的意思是云可能会自动确定近期的需求。”
新行业中的 Java 技术

IBM 和其他公司都在大笔投资于 “优秀技术是建立智慧地球的关键因素” 这一思想。这是一个简单的假设,但软件开发人员比其他人更加清楚新计划也会带来新挑战。我们问与会者如何才能将更加智能的技术引入到新行业中,以及哪些行业能从智能软件解决方案中获取最大收益。

Steve Perry 说,我立即想到了两个行业,卫生保健和金融业,尤其是银行业。我相信更加严格的监管意味着我们需要更好的软件方法。在这两个行业都是如此。”

Dan Allen 还引用了卫生保健行业中缺少技术基础设施的实证。“世界上相距遥远的人们能够分享他们的早餐的内容(得益于 Twitter),但一个月之后,我妻子医生的办公室仍然无法通过实验来定位 X 光。这里的关键问题很简单,就是轻量级的 Web 服务,比如 REST。”

Allen 和 Andrew Glover 都看到了移动技术的发展前景。Glover 说,“移动是大势所趋。智慧的地球将利用移动计算来增强信息共享和效率。”

谈到 Java 开发人员时,Allen 说,“接受并支持 Android 将成为关键因素。但这意味着解决和标准化 Java 中的多媒体问题。”

Chris Mackie 指出了 Java 技术可能与众不同的另一个领域。他说,“如今非营利机构的显著特点是,它们是世界上唯一还没有通过最新技术实现充分获益的主要经济领域。有人认为,将如今的技术引入到非营利机构中可以获取最具潜力的价值。”

Ted Neward 表示,一些人则反对在修复自身的问题之前扩展到新行业中。

Steve Perry 说,“工程质量软件的设计要花时间和精心,这两者都不为软件行业所支持。我认为高生产力始终会导致低可维护性。”

Neward 说,对于真正在企业外部使用的软件,质量和适用性都需要进行改善。大多数软件如今都需要一个重量级的承诺 — 无论是在安装所需的其他组件时,还是在安装其他组件所需的组件时 — 然后才能开始赢利。

Alex Miller 说,“比竞争对手更快地建立、改变和部署技术是至关重要的,这样大多数行业便可相互影响。但是,管理复杂性是实现 Java 方法 的重要因素。”

开源:钱在哪里?

Java 开发人员难以想像这样一个世界:没有免费和开源的库、框架和工具,而它们都是创建各种 Java 应用程序的基本元素。但开源开发的复杂经济难题也让批评家们开始质疑它的长期可行性。我们向与会者问到开源的未来,以及开发人员和组织如何才能通过开源实现盈利,而不仅仅是提供免费的软件。

大多数与会者都同意开源软件在可预见的未来仍然会继续大行其道。供应商会继续通过支持和围绕其产品的培训来盈利,同时还会免费提供打包的企业版工具。

Mik Kersten 说,“IBM Rational® 已经成功将 Eclipse 打造成开源工具平台,并且将继续在该平台上销售创新产品。”

Andrew Glover 说,要想获得成功,开源项目必须有足够的发展动力。并非所有开源商业模型都能成功。底层产品需要各种及大量社区来支持商业化的实体产品。
Mik Kersten 关于 Rational 和 Eclipse 的引用

Chris Mackie 说,成熟性也很关键,开源在成熟的垂直软件市场有极具吸引力的价值主张,几乎没有消失的可能。他说,事实上,专项创新的趋势是让路给持久、开源的替代方案。

他说,专有软件供应商有时更加敏捷,可以更加迅速和有效地专注于资金。但开源的优势在于极为丰富的人才资本,这是任何专有垂直市场供应商都无法望其项背的。

Ted Neward 说,如果您希望通过开源赚钱,请首先确定盈利模型,然后再分析开源将如何为您提供帮助。其他方式目前还行不通。

他引用了 Oracle 收购 Sun 的例子作为实证:“开源采用较慢的公司 — 即 Microsoft 和 Oracle — 都更好地分析了开源将如何为他们的业务提供帮助。”

Rick Hightower 说,“IBM 在开源上已经实现了数十亿美元的收入,并且这些收入大部分又重新投入到开源的发展中。它是通过开源软件赚钱并回馈社区的模范。”

Steve Perry 补充道,“我希望我们能看到 Oracle 和 VMWare 这样的公司引领(开源)技术的发展。”

结束语

Java 技术已经有大约 20 年的历史了,显然已经到达了其发展的顶端。Oracle 的管理对于 Java 技术的未来发挥着重要的作用,但同样不会忽视 Java 开发和开源社区的意愿和创造力。

Java Community Process 近来成为大家关注的话题,许多开发人员都想知道 Oracle 是否会 — 以及如何 — 遵守自己的承诺来维护和重振 JCP。许多人希望免费和开源软件模型在 Oracle 的管理下能有所改变 — 无论改动大小如何 — 并且这些更改将影响 Java 开发人员与技术以及他们各自贡献的关系。

随着 Java 技术进入其成熟期,Java 编程的文化也在趋于成熟。创新的动力尚未消失,但认知力的不断增加平衡了这一关系 — 包括编程人员和 CTO 及业务经理 — 即在编写代码时必须考虑可维护性。

塑造 Java 平台的另一个作用力来自对技术有着新需求的行业,但其他行业仍然固步自封,采用过时的做事方式。必须改变这一状况才能让 Java 平台继续发展并与行业需求保持一致。

如果说此次圆桌会议提供了一些信息,那就是 Java 技术的未来是激动人心的 — 同时也是充满挑战的。要让在迅速发展的技术领域(如云和移动计算)中表现出色的 Java 开发人员适应特定的行业(如卫生保健和金融业),未来之路会非常艰苦,但前途绝对是光明的。