去年12月Java跌落TIOBE排行榜前三,令许多开发人员大跌眼镜。于是各大社区,发出“Java 已死?”,“Java 正在最后的谢幕”的悲鸣。从11月份榜单来看,Java 相较于 C++ 市场份额,相差已经超过2%,与 .NET 也相差不过1% 。这值得让人深思,但是今天我们换个角度去看Java 和 .Net 这场“世纪之争”。
为什么说这是一场世纪之争呢,我整理了一张早期Java与.Net 的早期发展史,应用软件开发的方向与“时代背景”:
"Oak" 是 Java 编程语言的最早的名字,它在 1991 年,由 Sun 公司的工程师 詹姆斯·高斯林(James Gosling ,后被尊称为Java之父)和他的团队开发的一种新的编程语言。Oak最初是为嵌入式系统的消费电子产品(例如数字电视、机顶盒等)而设计的。
从1991年World Wide Web 的提出;93年第一款图形化网络浏览器的发布问世;再到95年Window 95系统发布,它内置了 TCP/IP 协议。全球电商巨头亚马逊也在94年成立,这象征着互联网浪潮正在悄然兴起,或许詹姆斯·高斯林和他的团队嗅到了 Oak 在互联网应用的前景,于是改造了 Oak 。于1995年5月,Oak 正式改名为 Java 问世。
在当时,微软的主要业务和精力并未放在开发语言和开发生态的建设上,它却在另外一个赛道,如火如荼的进行着疯狂收割:
请收下我的膝盖吧,不得不说俺们村东头王大婶家的母猪,都没有这么高产~
上面说法到此为止。“倘若我拿出这个,阁下又该如何应对呢?”
的确,Java 在桌面应用开发领域相较于 .NET 生态曾经显得相对不那么出彩。尤其是在 Visual Basic 时代,Java 的可视化开发环境相对较弱,Swing 框架的出现并没有改变这一状况。相较于 .NET 提供的可视化设计器和规范化的桌面应用开发经验,Java 在这方面显得有些力不从心。 在桌面应用开发上,Java 生态长期缺乏一个统一的标准和直观的可视化设计器,这使得使用 Java 进行桌面应用开发相对繁琐。
这开发经历应该谁体验谁明白,不过也是一个宝贵的开发经验,可以在简历里留下浓墨重彩的一笔~
命运的齿轮,从来都会眷顾看得清大势者。
互联网的兴起是那个时代的大势,这场数字革命的齿轮烙印出人们新的生活和工作方式。同时20世纪末正是迈入信息时代,企业需求高效、可靠、跨平台的应用来满足日益复杂的业务需求。正是在这个背景下,Java作为一门强大而灵活的编程语言迅速崭露头角,成为企业级应用的不二选择。
同时期的微软正在靠贩卖PC系统的Key,赚的盆满钚满,成就了当时的世界首富。
在一次采访中,有人问比尔·盖茨,如果他在地上看到100美元,他会捡起来吗?比尔·盖茨的回答是否定的,他说他在地上看到100美元的时候,不会去捡,因为对于他来说,时间更宝贵,他可以花更多时间去做更有意义的事情。请收下我的膝盖~
微软的商业帝国,在那个时期的确是及其完美,看似是坚不可摧。最终走向了一个偏离企业、偏离开发者的邪路,似乎没有什么是通过收费解决不了的。
在过去,企业在选择和采用操作系统、软件和其他技术工具时,需要考虑与其相关的成本核算。在微软的生态系统中,许多软件和服务都是商业性质的,并且需要企业支付高昂的许可费用。这些费用可能包括操作系统许可、Office套件、数据库软件(SQL SERVER)、服务器(Windows Server)许可等。
所以,我们再看看另外几条线上的战况。
服务器系统(剑指 Windows NT/Windows Serber):
这一时期,Linux逐渐从一种由爱好者和志愿者推动的操作系统演变为一个具有广泛支持和采用的系统。企业对Linux的认可增加,使其在服务器领域取得了显著成功。同时,Linux社区的发展也为其后续的快速成长和在不同领域的广泛应用奠定了基础。
尤其是到了20世纪末,21世纪初,Linux 尤其是在服务器和企业领域。虽然在桌面市场上,微软Windows仍然占据主导地位,但Linux在服务器和高性能计算领域获得了很大的成功。
妥妥的偷塔成功啊,开源改变世界!这的确就是是蝴蝶效应,在移动互联时代类UNIX操作系统的确给微软上了沉重的一课。
数据库(剑指 SQL SERVER):
这就为早期的 Java 打下了基础,其跨平台特性使得开发人员可以一次编写,多平台运行,极大地提高了开发效率。其强大的面向对象特性和丰富的生态系统,使得Java成为构建大型、复杂、可维护企业级应用的理想工具。互联网企业、金融机构、电商平台等各行各业都广泛开始采用Java来支持其关键业务。
这场“世纪羁绊”的确Java完胜,与其说是 Java 的胜利,不如说是开源生态的胜利!开源的帝国坚不可摧,精心构造的城墙不看一击。
感兴趣的请关注、点赞、分享,进行三连,你的鼓励是我写作的动力。