作为一直使用Java的开发者,虽然每天朝夕相处,但可能对Java的历史与发展不太了解。有人会惊讶:何必浪费时间去了解这个,这对开发没有用处。但我想说的是,学习知识,应该要构建一个宏观的知识图谱。因为这样你才能知其所以然。
想想一开始你学习计算机课程的时候,是不是一脸蒙蔽,数据结构是啥,操作系统是啥,计算机网络可能算是你听过的词,学这些有什么用?然后现在当你学完这些之后,你是不是才后知后觉,噢,原来是这样。假如当你开始学编程的时候,有人提前跟你说说计算机的历史、网络是什么,你的一次浏览一个网站的流程是怎样的,服务器又是做什么的等等。假如有人给你说一下以上这些宏观的概念,这样你就会对整个计算机行业有一个感性的了解,我相信这样肯定会对你的学习和编程有帮助的。所以基于这点,我在这里会致力于跟大家分享关于Java的基础。无论你是从事后端开发,还是前端开发,亦或是移动端开发,这部分基础知识都是你必须要掌握的。
而今天,决定首先以故事的形式给大家科普一下Java的发展史。
大家好,我的名字叫詹姆斯·高斯林,你们喜欢的也可以叫我昵称“高司令”。嘿,伙计,没错,你们使用的Java就是我创的,因为我是个天才,你们12岁的时候也许在电视看《七龙珠》,而我此时正对着家里的电视进行拆装了。尽管如此,我还是感觉不满足,总想搞点什么出来。
就在我14岁那年,那次参观大学的经历改变了我的一生。我的中学学校组织我们去大学参观,我走闲逛中无意被里面的计算机中心吸引过去,看着那些计算机的显示器上的代码与图案,我感觉到一种神秘感,好奇心让我决定把它们的中心的门禁密码给记住。就这样,往后的日子我都会找时间偷偷溜进去琢磨计算机—学习编程这样东西。
一年后,因为大学的天文系打算要编写一套系统来分析天文数据,所以他们要找计算机系的人来编写,而计算机系的教授知道我现在的编程实力也有一定水平了,所以决定也找上我去帮忙。这就是我人生中第一次参与项目的开发经历了,我感到非常自豪。
此后我更加坚定了要在编程行业干出一番事业的决心,所以在我博士毕业那年,我去了IBM公司,第一份工作是为它们设计第一代工作站,可惜这个项目竟然没有得到那帮领导的重视,我感觉这里不是我实现梦想的地方,所以我跳槽到了SUM公司了。
我果然没有决定错,SUM公司很快便成立了一个研发团队,任命我为负责人,开发一个伟大的产品出来。我当时决定要做一个智能家居的项目,因为当时的主流开发语言是C++,但是如果用C++开发的话,无疑会产生跨平台的问题(就是开发的代码要适应各种不同厂商的芯片,所以要开发几套代码,这样工作量无疑是巨大的)。经过一番商量,我决定率领我的团队开发一套新的语言,还是沿用C++的语法结构,但是我们要摈弃它的缺点与漏洞,终于在最后我们成功开发出来,而我给这个语言起了个名字,叫OaK(因为我无意中看到窗前有颗橡树哈哈)。
此时是1992年,就在我们拿着这套OaK代码与项目给硬件生产商展示的时候,他们并不买账,觉得我们的OaK没名气,赚不了钱,我感到很失望,公司也只能将该套语言搁置。但我没放弃,我一直在维护修改这套语言,我相信总有一天它会发光发亮的。
我们知道硅谷每年都会举办一次全球性的IT展会,展示各种产品,我知道我的机会来了,所以我们决定要参加这次展会,向世界展示我们的这套语言,但此时又发生了一个小插曲,因为我们发现OaK这个名字已经被其他人注册了,不能再继续使用了,所以只能改另一个名字,而此时我觉得是天意,因为我的眼前正好摆摆着一杯咖啡,我灵光一闪,决定就叫Java吧(Java是爪哇岛的名字,盛产咖啡豆)。而此时展出的时间是1995年。
一年后,也就是1996年,我们再次发布开发工具包JDK1.0,这样程序员们都能下载它然后去开发了。1997年继续推出JDK1.1版本,1998年我们发布了JavaEE企业版,我们势如破竹,在1999年发布了JDK2.0版本,而且该版本细分为三个版本,分别是Java2SE(标准版,桌面级开发,CS),Java2EE(企业版,企业级开发,BS),Java2ME(微型版,移动端开发)。而往后的每一年都会继续发布新版本。
而因为我们的努力,在2004年,我们推出了一个里程碑的版本,就是JDK1.5版本,该版本我们进行了大幅的性能改,并且添加了很多新特性,所以该版本也叫Java5。一年后,我们继续发布Java6版本,而该版本也是最经典的版本之一了。
之后SUM公司因为经营不善,被Oracle公司并购,那时是2009年,Oracle公司最终以74亿美金成功收购。但是Java的维护与更新并没有因此而停下,2011年Oracle公司继续发布Java7版本,接着2014年发布Java8版本,而现在很多公司使用的就是Java8。而直到现在,Java的最新版本是Java12了,经历了这么多,Java语言现在依然是世界上最好的计算机语言之一。
虽然,我的故事到这里就结束了,但是Java的发展还在继续中,因为作为程序员的你们,也正在创造这语言的传奇。
而Java基础这个系列我也会一直更新下去。
扫一扫 关注我的公众号
这里有你想看的技术文和深度文
欢迎大家来投稿,分享你的文章!