美文网首页
JAVA 33年围剿与被围剿

JAVA 33年围剿与被围剿

作者: KenChen_939 | 来源:发表于2024-09-05 14:47 被阅读0次

写在前面 编程简史 JAVA 33年围剿与被围剿

public class Main {
    public static void main(String[] args) {

        System.out.print("Hello and welcome!");

    }
}

java,全球最流行,最广泛使用的企业级编程语言,无论是政企、银行还是大型企业。无一例外都是使用java开发项目,今天的java俨然成为了软件帝国。可是为什么是java,java是如何发展起来的。
时间线:
1991年,Sun公司启动了Green计划,这个计划的目标是为各种家庭设备开发一种跨平台通用的系统。该计划由工程师詹姆斯·高斯林主导。高斯林也就是java之父,国内开发者将他亲切的称呼为“高司令”。此时在电器设备CPU种类繁多,主流的开发语言是C++,然而C++代码只能适应特定的平台例如编译后生成.exe文件只能在windows上运行不能再unix上运行。如果希望达到跨平台效果,需要为不同的平台创建编译器,而创建编译器的工作量是巨大的。于是高斯林提出并开发了一套新的开发语言Green Talk,随后Green Talk更名为Oak。之所以叫Oak这个名字是因为高斯林当时的办公室窗外有颗橡树(Oak)。还好树上没有蛇,不然就得叫Python(蟒蛇)了。Oak能够实现跨平台运行得益于JVM,即java虚拟机,与编译器不同的是Oak代码并不直接编译成机器码,而是编译成字节码,运行时由jvm对字节码进行解释运行,这样一来,只需要为不同的平台开发一次虚拟机,就可以实现跨平台的效果。这就是java的“一次编写,到处运行”的理念起源。Oak沿用C++的语法结构,但在C++上做了大量的改进,比C++更简单易用,同时增加了垃圾回收机制,面向对象等特性。

1992年 sun公司当时的主营业务是Unix服务器和工作站等硬件设备,green计划只是sun公司一个普通的项目组,sun公司想把项目组解散掉。于是失落的高斯林准备离职不干了。

1994年 Mosaic浏览器发布,也就是网景浏览器。这是浏览器的鼻祖。此时的网景浏览器只能展示静态文字和图片。而网景浏览器的拥有者网景公司希望在浏览器上也能运行一些程序,但一时找不到合适的语言,请注意,此时javascript和flash还没有诞生。sun公司创始人之一、终端编译器VI的作者比尔·乔伊敏锐的察觉到Oak语言的跨平台性非常适合这种场景,于是决定将重心转向网络,鼓励高斯林继续开发。并推出了第一个用Oak编写的Web浏览器WebRunner,WebRunner除了渲染HTML外,还支持在浏览器直接运行Oak小应用程序。也就是java Applet(java图形化开发)。类似于后面出现的flash。

1995年 sun公司决定发布Oak,但是此时Oak商标已经被一家硬件公司注册了,又不想用回“Green Talk”这个名字,于是他们取了新的名字“Java”。这个名字的灵感来源于高斯林当时眼前正好有一杯爪哇岛产的咖啡。随后sun公司在sun world大会上对外发布了java,这次发布是空前成功的,IBM、惠普、网景和微软等各大公司纷纷停止了自己的相关开发项目。购买了java使用许可。用来开发自己的产品。同年网景宣布将在网景浏览器中支持java,此时微软购买许可,瞄准的是网景浏览器。随后开发了IE浏览器,内置java环境。通过windows操作系统捆绑IE浏览器,使得java迅速扩大市场占有率。

1996年 sun公司发布了第一个jdk,即JDK1.0,这一年10个最主要的操作系统供应商包括windows申明将在其产品中嵌入java环境,同时越8.3万个网页用了java技术来制作。java的推出大受欢迎。同时,微软已经意识到随着java生态的发展,必然会把windows操作系统推向边缘,失去统治地位。于是微软在java的基础上,推出了J++。但是这也导致了J++和java互不兼容。J++开发的程序只能在widnows上正常运行。并且微软在windows98,IE4中搭载这个魔改后的java。目的是与java争夺主动权。重新建立windows的封闭生态。这不仅违反了java授权协议,同时也违反了java开放技术的初衷。

1997年 java1.1发布,这一年java社区成员超过十万。这一年sun公司也提起了对微软的诉讼。

1998年 jdk1.1下载量超过200万次。此时java的主要应用是网页及一些移动设备,例如雷电。java虽然成为了最广泛使用的编程语言,但都是为他人做嫁衣。随着flash的发展,java applet也逐渐被弃用。但这是一种商业策略。通过低价甚至免费、开放的技术来构建技术生态,占住用户群体后再推出商用服务。于是同年推出了j2EE(企业版),J2SE(标准版),J2ME(微型版)。标准版加点功能等于企业版,阉割的标准版加点功能等于微型版。

1999年 sun公司借鉴了PHP等脚本语言的思想,推出了jsp。jsp是一种用于开发动态web页面的技术。允许开发人员在html页面中嵌入java代码。jsp的出现极大的促进了基于java web应用程序的开发。使得开发人员能够更加高效的创建动态web页面。同年随着jsp技术的发展,继续一个能够运行jsp的容器,于是apache基金会发布了tomcat
这一年为了抗衡java微软推出了c#,

2001年 诺基亚宣布到2003年将出售一亿部支持java的手机。同年hibernate发布,他是一个开源的orm框架,也就是操作数据库的框架。他通过将java对象映射到数据库表,使开发人员可以通过面向对象的方式来处理数据。而不需要关心底层的数据库操作。使java的开发者大大简化工作量。
IBM公司发布Eclipse,Eclipse是用java编写的用于开发java程序的集成开发环境(IDE),在很长一段时间内,Eclipse是java开发者唯一的IDE。直到被IDEA逐渐取代。这一年呢,sun公司和微软的诉讼达成和解,微软不得对java语言进行改动,停止J++项目,并赔偿sun公司2000万美元。微软充分演绎了什么是叛逆。既然J++不让用,那JAVA也别用了。于是年底推出的windowsXP和新版本IE浏览器时不再搭载java环境。用户如果使用java软件需要自行安装java环境。自己的系统自己决定搭载哪些默认环境,这无可厚非。可当时已经有大量的用户习惯了开箱即用的java程序。微软的行为无异于在逼迫消费者二选一。随后微软斥巨资开启了.NET计划,以sun公司为首的十几家企业成立了自由联盟来对抗.NET计划。

2002年 sun公司再次向法院提起诉讼。起诉微软触犯反垄断法。

2003年 sun公司CEO用十几年的积蓄梭哈打造了自主标准的服务器和操作系统。遭到了IBM、微软等厂家的低服务器的围剿。导致三年内sun公司丢失了三分之一的市场份额。营业额猥琐了48%。再也无力与巨头抗衡。

2004年 罗德·约翰逊发布了Spring Framework。它是一个轻量级开源框架。他的出现标志着java开发进入“spring全家桶”的时代。同年jdk1.5发布,这是jdk第二个里程碑式的版本。为了表示这个版本的重要性,jdk1.5改名为jdk5。随后maven发布,maven是一个流行的项目管理工具,它提供了一种标准化的方式来构建,发布和管理java项目的依赖关系。这一年四月2日,sun公司和微软达成和解,约定十年内互不起诉。

2006年 springMVC随Spring2.0发布。java web开发热度达到新高潮。随后sun公司宣布java正式开源。这一年是java发展的巅峰。几乎所有主流手机都搭载java环境。这类手机被称作半智能机,例如诺基亚手机里搭载的坦克大战游戏,三国无双也就是那个流量5元30M的时代。

2007年 使用java语言开发的安卓系统发布。

2010年 oracle正式收购sun公司,java正式进入oracle时代。oracle对谷歌提起诉讼,指控谷歌在开发安卓系统时未经许可使用了javaAPI,谷歌将面临88亿美元的赔偿,这个金额正好是oracle收购sun公司的费用。同年java之父高斯林从oracle离职。

2014年 java8发布 ,这是java第一个长期支持版本。超长的支持周期使得该版本成为了广大企业的选择。在2023年前一直是使用占比最高的版本,于是江湖上也就有了你发任你发,我用java8的那句名言。同年SpringBoot发布,在spring的基础上再一次简化了开发流程。

写在后面
24年开始不少人对java的未来产生担忧,认为java本身比较臃肿。在云原生的时代,一次编写,到处运行的优势更是荡然无存。
甚至从启动、执行效率上还成为了劣势。随着两个00后语言Go、Rust越来越受欢迎,以及部分企业项目开始迁移至Golang。Java开发者难免会深感焦虑。可是回顾java的历史。这些危机不过时java围剿与被围剿的众多事件中的冰山一角罢了。正如高斯林所说:“现有的解决方案无法满足需求时,那就设计一个新语言”
一个新的语言的诞生是对前一个语言的补充,并不是为了取代谁,如果能够取代,那么C++最应该被java取代。可事实是C++依然好好的。java的这些问题确实客观存在,包括高斯林本人也感慨希望简化java
但是决定一门语言未来的不仅仅是技术特点,更重要的也容易让人忽视的是开发生态,无论是java自身,还是一系列工具、框架、库。几乎都是由大型企业主导研发并对外开放使用。这些技术是经历过千锤百炼的。稳定可靠的。这些品质在大型项目尤其是国家级项目上线的尤为重要。加上java稳定的版本发展,使得java生态没有因为版本更替而产生割裂。进而沉淀出庞大和多样化的生态系统。几乎涵盖了所有领域和应用场景。是为数不多的通用、标准的工业语言。也正因此,在企业级软件领域java依然拥有无可撼动的地位

相关文章

  • 围剿与反围剿?

    广东商学院,最近因为外卖问题上了热搜。 学校禁止外卖入内,但外卖需求不少,于是保安跟外卖小哥发生了冲突。 校方出于...

  • 围剿

    一剑一心傲群雄,无人不慕李骁桐。 敢同恶鬼争高下,愿为一方护苍穹。 此时的李骁桐正独自一人站在船头,船速极快,萧风...

  • 围剿

    三国曹操率83三万大军围剿刘备,被孙刘不到十万联军一把火击垮,说得是天时地利人和,以弱胜强,绝处逢生最佳的战例。 ...

  • 被围剿的我们

    前几天说了和菜市场“供应商”(商贩)的故事,这两天去买菜冻品店老板愁眉苦脸,他们家生意还不错的呀,是为什么呢?寒暄...

  • 读毛年谱(042)红军打怪升级路:不为人熟知的4次粉碎“进剿”

    井冈山的斗争,最为人熟知的是五次反“围剿”。第五次反“围剿”没有成功,导致长征。 在“围剿”,还有两种形式的进攻:...

  • 上界审判官 ( 9 )围剿与反围剿

    “这届的小伙子们,我是杨潇月,你们中间有一个银发小男孩是我的弟子哦。”这条突如其来的世界公告让整个极乐之地都兴奋...

  • No11  从十万、百万到千百万

    第一次围剿失败后,1931年4月,蒋介石立即组织了第二次围剿。毛泽东同志作《渔家傲 反第一次大围剿》: “...

  • 反围剿

    2019.4.23日听胡中海老师主播长征解密档案,蒋介石四次围剿。 摘抄胡老师语—— 人生路处处有围剿, 你...

  • 围剿(原创)

    文/王云昌 2020.01.28 疆域上空 万籁俱寂 天,飘落着忧伤的泪花 在天穹的故事里 少了大地的浓妆,媚眼 ...

  • 世界史诗长征(二)

    世界史诗长征(二) 一、长征序幕:前四次反“围剿”的胜利与第五次反“围剿”的失败 从1933年9月25日开始,...

网友评论

      本文标题:JAVA 33年围剿与被围剿

      本文链接:https://www.haomeiwen.com/subject/vuzrljtx.html