这里我们简单介绍一下Java的由来以及发展简史,这些内容仅仅是作为Java编程学习的一个开篇罢了。跳过这部分内容,对你学习Java编程是不会有任何负面影响的。如果对Java的一些相关历史“八卦”感兴趣的话,可以作为消遣的资料来读一读,加入没什么兴趣,完全可以跳过去看接下来的内容了。
Java语言是由Sun公司设计发明,基础源自于C++语言。时间要追溯到1991年,Sun公司准备设计一个新的编程工具,这个项目由Patrick Naughton、Mike Sridan以及后来对Java的发明产生决定作用的人物——加拿大人James Gosling,这个前IBM工程师组成。据说当时小组成员都对C++语言非常熟悉,同时也希望吸引当时数量庞大的C++程序员族群,由此决定选择以C++语言为基础,来设计发明一种新的语言。所以Java在很多方面是和C++非常相似的,事实上很多Java领域的“大牛”们,也同时是C++领域举足轻重的人物(比如Java编程思想的作者bruce eckel),C++程序员也可以非常容易的转为Java程序员。Gosling在Java的发明过程中的决定性作用,也为他赢得了Java之父的称号。
如果你对Java略有了解的话,就知道现今Java在大型企业服务领域占有者统治级的地位,主要为企业级软件开发提供技术平台,但是和当初Java设计的初衷比较起来确实南辕北辙。Sun公司发明Java的原本目的是期望引发数控消费电子设备和计算机方面的巨潮,为数控消费电子设备的软件开发提供一个新的可选择的技术平台。并且在1992年夏天,一个演示产品终于浮出水面—一一个手持家庭娱乐设备遥控器,它有一个触摸屏,以动画作为交互方式。日后大名鼎鼎的Java吉祥物Duke在这个展示品中首次出现,它向人们挥手致意并翻着筋斗。设备命名为*7(Star 7),源于绿色小组的办公电话系统拥有的一个功能——可以从任何外设来应答你的电话。
在这里,Duke实际上 是*7的一个代表——一个可以为用户做事情的软件。而*7能够控制很多娱乐平台及设备,原因就是这台设备运行在一种全新且独立于处理器的计算机语言上,这在当时可是一个了不起的成就,这是第一个独立于处理器的计算机语言,就是我们要学习的Java语言,不过那时候它还不叫Java,它的名字叫做“Oak”——据说源自一棵伫立在Gosling窗外的橡树。
但是尽管Java,嗯,应该叫Oak,看起来是那么先进优秀,但是在商业市场方面的推广确实不尽如人意。它的发展遇到了瓶颈。也许是命中注定Java注定要在软件领域历史上留下浓重的一笔,它并没有像很多别的计算机语言一样消失,而是在一个历史契机中打了一个漂亮的翻身仗,一举奠定了在计算机语言中的霸主地位,甚至把它的“生身父亲”C++挤下了当时的龙头宝座。
这个历史契机就是互联网热的到来。不错,上世纪九十年代初,互联网热的兴起,对软件的研发模式带来新的要求和挑战。Java研发小组也决定将目光放在了互联网上。当时看起来是那样的巧合,当初Java设计的种种特性,仿佛就是依照互联网的模式、对计算机编程语言的要求来设计的,是那样的贴合。很快的,Java项目组在当时风头正劲的Mosaic浏览器基础上完成了一个基于Java技术的浏览器“WebRunner”,它也就是后来为我们所熟知的HotJava浏览器的前身。虽然这个产品还只是处于Demo版,但是,它的出现已经给人留下了深刻的印象:通过applet,它第一次给人实现了可动的网页(不要感到疑惑,当时的互联网可没有现在这样丰富多彩。互联网的各个网站只是一些静态HTML文档的集合罢了,根本没有什么与用户交互的功能设计)。
1995年5月23日, Sun科技部主管John Gage 和Netscape创始人及副执行官Marc Andressen 登上讲坛向Sunworld 的听众宣布Java技术正式诞生,并将其纳入Netscape Navigator这个互联网导航器。当时整个Java技术团队(仍未独立)人数不超过30人,正是这个最初的小团队创造并哺育了这一将改变计算机领域的伟大技术。
1996年初,Sun发布了Java第一版,作为一门开发语言的Java,在它的第一版中就给人留下了强烈的印象。Java的拥趸们迅速增多,很快发展壮大起来。
1998年,在JavaOne大会上,Sun宣布了即将发布Java 1.2版本。并于同年12月发布了Java 1.2,这是Java发展中具有重要意义的一个版本。同时,Sun公司将它的名字改称“Java 2软件开发工具箱1.2”(Java2 Software Development Kit,1.2),它和它的后续版本也常常被称为“Java2标准版(J2SE,Java2 Standard Edition)”,同时,在标准版(Standard Edition)之外,还推出了用于嵌入设备编程的“缩微版(Java2 Micro Edition)”和用于服务器端企业级处理的“企业版(J2EE,Java2 Enterprise Edition)”。在此基础上,随后推出了1.3和1.4版。不过在Java 1.5版本发布后,Java版本的叫法又有了改变,改为JavaSE *、JavaEE*、JavaME*(星号为版本号)。Java5是Java语言在语言语法级改变非常大的一个版本,这也许是Sun公司改变其版本号叫法的原因之一。目前最新的Java版本为Java7(预览版),这也是Sun被Oracle收购后发布的第一个版本。
如今已经十几年过去了,Java也从最初的最初的丑小鸭,长成了今天的的白天鹅。Java已经不是单纯的编程语言,它已经发展成了 “一种计算语言、一个平台、一个网络计算的架构(Sun首席执行官:Mac)” 。而且虽然Sun是Java语言的发明者,也是所有者,但是Java从来不是Sun公司一个人在战斗,JCP(Java Community Process)组织中的各大IT厂商在其中的努力不比Sun要少,比如Oracle、IBM、BEA,还有Apache社区,没有他们,Java也不可能有今天如此辉煌的成就。比如如今大家最常用的Java开发工具Eclipse,就是IBM公司向开源社区捐助的。
如今Sun公司已在2009年被Oracle公司收购,自然Sun公司大量影响IT界的技术产品也归属于了Oracle。比如Solaris、GlassFish、Mysql(这个数据库大家应该很熟悉吧,当时Mysql被sun公司收购的时候,谁能想到今天它竟会落在oracle手里呢)等,当然还有Java。Java到了Oracle的手里究竟是福是祸?目前还是尚不明朗(据说Oracle拿到Java的商标权后动作很大,比如国内知名的技术社区JavaEye就因为名称问题,又不愿意与Oracle公司妥协,而最终将域名和网站名称改名为ITEye),不过可以肯定的是,Java在软件领域的统治地位短时间内不会发生改变,它依旧是众多编程技术平台中的No.1。
Java编程语言的句法与C++的句法相似,语义则与SmallTalk的语义相似。Java编程语言可被用来创建任何常规编程语言所能创建的应用程序。现在在大中型软件系统中,Java语言占据着半壁江山。虽然这么多年来,Java也曝露出种种的问题和弊端,但它的种种语言技术特性,决定着在今后软件编程应用中,它的地位依旧稳固。相信选择Java是没错的,呵呵。
文章链接:http://liuweimaldini.0fees.net/?p=34