课时1:认识Java(Java发展简介)
摘要:本次分享的主题是认识 Java ( Java 发展简介),主讲人是李兴华。
Java 是现在最流行的编程语言之一,拥有庞大且完善的生态系统。这个生态系统意味着你可以实现任何需求,尽管某些需求的实现可能不是好的(但是你不可能要求一门语言实现的功能过多,所以有些时候 Java 不擅长的部分会被其他语言所顶替)。
在当前环境中,尽管 Java 、 C 和 C++ 是编程的主流,但它们各有擅长和不擅长的领域。不擅长的地方慢慢发展之后人们会寻找其他替代品。
在国内,Java 之所以被广泛使用,主要原因在于许多大户都在使用Java 来实现其核心业务。无论是大型网络公司还是电商公司,你所熟悉的许多后台系统都是通过 Java 实现的。然而,近年来 Java 的发展也面临一些挑战,包括版权争议等,但这些对普通使用者影响不大。
就好比 Unix 和 Linux 之间竞争了数十年,人们依然按照需要使用它们,并不影响选择。 SCO 公司曾利用 Unix 版权撕咬开源厂商, Oracle 也一样。国内也会出现类似情况,比如膜拜和 ofo 之间的财务揭露,这些都是正常的,所以不用过于担心。如果有一天 Java 突然消失,倒霉的不止一个人,许多大公司也会遭受损失。因为某些系统一旦更换,可能会导致严重后果。因此可以放心使用 Java 。
Java 是由 Sun 公司开发的一套编程语言,但其前身并非 Java 。在1991年,有一个 Green 的项目,这个项目的核心功能在于使用 EMail 家电产品的运行(智能家具)。如今见到的许多智能家居产品,实际上就是 Green 项目最初想要达到的效果。当时选择使用电子邮件的原因是什么呢?在80年代 Email 流行的时候,当时可以发送 Email 是一件很牛的事情。中国联众创始人鲍岳桥曾提到,他是全球最早使用 Email 的数百人之一。
当时可以发一封邮件很火,到现在这一代基本不发邮件了,邮箱中更多停留着广告和垃圾信息。在当时邮箱里出现一封 Email 会很激动,如果是网友发来的会觉得特别幸福。好莱坞当时有部电影《电子情书》一个文艺片,讲述了现实中针锋相对的男女主角通过匿名邮件交流并最终相恋的故事。这就是当时 Email 很火的一个原因。
最初, Sun 公司打算竞争此项目,但后来考虑到 C ++语言的复杂性,所以利用 C +开发出了一套 Oak 平台(即“橡树”),并且利用此平台进行项目竞标,但结果失败了。
Oak 并没有正常发展,其命名源于他的主设计师窗外的一棵橡树(Oak),他累了就观察树木和鸟儿,久而久之就以此命名。当时来讲项目竞标失败,该软件产品逐渐失去了生命力。
但是这个时候,世界上有一个最早的最牛的软件公司诞生了:网景公司(Netscape)。网景公司以其浏览器技术闻名,创造了第一个在一年内成功上市的技术公司神话。
第二家是 bea ,但已经被 oak 收购了,当年也是很牛的。受浏览器技术的启发,推出了 HotJava 的浏览器。有一本书告诉你如何使用浏览器,这本书你会看吗?当初我接触 java 时有一本书叫 Hotojava 指南,发现它和运行环境没太大关系。
后来在1995年5月23日正式推出了 Java 编程语言,并推出了 JDK 1.0开发包。1996年, Java 才开始可以供用户陆续下载使用,并于1997年传入中国。当时, Java 在软件杂志和报纸上频繁出现,尤其是电脑报等。
最初的九十年代买的杂志挺爽的,比如当时一个大众软件全都是玩游戏,基本上网站最初的时候给你一些特别好的资讯,比如说有一些东西,最重要的是有一张光盘,19块八一份光盘,给了很多的开源项目。像最早的腾讯的QQ我就是通过光盘拷出来的。
所以说我对于这些软件的印象还是非常深刻的。这就是Java的基础发展历程。后来之所以不再使用 Oak 而改用 Java ,主要原因是 Oak 无法再申请版权,而 Java 则可以。既然提到了 Java 必须了解一下 Java 的开发公司。
我们之前提到 Java 是由 Sun 公司开发的,那么 Sun 是一家什么样的公司呢? Sun 公司不是太阳公司,而是一家主要从事硬件开发的技术型公司,它并非以软件起家,而是一家硬件公司。 Sun 公司最早的代表性产品是其小型机,这种小型机被广泛应用于亚马逊上。
说到亚马逊应该知道,它在全球范围内都非常知名。亚马逊最初是一家电商公司,但除了提供电子商务产品外,它还出版了许多技术图书。就像现在阿里也有很多人出书一样,亚马逊在早期技术实力非常强,出版了许多经典的技术书籍。往后,亚马逊开始扩展业务,涉足云服务领域。
例如,亚马逊的 AWS 云服务在国外非常流行,包括美国中央情报局(CIA)也购买了亚马逊的云服务。云服务在国外以亚马逊为主导。然而,在国内,我们较少见到亚马逊云服务,更多见到的是阿里云、京东云以及腾讯云等。回到 Sun 公司,其小型机配备了 Solaris 操作系统。 Solaris 操作系统是一种类似于 Unix 的操作系统。
市面上主要有三种操作系统: Windows 、 Unix 和类 Unix 系统,而 Solaris 属于类 Unix 系统。 Sun 公司的全称是斯坦福大学网络( Stanford University Network ),并非“太阳公司”。在90年代末,国内一本电子商务书籍将Sun公司误译为“太阳公司”,这实际上是翻译错误。
关于电子商务,最初是由 IBM 提出的。如今,电子商务已经发展得非常繁荣。早期的第一代电商平台,如京东和卓越,已经逐渐淡出视野。卓越后来转型为中国亚马逊。当当可能还有些印象。或者可以回想一下,已经有多久没有在当当买过书了,又或者有多久没有在卓越买过书了。
在当时提到电子购物,更多指的是当当和卓越这两家平台,后来才逐渐出现了无数小型电商平台。再往后,我们才见到了今天的淘宝。淘宝的崛起正好赶在2003年非典期间,那一年全国笼罩在疫情的阴影下,人们购物不便却又急需购买物品,因此淘宝得以迅速发展。
现在回到电子商务的话题。随着经济的发展,尤其是网络经济的发展,任何经济模式都必然会遇到瓶颈。但是对于90年代末的互联网低潮而言,这是一个严重的伤害。具体来说,这一过程从90年代末持续到2000年初。当时,互联网行业的开发待遇非常高,仅仅会制作网页就能拿到五千元的工资。90年代末到两千年初,月薪五千元的概念已经相当高了。
这一时期对于互联网行业来说是一个低潮期。然而,在这个低潮过程中也出现了一些令人瞩目的互联网神话。例如, Tom 网是由李嘉诚创办的一个网站,由于涉及业务过多且缺乏核心技术力量,最终逐渐衰落。这些商业人士往往在赚足钱后便退出市场, Tom 网是国内一个典型的例子。
此外,国内最著名的事件是新浪和搜狐在美国上市失败,这标志着中国互联网进入了一个低潮期。由于新浪和搜狐的失败,许多人开始认为互联网并非所谓的“金蛋”,而是一个需要重新认识的领域。与此同时,8848网站也逐渐衰落。8848曾是中国互联网的第一颗“金蛋”。
Sun 公司在经历了这一系列发展后,未能恢复其往日的经济实力。最终, Sun 公司被 Oracle 收购。然而,在 Oracle 收购之前,最希望收购 Sun 的实际上是 IBM 。这是因为IBM在其软件产品线中广泛使用了 Java 语言。 Sun 公司并未通过 Java 赚到多少钱,而真正通过 Java 赚到钱的是 IBM 。当然,后来还有 Oracle 通过版权欺诈等手段获利。
总结一句话,当时的 Sun 公司虽然拥有 Java 语言,但在整个发展过程中, Java 更多是作为一种工具存在,基本上处于免费状态。 IBM 通过 Java 赚到了一些钱,而 Oracle 则试图通过版权诉讼向谷歌施压,但发现谷歌难以撼动后,便放弃了这一策略。
这是 Oracle 的整体操作流程。从 Java 的发展历史来看,它的历程相当坎坷。无论这些公司如何折腾,有一点已经达成共识: Java 至今仍然是一种稳定可靠的编程语言,可以承担大型服务器程序的开发任务。这是 Java 语言的现状。
如果我们要探讨 Java 更多需要考虑它的过程。从最初到现在, Java语言在技术上也有了许多不同的发展。最初, Java 主要有三个方向:第一个是 Java 的标准开发,最初称为 J2SE ,后来更名为 Java SE ,它提供的是底层的支持,实现了桌面程序的开发,也就是单机程序。
然而,单机程序的市场份额现在已经不高了。如果以单机程序为例开发游戏可能比开发软件更实用。如今,电脑中的单机软件并不多,例如 Word 、压缩工具等小型工具,但大型单机软件已经没有了。因此, Java SE 主要提供底层支持。
第二个方向是 Java 的嵌入式开发,最初称为 J2ME ,后来更名为Java ME 。嵌入式开发是指 Sun 公司最早希望通过 Java 实现嵌入式系统的开发,例如 Green 项目,旨在通过电子邮件控制家电产品。然而,嵌入式开发的发展被当年诺基亚所主导,后来逐渐被安卓系统取代。然而,由于 Oracle 与谷歌之间的法律纠纷,安卓的发展也遇到了瓶颈。
最终,谷歌推出了自己专属的编程语言 Kotlin 用于安卓开发。虽然这些新语言的出现让人感到有些意外,但它们确实改变了开发格局。
最后, Java 的企业开发版,最初称为 J2EE ,后来更名为 Java EE ,主要用于企业平台的搭建。如今, Java EE 的主要应用领域已经转向互联网平台的开发。在中国,传统的企业平台开发主要由传统软件公司负责,而互联网平台的开发对 Java 技术的要求越来越高,尤其是在处理大用户并发访问的处理能力方面。
因此,今天的 Java 已经不再局限于最初的单机程序开发,而是以企业平台开发为主。