作为一直使用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基础这个系列我也会一直更新下去。

                                                                                     扫一扫  关注我的公众号

这里有你想看的技术文和深度文

欢迎大家来投稿,分享你的文章!

詹姆斯•高斯林/关于Java的故事相关推荐

  1. 回忆詹姆斯·高斯林的Java时代

    近日据国外媒体报道,被中国程序员戏称为"高司令"的Java创始人詹姆斯·高斯林(James Gosling)周一发表博客文章称,他已经加入了谷歌公司. 我想詹姆斯·高斯林大家都很熟 ...

  2. 连詹姆斯·高斯林(JAVA之父)都要被气疯掉的JAVA代码注释

    前言 代码注释作为编程语言的"说明文档",它的作用不容小觑.然而,现实的开发中出现了不少不重视代码注释的行为.比如不写注释又命名的不规范,让人看了一头雾水.又比如有些人利用代码注释 ...

  3. java之父詹姆斯高斯林的传奇人生

    Java之父詹姆斯高斯林的传奇故事 詹姆斯·高斯林 (James Gosling)是一名软件专家,1955年5月19日出生于加拿大,Java编程语言的共同创始人之一,一般公认他为"Java之 ...

  4. 詹姆斯高斯林_詹姆斯·高斯林(James Gosling):Oracle的表现“令人惊讶的是” 用Java

    詹姆斯高斯林 1月27日将是Oracle收购Sun Microsystems的四周年. 从一开始,许多人就怀疑这家前软件公司处理Java的适用性. 而且,随之而来的指称是缺乏对开放源代码的支持以及对遗 ...

  5. 《詹姆斯·高斯林Java白皮书1996自译》00:概览

    JavaSE-AT阿宝哥 敲黑板,说重点,这是Java之父詹姆斯·高斯林原著的自译版,初学者和老鸟混江湖必读! 内容导航: 互动学习钉钉群[30687793] 前言 詹姆斯·高斯林简介 章节目录 1. ...

  6. Java之父——詹姆斯·高斯林

    JAVA之父的由来 1991年,在Sun公司工作期间,高斯林和一群技术人员创建了一个名为Oak的项目,旨在开发运行于虚拟机的编程语言,同时允许程序在电视机机顶盒等多平台上运行.后来,这项工作就演变为J ...

  7. 《詹姆斯·高斯林Java白皮书1996自译》07:多线程

    JavaSE-AT阿宝哥 敲黑板,说重点,这是Java之父詹姆斯·高斯林原著的自译版,初学者和老鸟混江湖必读! 内容导航: 互动学习钉钉群[30687793] 前言 1.Java语言级别的线程 2.集 ...

  8. ***Java之父:詹姆斯高斯林的传奇人生***

    詹姆斯·高斯林 詹姆斯·高斯林 (James Gosling)是一名软件专家,1955年5月19日出生于加拿大,Java编程语言的共同创始人之一,一般公认他为"Java之父". 1 ...

  9. 詹姆斯·高斯林-JAVA之父

    Java之父 目录 名号来由 职业生涯 言论 个人生活 编辑本段名号来由 Java之父高斯林 Java之父--詹姆斯·高斯林出生于加拿大,是一位计算机编程天才.在卡内基·梅隆大学攻读计算机博士学位时, ...

  10. JAVA之父----James Gosling(詹姆斯·高斯林)

    JAVA之父 詹姆斯·高斯林 (James Gosling)是一名软件专家,1955年5月19日出生于加拿大,Java编程语言的共同创始人之一,一般公认他为"Java之父".(百度 ...

最新文章

  1. C#Arcengine通过坐标点生成面(环形)
  2. python __builtins__ complex类 (13)
  3. python3下载文件-使用Python 3从网上下载文件
  4. 55万字,阿里内部最新最全Java面试进阶手册,能横扫95%的面试官
  5. 什么是高并发,如何避免高并发
  6. 怎么把python解释器配置在pycharm中_在PyCharm中配置项目(三):配置Python解释器...
  7. 前端学习(527):等分布局第二种方案
  8. Centos6.5安装FastDFS
  9. Python selenium 滚动页面以及滚动至元素可见(转载)
  10. 解决sockscap64测试代理可以,实际应用无法联网的问题
  11. c语言皮尔森系数程序,皮尔森相关系数(Pearson correlation coefficient)-Go语言中文社区...
  12. Redis秒杀实战:微信抢红包(附源码)
  13. 循环冗余校验码CRC原理与LFSR循环码编码器原理
  14. 阿里云服务器防止ddos被攻击
  15. wiresshark抓包
  16. 快递柜智能柜C语言程序,智能快递柜的设计与实现_李浩然.pdf
  17. Emacs footnote 自动排序
  18. NRF51822---开发板介绍(连载1)
  19. 转载:刚入职美团两个月,就想离职了,每天加班到吐
  20. 穆迪收购风险与合规情报、数据和软件领域的领导者RDC

热门文章

  1. 计算机f2锁定用户,台式电脑键盘被锁住按什么键恢复 点锁定直接锁定计算机
  2. 通用数据权限的设计思路
  3. 在虚拟机上搭建中标麒麟Neokylin6桌面版开发环境
  4. android netd firewall 分析,第2章 深入理解Netd
  5. word目录生成JAVA_aspose word for java添加页码并自动生成目录
  6. navicat 解析sql_Navicat使用详解
  7. php gethostbyname ipv6,支持IPV6方法
  8. CSDN(Markdown编辑)怎样打出各种表情符号和文章目录【图文】
  9. android百度输入法表情符号,表情符号怎么打?百度输入法打表情符号的方法
  10. 图像的特征提取——HOG特征、Harr特征、LBP特征