Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

漫画 | Java之父——Java语言的诞生! #18

Open
meibin08 opened this issue May 17, 2021 · 0 comments
Open

漫画 | Java之父——Java语言的诞生! #18

meibin08 opened this issue May 17, 2021 · 0 comments
Labels
漫画程序员 漫画解读职场风云,执笔演绎程序人生

Comments

@meibin08
Copy link
Owner

画漫画的苏南 , Java语言的诞生

原文首发于:漫画 | Java语言的诞生!
提示:如github图片加载过慢,请点 ☝️ 原文链接阅读哦~


互联网诞生,从最初的应用于军事领域为目的开创,到如今人人都触手可及,至今已有半个世纪之久。

说到互联网,自然离不开程序员和编程,而在众多编程语言中,Java语言一直是名列前茅之一, 对互联网的发展更是做出了巨大的贡献,使用其作为看家本领的程序员也是千千万.

历经颇多曲折,才迎来光明的Java语言,作为一名使用者的你,是否对它的诞生/历史发展进程、背后的创造者( Java之父),有着很多的疑惑呢?到底是一个什么样的人,才能写出如果优秀的语言?

今天,本文将用漫画的形式带你倒回历史的长河,一起探索Java语言起起伏伏的诞生历程及Java之父的成长~

PS: Java之父,人物主人公名叫:James Gosling,统一以中文名:詹姆斯.高斯林称呼.

这是苏南的 第17篇 原创漫画推送
记得点个赞,支持哦,感谢~~~

画漫画的苏南-程序员
画漫画的程序员-苏南

14岁的时候,中学组织到附近大学参观(这是他第一次正式接触编程),调皮的高斯林,留了个心眼记住了大学计算中心的门锁密码,从此开始偷偷地溜进计算中心,学习计算机编程。据说一年后,大学的天文系招他当了一名临时编程员(兼职),编写计算机程序来分析卫星天文数据。

程序员漫画-苏南

中学时期的高斯林,有一个“逃课”的习惯,这一习惯一直被高斯林从高中带到大学,高斯林在大学时期也爱逃课,只要是他觉得没有意义的不感兴趣的课他都不去上,但这也导致高斯林大学险些毕不了业。

在卡尔加里大学本科毕业后的高斯林又准备攻读研究生(大学都差点毕业,还有勇气读研,也是不得不佩服啊),幸运的是高斯林竟然被卡内基梅隆大学录取。而且卡内基梅隆大学每年只录取1名学生,对于本科都险些毕不了业的高斯林来说无疑是幸运至极。

不风趣青年-苏南

时间过的很快,高斯林1983年获得了美国卡耐基-梅隆大学计算机科学博士学位,博士毕业后,詹姆斯·高斯林 正式开始自己的职业生涯…

漫画程序员-苏南
不会画青年-苏南

詹姆斯·高斯林进入Sun后,前后差不多花了五年的时间来领导开发的和OS2很类似的Sun NeWs窗口系统,尽管得到技术界的好评,却未能变成流行的产品。当时他还是第一个用C实现的EMACS的所见即所得文本编辑器COSMACS..

17-07

这一现状一直持续到1990年,才得已改变,此时已是竞争非常激烈的软件开发时代,软件设计师一直在试图预测未来软件或者技术的发展趋势,Sun公司也不例外 ,1990年年末 Sun公司预料嵌入式系统将在未来家用电器领域大显身手。于是成立了一个软件设计团队,准备为下一代智能家电(电视机、微波炉、电话)编写一个通用控制系统

17-08

计划成立之后,进入开发周期,该团队最初考虑使用C++语言,但是很多成员包括Sun的首席科学家Bill Joy,发现C++和可用的API在某些方面存在很大的问题。而且工作小组使用的是嵌入式平台,可用的系统资源极其有限。并且很多成员都发现C++太复杂,以致很多开发者经常错误使用。而且C++程序过于复杂和庞大,缺少垃圾回收系统、可移植性、分布式和多线程等功能,,另外由于消费电子产品所采用的嵌入式处理器芯片的种类繁杂,如何让编写的程序跨平台运行成了当时最大的难题。

17-09

说干就干,优秀的人总是如此,看不惯别人,就自己动手创造,时间过的很快,转眼到了1992年的夏天,此时的Green计划已经完成了新平台的部分功能,包括Green操作系统。新语言的程序设计、类库等。

新的语言开发出来后,又迎来了一道新的难题,它叫什么呢???

在这一点上,高斯林充分发挥了自己的想象,取了一个名字叫做:C++--,意思是:这种语言在C++的基础上,增加了很多新的、好的、有用的功能(++),抛弃了C++中很多旧的、不好的、不实用的功能(--),从这里也可以看出,高斯林 对 C++ 是多么的厌恶。不过,这名字实在是让人不敢苟同,相信除了高斯林本人之外,应该是不可能有第二个人喜欢这个名字的。

果不其然,在经过了漫长激烈的争论后,高斯林最终被迫屈服,将它命名为 “Oak”(橡树),以他的办公室外的橡树命名,自此新的语言最终被敲定了叫:“Oak”.

17-10

也是在同年11月,Green计划被转化成“FirstPerson有限公司”,一个Sun公司的全资子公司。

然而,事情发展并不顺利,FirstPerson团队致力于创建一种高度互动的设备。当时代华纳公司发布了一个关于电视机顶盒的征求提议书时,FirstPerson团队改变了他们的目标,作为对征求提议书的响应,提出了一个机顶盒平台的提议。但是有线电视业界觉得FirstPerson的平台给予用户过多的控制权,因此FirstPerson的投标败给了SGI。同时,3DO公司另外一笔关于机顶盒的交易没有成功。此时,可怜的Green项目几乎接近夭折,甚至Green项目的一半成员也被调到了其他的项目组,“ Oak”从此被搁置了下来.

17-11
Java青年-苏南

圣经 》中也有一句这样的话:“当上帝关了这扇门,一定会为你打开另一扇门”,是的,事情的再次转机,发生在1994年夏天,互联网和浏览器(万维网)的出现不仅给广大互联网的用户带来了福音,也给Oak语言带来了新的生机。詹姆斯·高斯林 立即意识到,这是一个机会,于是对Oak进行了小规模的改造,到了1994年秋,小组中的Naughton和Jonathan Payne完成了第一个Oak(Java)语言的网页浏览器:WebRunner.Sun公司实验室主任Bert Sutherland 和技术总监Eric Schmict 观看了该浏览器的演示,对该浏览器的效果给予了高度评价。
17-13

Sun公司认为这确实是个非常好的契机,准备加强完善投入市场,然而此时的Oak这个商标已经被注册,于是 Sun 只得将Oak更名,那么叫什么呢?

我所了解的资料中Java名字的由来好几个版本,每个版本的剧情都非常的精彩,据说当时因为 Oak被注册,重新想名字时,大家又吵的不可开交……

高斯林更是想圆了自己  C++-- 的梦……
不搞事青年-苏南
17-15

说明:Java是印度尼西亚爪哇岛的英文名称,因盛产咖啡而闻名。国外的许多咖啡店用Java来命名或宣传,以彰显其咖啡的品质。后来Java语言中的许多库类名称,多与咖啡有关,如JavaBeans(咖啡豆)、NetBeans(网络豆)以及ObjectBeans (对象豆)等等

就这样,在一次偶然的喝咖啡的下午,一个即好听又好记、具有强大的生命力的编程语言Java诞生了、在一片混乱中诞生了.

同年年底(1994),高斯林参加硅谷召开的“技术、教育和设计大会”。他报着试一试的心情向与会者演示了Java的功能。他点击了网页上的一个静止的分子结构图标,一条命令通过互联网送到了几百英里外的网站,下载了一段Java小程序,在本地工作站上开始执行。在几秒钟时间里,原本静止的网页上,一个分子图像以三维动画的方式转了起来。

17-16

在看完他的演示后,“哇…!”,全会场的人都沸腾起来,他听到了全场观众的赞叹声!!

17-17

参会后不久,硅谷最大的报纸《圣荷西信使报》在头版刊登了一篇专文,“为什么Sun认为一杯热咖啡能让你鼓足精神”。从文章见报开始,公司市场部人员的电话响个不停。紧接着没隔几天,几乎全美的主要报刊杂志都刊登了Java的报道。

17-18

自此,Java算出名了,成功打响了它的第一枪!

此时Java1.0版本已经可以提供下载,但是Java和HotJava浏览器的第一次公开发布却是在1995年3月23日SunWorld大会正式对外宣布。1995年5月23日,Java语言1.0稳定版本正式发布,口号是"一次编写,到处运行(Write once,Run anywhere)",跨平台运行,这也标志着Java语言的正式诞生,随后Sun公司直接把Java放到互联网上,免费给大家使用,甚至连源代码也不保密,也放到互联网上向所有人公开。

几个月后,更让人都吃惊的事情发生了:Java成了互联网上最热门的语言。竟然有10万多人次访问了Sun公司的网页,下载了Java语言。然后,互联网上立即就有了数不清的Java小程序项目、,演示着各种小动画、小游戏等。

17-19

如果说Java语言诞生之前,互联网的网页实质上就像一张纸,不会有任何动态的内容。那么有了Java语言之后,浏览器的功能被扩大了,Java程序可以直接在浏览器里运行,可以直接与远程服务器交互:用Java语言编程,可以在互联网上像传送电子邮件一样方便地传送程序文件!

至此,Java语言的诞生部分就到这里结束了。时间回到2021年的今天,java已经走过了近30年,互联网快速发展它可以说是功不可没。

以下是它的 迭代史

  • 1995年5月23日,Java语言诞生

  • 1996年1月,第一个JDK-JDK1.0诞生

  • 1996年4月,10个最主要的操作系统供应商申明将在其产品中嵌入JAVA技术

  • 1996年9月,约8.3万个网页应用了JAVA技术来制作

  • 1997年2月18日,JDK1.1发布

  • 1997年4月2日,JavaOne会议召开,参与者逾一万人,创当时全球同类会议规模之纪录

  • 1997年9月,JavaDeveloperConnection社区成员超过十万

  • 1998年2月,JDK1.1被下载超过2,000,000次

  • 1998年12月8日,JAVA2企业平台J2EE发布

  • 1999年6月,SUN公司发布Java的三个版本:标准版(J2SE)、企业版(J2EE)和微型版(J2ME)

  • 2000年5月8日,JDK1.3发布

  • 2000年5月29日,JDK1.4发布

  • 2001年6月5日,NOKIA宣布,到2003年将出售1亿部支持Java的手机

  • 2001年9月24日,J2EE1.3发布

  • 2002年2月26日,J2SE1.4发布,自此Java的计算能力有了大幅提升

  • 2004年9月30日18:00PM,J2SE1.5发布,成为Java语言发展史上的又一里程碑。为了表示该版本的重要性,J2SE1.5更名为Java SE 5.0

  • 2005年6月,JavaOne大会召开,SUN公司公开Java SE 6。此时,Java的各种版本已经更名,以取消其中的数字“2”:J2EE更名为Java EE,J2SE更名为Java SE,J2ME更名为Java ME

  • 2006年12月,SUN公司发布JRE6.0

  • 2009年12月,SUN公司发布Java EE 6

  • 2010年11月,由于Oracle公司对于Java社区的不友善,因此Apache扬言将退出JCP[14]

  • 2011年7月28日,Oracle公司发布Java SE 7

  • 2014年3月18日,Oracle公司发表Java SE 8

  • 2017年9月21日,Oracle公司发表Java SE 9

  • 2018年3月21日,Oracle公司发表Java SE 10

  • 2018年9月25日,Java SE 11发布

  • 2019 年 3 月,Java SE 12发布

  • 2019 年 9 月,Java SE 13发布

  • 2020 年 3 月,Java SE 14发布

  • 2020 年 9 月,Java SE 15发布

  • 2021 年 3 月,Java SE 16发布

  • 2021 年 9 月,Java SE 17 (LTS)发布

Ps: 版本史摘自 维基百科

编后

Java 名称的真正含义是什么呢?当你看到它的 logo 时,你就会明白。他将 Java 语言比喻成:奉献给世人一杯热气腾腾、芬香四溢的咖啡。咖啡是全球最流行的饮料,James 将Java 语言比喻为一杯咖啡,可见他对 Java 语言是多么的自信。

参考资料

https://zh.wikipedia.org/wiki/Java

https://blog.csdn.net/wxb141001yxx/article/details/80786680

https://zhuanlan.zhihu.com/p/352930048

文中部分素材来源网络,如有侵权,请联系删除

本文系 “ 画漫画的程序员 ” 原创
转载请先微信联系苏南 (su-south)授权,并标明出处!

撰稿:苏南

插画 / 排版:苏南

往期回顾

用漫画解读前端技术,执笔演绎程序人生,愿吾手中笔,能博君(卿)一笑

更多精彩,欢迎关注我们 -> 公众号: 画漫画的程序员

本文首发于公众号:画漫画的程序员

链接:https://mp.weixin.qq.com/s/HTPPrlyBrc7pB9yEDKnKcA

转载请联系微信:su-south 授权

用漫画解读前端技术,执笔演绎程序人生,愿吾手中笔,能博君(卿)一笑

@meibin08 meibin08 added the 漫画程序员 漫画解读职场风云,执笔演绎程序人生 label Jun 28, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
漫画程序员 漫画解读职场风云,执笔演绎程序人生
Projects
None yet
Development

No branches or pull requests

1 participant