首页 新闻 论坛 小组 Blog 文档 下载 读书 Tag 网摘 搜索 .NET Java 游戏 视频 人才 外包 第二书店 程序员

logo

您的位置:CSDN 首页−>新闻频道−>正文

与“JAVA之父”面对面 展望技术新趋势(二)

2005.09.12  来自:CSDN      共有评论(0)条 发表评论    收藏

与“JAVA之父”面对面 展望技术新趋势



主持人(熊节):J2EE和JAVA EE最近发表了J2SE5.0,我想问一下,J2SE 5.0和J2EE 1.4,最大的改进有哪些?将会给我们带来哪些好处?
孟岩:最近我看到Gosling博士说到脚本语言是一个很重要的趋势,请问为什么?它所谓的“重要”是什么意思?
James Gosling:实际上这个问题问我,可能是问错人了,我是最没有资格回答这个问题的。我也不知道他们最近在做什么,到底J2SE 5.0和J2EE 1.4比起来有什么不同,J2EE是非常强大有力的,但一个是成本高,一个是比较复杂,所以我们的工作重点是针对成本和比较复杂下手,让它更容易使用,这是主要的方向。
James Gosling:实际上脚本语言的“重要”,已经“重要”了几十年了,我本人在过去35年一直在使用脚本语言,在不同的应用方面,在工具方面、编程的应用方面都会发挥作用。另外,脚本语言的用处还在于,有时候不是特别注重它的绩效、性能的话,但你要求它比较小,而且要比较快,这方面非常有用。另外把不同的部件粘接在一起,这方面很有用。


孟岩:现在社群里面已经开始讨论,像Python/Ruby/Groovy动态语言作为主流的开发语言,这样可以开发很大的效益。James Gosling博士是否认为这会成为可能?
James Gosling:有时候可以建一些这样的语言,这些语言是针对某个域、或者是某些领域的,实际上这个是在JAVA的虚拟机上跑的,这也是JAVA的非常重要的一个部分。
James Gosling:还有一点,能够把JAVA和动态的语言区分开来,JAVA的用途非常广泛,很多情况下可以通用,比如说手机开发方面,智能电话都可以用JAVA。
孟岩:请问James Gosling博士,对于近年来逐渐兴起的轻量级企业开发潮流有何看法?过去我们认为EJB对开发语言很重要,但现在有一些轻量级的框架,也非常适合于开发JAVA的企业应用。James Gosling博士来看,对这件事情有什么评论?认为是一种进步呢?还是只是一时的东西?
James Gosling:我始终认为EJB只是我们讲的工具中的一个组成部分,主要的动机和用于的目的、初衷是应对比较复杂的应用,比如说集群,还有一些其他的容错交易和预算,如果不是在这些方面的话,EJB的应用是非常有限的。实际上这方面的技术,比如说Spring是应用自己企业开发的框架,可以解决KHB进行动态集群。所有这些技术都是围绕着网络服务方面,当下人们谈论的最热点的话题就是SOA面向服务架构。


孟岩:我们现在知道EJB2是一个分布式对象的规范,现在分布式对象体系使用的还并不广泛,如果有朝一日分布式对象体系得到广泛使用的话,我们会不会回到EJB2?
James Gosling:我始终认为EJB只是我们讲的工具中的一个组成部分,主要的动机和用于的目的、初衷是应对比较复杂的实际上关于SOA以服务为导向的架构,作为一种哲学基础架构,已经存在了很长时间。
James Gosling:这个问题很难回答,我不用EJB2,只是用JINI。


主持人(熊节):现在比较热点的概念就是Web2.0,请问Gosling博士对这个技术,以及AJAX和Web 2.0有什么样的看法?
Professor Liu:它是非常大的系统,对于一般的系统来说,这是不核算的。
James Gosling:JAVA做的非常出色的工作就是在服务器这边,会产生很多AJAX的组件。
熊节:在实现Web 2.0的时候会有什么样的情况?
James Gosling:我之所以编写JAVA,发明JAVA,一个很大的动因,在C语言当中让我感觉非常痛苦,它的数据结构非常原始落后。线程和数据模式都很初级,实际上我在职业生涯中花了太多的时间来纠正出现的问题个。如果把多部分时间花在这方面,人生是多么短暂,所以我就放弃别的时间,专门作JAVA。


孟岩:我知道Gosling博士以前是著称以用C语言来写黑客组件,您现在觉得用JAVA和C语言的感觉如何?
James Gosling:JAVA做的非常出色的工作就是在服务器这边,会产生很多AJAX的组件。你看了我们的最新版本APPLET,我们做了一个GSF。这产生了一个互动,可以使用AJAX的组件,也可以使用APPlET的组件。
孟岩:现在在技术社群里面,安全是越来越重要的话题,原来的语言是用C和C++来写的,用安全的眼光来看的话,肯定会有问题。来用C++来重写这些基础设施,Gosling博士认为是这样做呢?还是把大量的软件用JAVA来重写?
主持人(熊节):现在在聊天室上已经有130个在线网友参加交流。现在提几个他们提出的问题。首先是一个老问题了,JAVA和.net的对比,因为JAVA已经发展了十年,.net已经发展了五年,请James GoslinJames Gosling:绝对是用JAVA,这不用说。用JAVA的基础架构中很大一部分技术中就是用于解决安全问题。实际上在用C和C++语言在应用系统方面,很大一部分的安全问题,就是出现在服务器方面,安全问题就在这里产生。我们在看到用JAVA解决问题,已有的病毒,很多病毒就是用Buffer来清理。经常出现的问题,缓冲区溢出,在JAVA方面是永远不会发生。在早期的时候,这些如果不能关掉的话,性能会受到很大的影响。但非常优化、非常聪明的编译器,能够做到定时检查,不会对性能产生影响。g先生评价一下这两个平台?
James Gosling:绝对是用JAVA,这不用说。用JAVA的基础架构中很大一部分技术中就是用于解决安全问题。实际上在用C和C++语言在应用系统方面,很大一部分的安全问题,就是出现在服务器方面,安全问题就在这里产生。我们在看到用JAVA解决问题,已有的病毒,很多病毒就是用Buffer来清理。经常出现的问题,缓冲区溢出,在JAVA方面是永远不会发生。在早期的时候,这些如果不能关掉的话,性能会受到很大的影响。但非常优化、非常聪明的编译器,能够做到定时检查,不会对性能产生影响。
另外,它没有便携的能力,如果自动变大的话,也没有自动升级的能力。同时也没有针对智能卡和手机的工作。.net是一家公司的产品,如果采购的话,是单一厂家的方式。而JAVA相比来说,绝对不是一个单一的应用,它是一个社区,很多人都参与其中,实际上很多人都作出了贡献,来确定未来的发展,有的人在SUN公司内部,更多的人是在SUN公司以外的。
James Gosling:有很多方面可以进行比较,首先从语言分析来说,.net只是拷贝和抄袭JAVA,自己并没有做什么有益的事。另外,它没有便携的能力,如果自动变大的话,也没有自动升级的能力。同时也没有针对智能卡和手机的工作。
主持人(熊节):还有一个来自网友的问题,关于实时JAVA和J2EE的,现在的移动设备功能越来越强,实时JAVA和J2EE以后是不是有可能被取代,或者是朝什么样的方向发展?


孟岩:现在实时JAVA发展到什么样的程度,所谓的实时是硬实时还是软实时,能否被用在工业领域和军用领域?
James Gosling:实时JAVA的性能和规格,最初的设计是用不同的JAVA版本做,包括J2EE等其他标准的。现在人们做了很多相关的研究性的工作。
James Gosling:在三四个月之前,我们发表了一个版本。它是非常有力的硬实时。实际上它的延迟达到了25个微妙。它对航空仪表方面应用得非常好。我们在JAVA方面做了一个演示,就是在波音飞机上做了一个电子仪表,真正非常强有力的实时。


孟岩:还有一个问题是关于JAVA技术的标准化,Gosling博士认为JCP这种形式是不是适合用于JAVA技术的标准化?它对JAVA技术的发展是有害还是有利?
ames Gosling:我认为JCP是一个非常出色的标准和标准组织,它对JAVA不断发展和演进起着非常好的作用。我们和常规的标准组织经常在一起交流,发现他们只注意文件的存储。但在JCP中标准包括三个部分。第一个是规格,和普通的标准组织是一样。第二部分叫做参考实时。第三部分叫做测试组件。因为一旦谈标准和做标准,就要了解这个标准是否能够真正奏效,以及奏效的怎么样。


孟岩:我想问一个比较个人的问题,十年以来,JAVA创造了很多以“J”字打头的缩略语,比如Jini、JSP JSF,每一个缩略语都代表一个技术,从Gosling博士个人来看,个人比较欣赏的技术能否给我们罗列一下?
熊节:刚才也有一个网友问SWT将来是不是有可能加入到JAVA SE里面?
James Gosling:挑我最喜欢的还是有点难度的,我用的最多的反而不是“J”打头的,我喜欢用JSP,RMI,还有2D的图形。
James Gosling:我们刚开始推出JAVA的时候,有一个AWT。刚才说到SWT它的架构基本上重复和照搬了AWT。而且它出现的问题基本上和AWT是完全一样。


主持人(熊节):最初形成了IDE的时候Gosling博士怎么看?
James Gosling:我觉得实际上在这里具有讽刺意味的,有一个公司一直在大声疾呼痛恨AWT的,这个公司就是IBM。但甚至为最初开发Swing的开发团队一半是IBM。
James Gosling:IBM为什么这么做,那需要去问IBM。呵呵。
Professor Liu:我觉得刚刚学的时候比较喜欢Eclipse,比较容易进步。我觉得最开始做的时候要用Spring。


熊节:柳教授能否从国内的角度来评价一下?
熊节:我们也希望让Gosling博士了解一下,JAVA技术在中国的发展情况。首先我们让孟岩来介绍一下JAVA技术在中国的发展情况。
孟岩:目前国内的JAVA开发者是专业软件开发中的最大社群。但是他们主要是J2EE的开发者。而这种形式对我们高校里的教学产生了很大的诱导作用,所以高校里的教学除了基础语言之外,主要是以J2EE为主的。但在国内的JAVA社群里面,被具体的产品,比如说BEA WebLogic 和IBM的WebSphere的分化,是比较严重的。而这种教育领域对企业开发,因为没有实践的环境,所以在高校里学生学到的东西是纸上谈兵。目前给人的感觉中国的JAVA开发者缺乏对整体架构的把握,以及对技术的评价能力,更多是局限于细节。基于这样的情况,我也想问Gosling博士和柳教授,对于国内JAVA的开发者和学习者,在技术和职业方面有什么具体的建议?
James Gosling:对那些初学的人来说,非常容易被引诱到技术细节层面。要在你的知识层面上多样化,掌握各种东西,这是非常重要的。特别重要的是每天要对自己进行一个教育。很多人有这样的心态,一旦从大学毕业,他们就不用学了。在我们的IT领域、信息技术领域变化如此之快,你不学的话,技术就会过时了。所以对开发者来说,最重要的一点是在广泛的领域,永远不要忘记停止学习、继续学习。
Professor Liu:我认为在国内年轻人普遍对动手、多实践方面,我觉得不是很够。我认为养成一个好的科学的严谨作风,克服浮躁,自己想很快做得很好。实际上我认为软件是一个经验的积累,所以要在年轻的时候有一些基本功,一定要做好。要对JAVA语言吃透,才能作好其他的事情。
Professor Liu:另外还有就是创新,我认为中国对这点不是很够。还有责任心和勤奋,我在和很多公司接触,他们对学生的反映,说学生的责任心确实比较差,自己做的东西没有一个百分之百的精益求精的精神,我尽快把它交差就完了。我认为这点是很重要的,一个人的诚信也反映在这方面。你是不是有很重的责任心也是一方面。就我自己的情况来说,Gosling博士说得一点很重要。你在IT行业就是上了贼船了,像我现在这么大的岁数都还在继续学习,继续学习是非常重要的。现在发展得非常快。
Professor Liu:通过看别人的东西,看懂别人的东西,实际上是积累编程经验的重要途径。有很多年轻人说,看还不如自己编呢,这是错误的看法。因为现在软件都很大,不可能自己从头到尾做。另一方面,怎么很好地一开始就有一个构建化的思想,什么东西都是能够很快速的,我认为现在的环境很好,就是开元。怎么确保高效率呢?就是要有一个构建化的思想。很多东西是用集成的思想来做。我认为在中国这个问题比较大,开发人员喜欢自己从头到尾做。实际上这是一种观念上的误区。现在特别强调团队互相沟通。


孟岩:我想问Gosling博士一个问题,您过去的很多同事,都是业内比较有名的天才任务。比如说Joy。您接触过很多这方面的传奇人物,您认为在这些人身上有什么是共同点?您对年轻人有什么建议?
Professor Liu:还要一步一个脚印,特别是在编程的时候,初学的时候要给自己树立自信心。不怕有错误,有错误要一查到底,最后一个个成功地做出来。找错我认为是在软件行业里非常宝贵的经验,是一个财富。年轻人应该认识到这点。只有找到人家的错误,你才能有一些经验,你才能做得更好。我认为这些方面都是年轻人应该注意的东西。
主持人(熊节):刚才柳教授提到开元的重要性,我看到中国的企业,绝大多数的开发者对开元感兴趣,但不知道怎么参与进去。包括在国际上技术社群的掌握,他们也很感兴趣,但不知道如何参与进去。请Gosling给他们一点建议。
James Gosling:比如说要好奇,对一件事情都要充满天真的好奇心,还要勤奋的读书,还要感觉到半夜里突然想到一个谜要解开,如果不能解开都不能睡觉。如果真的从中找到解决的办法,会得到巨大的乐趣。还要永远学习,我自己到现在还想做一个研究生。

发表评论 0条】
其他文章
相关文章
最近评论
正在载入评论列表...
热点评论

    热点新闻
    最新资源

    最新招聘更多
    精彩视频
    精彩专题


     
    网站简介广告服务网站地图帮助联系方式诚聘英才English问题报告
    北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号 世纪乐知(北京)网络技术有限公司 提供技术支持
    Copyright © 2000-2008, CSDN.NET, All Rights Reserved