当前位置: 首页 > 学习 > 电脑学习 > 程序设计 > JAVA > 基础教程 > 正文

Java的产生

http://www.zk168.com.cn  招考学习网 2006-4-11 0:57:14
-----------------------------------------------------------[交流]-[打印]-[发送]-[收藏]--
    Java是由James Gosling,Patrick Naughton,Chris Warth,Ed Frank和Mike Sheridan于1991年在Sun Microsystems公司设计出来的。开发第一个版本花了18个月。该语言开始名叫“Oak”,于1995年更名为“Java”。从1992 的秋天Oak问世到1995的春天公开发布Java
语言,许多人对Java的设计和改进做出了贡献。Bill Joy,Arthur van Hoff,Jonathan Payne,Frank Yellin和Tim Lindholm是主要的贡献者,正是他们的贡献使最初原型得以成熟。
    说起来多少有些令人吃惊,Java的最初推动力并不是因特网!而是源于对独立于平台(也就是体系结构中立)语言的需要,这种语言可创建能够嵌入微波炉、遥控器等各种家用电器设备的软件。用作控制器的CPU芯片是多种多样的,但C和C++以及其他绝大多数语言的缺点是只能对特定目标进行编译。尽管为任何类型的CPU芯片编译C++程序是可能的,但这样做需要一个完整的以该CPU为目标的C++编译器,而创建编译器是一项既耗资巨大又耗时较长的工作。因此需要一种简单且经济的解决方案。为了找到这样一种方案,Gosling和其他人开始一起致力于开发一种可移植、跨平台的语言,该语言能够生成运行于不同环境、不同CPU芯片上的代码。他们的努力最终促成了Java的诞生。
    在Java的一些细节被设计出来的同时,第二个并且也是最重要的因素出现了,该因素将对Java的未来起着至关重要的作用。这第二个因素当然就是万维网(WWW)。如果万维网(WWW)的成型和Java的实现不是同时发生的话,那么Java可能保持它有用、但默默无闻的用于电子消费品编程语言的状态。然而,随着万维网的出现,Java被推到计算机语言设计的最前沿,因为万维网也需要可移植的程序。绝大多数程序员在涉足编程领域时就知道可移植的程序像他们的理想一样难以捉摸。
    尽管人们对高效的、可移植的(独立于平台)编程方式的追寻几乎和编程历史一样久远,但它总是让位于其他的更为紧迫的问题。此外,因为计算机业被Intel,Macintosh和UNIX这3个竞争对手垄断,大多数程序员都在其中的某个领域内长期工作,所以对可移植语言的需求就不是那么迫切。但是,随着因特网和Web的出现,关于可移植性语言的旧问题又被提了出来。毕竟,因特网由不同的、分布式的系统组成,其中包括各种类型的计算机、操作系统和CPU。尽管许多类型的平台都可以与因特网连接,但用户仍希望他们能够运行同样的程序。曾经是一个令人烦恼却无需优先考虑的问题现在变成了急需解决的问题。
    1993年,Java设计小组的成员发现他们在编制嵌入式控制器代码时经常遇到的可移植性问题,在编制因特网代码的过程中也出现了。事实上,开始被设计为解决小范围问题的Java语言同样可以被用在大范围的因特网上。这个认识使他们将Java的重心由电子消费品转移到Internet编程。因此,中立体系结构编程语言的需要是促使Java诞生的源动力,而Internet却最终导致了Java的成功。
    正如前面提到的,Java的大部分特性是从C和C++中继承的。Java设计人员之所以故意这么做,主要是因为他们觉得,在新语言中使用熟悉的C语法及模仿C++面向对象的特性,将使他们的语言对经验丰富的C/C++程序员有更大的吸引力。除了表面类似外,其他一些促使C和C++成功的因素也帮了Java的忙。首先,Java的设计、测试、精炼由真正从事编程工作的人员完成,它根植于设计它的人员的需要和经验,因而也是一个程序员自己的语言。
    其次,Java是紧密结合的且逻辑上是协调一致的。最后,除了那些Internet环境强加的约束以外,Java给了编程人员完全的控制权。如果你程序编的好,你编写的程序就能反映出这一点。相反,如果你的编程手法拙劣,也能在你的程序中反映出来。换一种说法,Java并不是训练新手的语言,而是供专业编程人员使用的语言。
    由于Java和C++之间的相似性,容易使人将Java简单地想象为“C++的版本”。但其实这是一种误解。Java在实践和理论上都与C++有重要的不同点。尽管Java受到C++的影响,但它并不是C++的增强版。例如,Java与C++既不向上兼容,也不向下兼容。当然,Java与C++的相似之处也是很多的,如果你是一个C++程序员,你会感觉到对Java非常熟悉。另外一点是:Java并不是用来取代C++的,设计Java是为了解决某些特定的问题,而设计C++是为了解决另外一类完全不同的问题。两者将长时间共存。
    正如本章开始提到的,计算机语言的革新靠两个因素驱动:对计算环境改变的适应和编程艺术的进步。环境的变化促使Java这种独立于平台的语言注定成为Internet上的分布式编程语言。同时,Java也改变了人们的编程方式,特别是Java对C++使用的面向对象范例进行的增强和完善。所以,Java不是孤立存在的一种语言,而是计算机语言多年来的演变结果。仅这个事实就足以证明Java在计算机语言历史上的地位。Java对Internet编程的影响就如同C对系统编程的影响一样:革命的力量将改变世界。
-----------------------------------------------------------[交流]-[打印]-[发送]-[收藏]--
最新入库:
 
·实质、过程及意义——阿多尔诺“否定的辩证法”探微
·从Ontology的译名之争看哲学术语的翻译原则
·论马克思主义哲学经典的解释——解释学方法及其在马克
·中国哲学当前的核心与周边问题
·和合学与21世纪文化价值和科技
·中国文化的和合精神与21世纪
·宗教之间理当相互宽容
·上半个世纪的自由主义
·殷周至春秋时期神人关系之演进
·大学之道:构建以“三纲八目”为核心的道德修养体系
相关内容:
 
·环保企业人力资源开发与管理的实证研究————巨龙公
·重油制气污水处理系统(A/O)技术改造
·英美CPA管理模式及其启示
·改造NERA微波公务信道为国产监控信道
·EAStudio让电子商务网站如虎添翼
·基于PB6和ORACLE8开发“劳动信息管理系统”
·巧解Pretty  Park 病毒一例
·CDMA在中国的应用以及向CDMA2000的过度中的问题研究
·SMA施工控制与现场监理
·浅谈改性沥青及SMA路面平整度的控制
网友点评:
 
会员名称:
密码:匿名 ·注册·忘记密码?
评论内容:
(最多300个字符)
  查看评论
友情提醒:
 1.库中的资料大都来自互联网、网友上传、各类书籍,在录入的过程中难免会出现错误,恳请网
 友来信指正!
 2.如果网友在本库中未能找到所需要的材料,请登陆到我们的论坛《招考学习网》版块!
 3.考友想加入招考学习网的编辑部,请发信到XueXiWang#Gmail.com(#改为@)附带个人简历
 4.如需转载请注明出处及作者,谢谢合作!
 5.如果您有更好的建议或意见请EMAIL:XueXiWang#Gmail.com (#改为@)
 6.凡标题中有注有“[NO]”字样均不含答案且答案整理中.
 7.如本库中转载文章涉及版权等问题,请相关网站或作者在两周内发邮件通知(EMAIL:  XueXiWang#Gmail.com (#改为@))我们,我们接到通知后立即删除该文章及链接!
你问我答 更多>>