Java 20年:道路与梦想

互联网与Java的诞生

1995年春天,那是我第一次亲眼见证并体验互联网的魅力,当时网景公司刚刚发布了Navigator浏览器。因为我有C语言和SQL的软件开发背景,所以我立刻问自己——如何进行互联网编程?应该使用哪种计算机语言?虽然这些问题一时还找不到答案,但有一点我非常清楚:我应当投身于互联网,到那里去学习互联网编程。

同样是在1995年,Sun Microsystems公司正式推出了Java 1.0.2版本。我马上就被其简洁的语法及内置的各类网络功能所吸引。当然,我也被其语言扩展性和跨平台能力深深折服。遥想当年,软件工程师们已经被跨平台这一老大难问题困扰了数十年之久,Java则利用虚拟机解决了这个难题。我希望能在DLL、DCOM以及难于使用但又将自己牢牢锁定的其它开发工作之外找到新的编程乐趣。紧接着,我就搬到了硅谷,开始在众多项目中使用Java语言。坦率地讲,Java当时还没能成为主流的开发语言。不过我认为它代表着一种新的趋势。

Sun公司加大了对Java项目的投入,为Java迎来了快速发展期。此后不久,Java 1.1(又一主要版本)发布,让Java的下载量很快就突破了100万。然后微软公司也决定顺应这股潮流,并由此发布了微软的Java语言---Visual J++,而这进一步提升了Java的人气。不过问题来了,微软加入自己的私有扩展的Java语言只能运行在Windows平台之上,而非Linux/Unix环境下,这导致了一场旷日持久的官司,最后微软败诉。不过微软方面并没有因此而放弃努力,他们转而着手开发.Net与Java分庭抗礼。

Java的下一个五年

2001年互联网泡沫破裂,Java语言的普及速度也开始放缓。在这段低迷时期,有一家公司开始成长并在电子商务领域取得了卓越的成绩,它就是eBay.com。我有幸能够在eBay公司领导技术平台的重新设计并根据Java平台对其进行全面调整。值得一提的是,面对C/C++平台的各种挑战,eBay仍然成为发展速度最快的电子商务网站。当时的问题在于,随着网站流量的不断增长,Java语言编写的应用程序能否扛的住?毕竟Java当时的性能很有问题。这一切在调优后能否得到改善?Java在开发效率方面是否有机会压倒其它编程语言?

经过三年的平台重组工作,Java全面地完成了所有的承诺,之前的问题也烟消云散了。到2005年,eBay已经成为全球规模最大的Java业务平台。那时,我们已经全面完成了由C/C++代码库到Java的迁移工作。在此过程中,我们接连经历了从Java 1.1到Java 1.3,再到Java 1.5的几次颇具难度的版本升级。JVM GC算法随着时间的推移而不断改善,Java在eBay的成功已然成为Java在第一个发展十年内出色能力与巨大潜力的最有力证明。

在开源领域的巨大成功

2006年,Sun公司开源了Java。在接下来的十年中,整个开源社区在利用Java构建开源项目方面获得了巨大的推进与发展助力。InfoQ、JUG、JCP等社区赞助方在Java平台与开发的促进方面起到了积极作用。原本的开发者社区逐步成为Java成果的重要载体,并从多个方面推动着Java的发展。开源社区中有越来越多高质量的Java框架出现,然后这些框架吸引了更多开发人员到Java平台中。社区培育出了一系列以Java为基础的工具与框架,使得整个生态丰富多彩。在由Java构建而成的项目当中,最为成功的当数Hadoop技术。Hadoop已经在Java开发者当中获得了极高人气与信赖。Hadoop的大数据概念当前正推动着众多行业寻找新的发展模式。时至今日,Java开源社区中的活跃开发者数量超过100万,全世界Java开发人员的总数更是突破了1000万。

发展的生命周期

如果在诞生后的第一个十年,Java走过了从婴儿到儿童的历程,那么如今的Java已经成为能够独挡一面的成年人,其语言功能已经全面成熟,开发人员拥有丰富而友好的开发环境。在使用Java与基于JVM的其它语言(如Groovy、Scala、Clojure、JRuby以及Jython等)时,开发人员的工作效率要远高于使用其它语言——特别是Java拥有大量开源框架及工具支持。Java在开发后台服务方面一直领先于其它语言,这主要是由于Java代码拥有良好的可维护性与可管理性。在生产环境中,以Java为基础的解决方案拥有运营可追溯性优势以及更出色的社区支持力度。在招聘工程技术人才时,企业往往能够从Java开发者群体中更好地找到应聘对象——得益于Java的庞大开发者群体。

Java的未来二十年

时至今日,Java的身影在设备、云计算以及数据技术领域可谓随处可见。Java对众多行业的发展产生了深远的影响,例如ERP、电子商务、移动、社区、金融、游戏乃至一些我们想不到的领域。虽然自Java面世以来又有众多其它语言陆续出现,但它们在普及程度上仍然无法与Java相提并论。Java对我的早期从业经历产生了巨大影响,在过去二十年中培养出整整一代开发人员,并将在未来继续为新生代程序员们指明发展方向。

尽管当下仍不断有新语言出现,但毫无疑问,未来二十年,Java仍将会是最受欢迎的编程语言。如大家所知,Java不仅仅只是一种主流编程语言,它同时也代表着一整个活跃的生态系统。Java开发者们将自己的聪明才智投入到这个平台上,而平台则回报给他们工作岗位与相应薪酬。要打理好现有的Java解决方案,我们需要Java。而为了顺利推动未来的业务发展,我们必将打造出更多Java应用程序。

随着移动互联网的井喷式发展,市场上出现了非常多的Android应用程序。而其发展依靠的正是Java的强大力量。随着科技的发展,越来越多的物联网设备将在未来几年中与我们见面。而Java也将继续在应用程序及服务的开发当中扮演重要角色,进而通过Android等技术方案实现网络设备互通互联。这种趋势目前刚刚起步并拥有可观的发展动力。随着整套开发平台的成熟与改进,Java必将在未来的技术创新领域找到属于自己的定位。

原文发布于微信公众号 - 携程技术中心(ctriptech)

原文发表时间:2015-05-27

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏人工智能头条

腾讯音视频实验室杰出科学家刘杉:编解码标准永远都有“新一代”

2562
来自专栏PPV课数据科学社区

【推荐】更多数据……巨多数据……大数据!

如果你所在的企业正在利用大数据支撑运营型分析工作,本章讲的正是这时你需要掌握和了解的那些关乎大数据的重要趋势。过去的许多年间,企业积累的数据越来越多。尤其是到了...

2926
来自专栏程序员的知识天地

一位工作8年程序员的心得:小心这种思维正在慢慢地吞噬掉你的前程

不知不觉从事软件开发这个行业里有8多年了,这8年里,每天如同勤劳的蚂蚁般默默地搬砖。曾经年少不懂事,在学校里完成一个简单的在线考试系统,就天真以为自己可以独当一...

1191
来自专栏CDA数据分析师

你适合学哪门编程语言?测试一下就知道!

作者 CDA 编辑团队 本文为原作者原创作品,转载需授权 前言 如果你想开始学编程,面对众多的编程语言那么问题来了,初学者应该如何选择最适合自己学习的语言呢...

3198
来自专栏知晓程序

微信昨晚发布的新能力,王者荣耀的小程序早就用上了

然而,就算大雨让这座城市颠倒,微信也还没下班。果不其然,一个小程序新能力又在夜色中诞生了。

591
来自专栏云计算D1net

一切虚拟化:软件服务是如何吞噬物质世界的?

马克·安德森(Marc Andreesen)曾在2011年说过一句话:“软件正在吞噬世界。”这句话已经变得家喻户晓,但我认为这个论断只在一种情况下成立:有利于软...

2759
来自专栏速成应用小程序开发平台

门店老板怎么样去把握微信小程序流量红利快速打开市场?

微信小程序甫一诞生,即引发业内外人士的高度关注和热烈讨论。“好的产品是用完即走”,小程序正是一款能够实现“用完即走”的产品,无须安装、触手可及,却能连接起许许多...

1052
来自专栏PPV课数据科学社区

【经典好文】揭秘我所知道的网站分析

因为上一家雇主的缘故(国内Top2的专业数据分析公司),常会有很多电商的朋友来问我,到底网站分析(WebAnalysis,以下简称WA)是什么,有什么用,有没有...

2986
来自专栏Java帮帮-微信公众号-技术文章全总结

【大牛经验】程序员3年之痒改变不止薪水

程序员3年之痒改变不止薪水 ? 程序员的3年之痒,的确是时候该挠挠自己了。3年的程序员生涯,不长不短,但它的确是一个坎。3年改变了我们的不仅仅是年...

3634
来自专栏JAVA高级架构开发

优秀的技术人员只能待在底层吗?

某研究所的一名底层科研人员离职后跳槽去了一家科技公司,年薪从原来的12w直接跃升到百万,当他走后不久,研究所发现整个火箭制造的科研项目无法继续顺利推进,一个底层...

1630

扫码关注云+社区