设为首页收藏本站

LUPA开源社区

 找回密码
 注册
文章 帖子 博客

今日Java—Cay Horstmann访谈

2014-1-6 14:40| 发布者: joejoe0332| 查看: 3925| 评论: 0|原作者: Jeff Martin|来自: infoQ

摘要: 近日InfoQ荣幸邀约Cay Horstmann,就Java最新形势和Cay的新书Java核心技术:卷一&卷二(第九版)进行探讨。自1995年首版发布以来,Java历经多次变更:从语言规约的扩充到Oracle并购Sun后所有权的变动。本次访谈的第 ...

  近日InfoQ荣幸邀约Cay Horstmann,就Java最新形势和Cay的新书Java核心技术:卷一&卷二(第九版)进行探讨。


  自1995年首版发布以来,Java历经多次变更:从语言规约的扩充到Oracle并购Sun后所有权的变动。本次访谈的第一个话题是Oracle的Java管理。


  InfoQ:您如何看待这些年来Oracle对Java的管理?可以谈语言特性,也可以谈商业运作,诸如在JRE Installer中绑定第三方浏览器工具栏。

 
Horstmann:我并不喜欢工具栏绑定。这一点Oracle表现得很矛盾。一方面,他们投入大量资源改进Java,另一方面,他们又在做些不利于Java的事。过去很长一段时间Java的安全处理都很差劲,不过如今正迎头赶上。Oracle的管理是把双刃剑。

社区在Oracle做出这种值得商榷的决定时不会有任何争议。与内部人员交谈时,他们会宣称,“我就这点权力,对该问题没有任何话语权。”而Sun决不会出现类似的问题。Sun一度开放,情况不乐观时Sun会欣然承认需要改进。我琢磨着这点可能和Oracle内部文化相关。


  InfoQ:所以Oracle会否认问题直到发现可行解?

Horstmann:我想那会是一种很好的处理方式,虽然不受待见。此外,Oracle和Google的诸多诉讼会让很多人不喜欢Oracle。


  InfoQ:确实。整体看来,Android有点像Java平台的大使。Google选择了Java,Java的开发需求量会因此增加,Java的整个市场渗透率也会随之提升。

Horstmann:诚然。Sun不曾为Oracle留有任何有利市场。多年来,Sun一直对Java ME(Java平台的微型版)手机寄予厚望,但人所共见,ME日渐没落直至灭亡。此外,Sun未发布智能手机提案。


  InfoQ:你是一名作者,也是计算机系教授。你教Java是由于学生有学用Android开发的意愿,还是个人或校方的要求?

Horstmann:任何课程引进新语言都要付出巨大代价。任何语言的熟练掌握和高效运用都要学生付出一学期以上的时间。所以,课程设计时要有选择性。一方面,Java有很强的适用性:从最简单的作业,到数据库课程,网络课程和Android移动开发课程。另一方面,与教学生十种语言相比,以Java,C和函数式语言等典型语言为例传授基本概念才是教师的职责。


  InfoQ:你在移动开发课程中使用的是哪种语言?

Horstmann:过半的学生用iPhone,因此,我想让他们有一些iOS开发经验,诸如他们所关心的如何让应用程序上机、上架。总体上看,课程会有50%的Android,30%的iOS和20%的HTML5(移动JQuery,PhoneGap平台)。


  InfoQ:这种分授方案在学生中反响如何?

Horstmann:这种多重视角大有裨益,学生们很感激。但最终,绝大多数学生更愿意在Android平台上工作。


  InfoQ:你认为Java未来的落点在哪?基于Android的开发?

Horstmann:服务器端,特别是大型购物网站,还会用到很多Java。我观察过周边的初创企业,有很多没有选择Java。我不知道他们是否有特定原因。与这部分人交谈,问到“是哪些考虑使你在技术决策中放弃了Java?”答案多是“我不知道,我不了解Java。”这些公司中的整整一代年轻人都不了解服务器端Java。像我会觉得境况堪忧。Oracle并没有做出足够的努力来向人们证明最新发布的Java实际上很好用。Java已不是一门艰深的学问。现阶段的Java EE很简单,支持工具极多。


  InfoQ:就初创企业而言,Java并不是因此不受待见。

Horstmann:Oracle更倾向于为有能力购置昂贵设备的大型机构做调研。但很多创新,特别是硅谷中的创新,更多发生在小团队中。这部分人用Rails,用Node.js,而不会用服务器端Java。有时这并非技术原因。有时连他们自己都不知道有何损失。


  InfoQ:关于最新版本的Java 7或者即将到来的Java 8,你认为Oracle是该致力于解决 “时尚因素”问题,还是该解决营销问题,比如如何营销服务器端的优势?

Horstmann:我认为Java服务器端的营销确实有问题。就服务器端开发而言,经营良好的语言应有广阔的市场,包括用这种语言处理问题得心应手,包括语言背后良好的工具支持。可极少会有人建议“可以试试Java。相比若干年后时兴技术X可能遭遇的各类瓶颈,初用Java应该会更高效。”


  InfoQ:是这样。小型购物网站的问题也许在于应用呈指数型增长时是否有必要从Node或Rails切换到一个“更正式”的环境。

Horstmann:是的。在我看,对JavaEE敬而远之并非幸事。即便开发小型项目,Java也常常能相当快速且轻松完成任务。如今我所接手项目的用户数量多几千或上万,不会有百亿之众。我发现无论项目大小,很多人一概无脑选用像Rails之类的技术。这样做,你必须去找会Ruby的人。Rails的那套技术是全新的,而找到Java开发者则相当简单。


  InfoQ:你说的情况更多针对当前开发者还是大学新人?

Horstmann:大学新人。Java在教育中相当普遍,而学过Ruby的人会很难找,无论这些人学Ruby是自娱自乐,还是工作所需。


  InfoQ:你如何看Java随时代变迁而发生的变化?

Horstmann:任何一种想经久不衰的语言都应该具备用户现阶段需要的特性。比方现在,并发情境下,函数式库更为时代所需。没有这些特性不是不行,但这些特性会为Java 8锦上添花。就目前所支持的特性而言,Scala可能更胜一筹,但Scala有其他问题,比方说复杂性。


  InfoQ:也就是说,Scala用户更多看重JVM平台,而并不想使用Java。

Horstmann:如果你了解所做的事情,Scala可能会更高效。一半或更少的代码就足够表达你的想法。有些在Java中你会因为繁杂而不愿尝试的方法,在Scala中就很简单。我很喜欢Scala,但我偶尔也会为之担心。(用Scala编程时,)如果走错了一步,你可能要抓耳挠腮一会了。

多数情况下Java简单一致。我甚至记不得最后一次自问“Java语句暗中做了什么”是什么时候。这条特性很有价值。



酷毙

雷人

鲜花

鸡蛋

漂亮
  • 快毕业了,没工作经验,
    找份工作好难啊?
    赶紧去人才芯片公司磨练吧!!

最新评论

关于LUPA|人才芯片工程|人才招聘|LUPA认证|LUPA教育|LUPA开源社区 ( 浙B2-20090187 浙公网安备 33010602006705号   

返回顶部