你好,我是范学雷。
最后要和你说再见了,这是我们这个专栏的最后一课,感谢你能坚持和我一起学完。一路上,我们聊了很多的技术和技术背后的故事 。在专栏结束的时候,我想和大家聊一聊Java的未来。
未来这个东西,看不见摸不着,能够影响它的因素实在太多了。能对未来有实质性影响的因素,也许是我们现在看不起、看不见的东西。所以,当我们说一个事情的未来的时候,总是有点算命先生的味道。
不过,看清未来对我们来说至关重要。一个人或者一个公司的命运和归宿,在很大程度上取决于我们的选择。而我们的选择,在很大程度上取决于我们对未来的看法。所以,即便对未来没有充分的把握,我们总是想探讨一下未来、预测一下未来。
那么,Java还有没有未来? Java的未来在哪里呢?我想,Java的未来,依然是星辰大海。
我们常说,“后视镜里看不到未来”。不过,我们也说,“以史为鉴可以知兴替”。历史的数据和故事,是我们试图描绘未来的依据。
2020年,VDC发布了一份关于Java的研究报告。下面的柱状图,就是来源于这份研究报告。2020年,大约有600亿份运行的Java虚拟机。其中大约61.9%,也就是大约372亿份Java虚拟机是运行在云计算的环境下的。到2023年,预计将会有700亿份运行的Java虚拟机;而70%以上的Java虚拟机将在云上运行。
数字也许很冰冷,数字背后的逻辑可能更有意思。
600亿份运行的Java虚拟机,这是一个庞大的数字。这个数字表示的是Java用户的庞大基数,以及Java应用的广泛部署。600亿份运行的Java虚拟机,是Java生态系统的庞大资产,也是Java能够持续繁荣的背后力量。
这个庞大的数字暗示了两个逻辑。
第一个逻辑是Java平台的兼容性至关重要,这是对Java开发者的要求。任何看似微不足道的兼容性问题,都可能导致数亿台设备的故障。兼容性会导致软件的复杂性,而软件的复杂性会影响软件的持续进化。Java的设计者可能会畏手畏脚,前怕狼后怕虎;而事实情况也是前有狼后有虎。所以,600亿份运行的Java虚拟机,既是庞大的资产,也是庞大的责任。怎么在不影响兼容性的情况下,保持持续的进化,这是Java语言面临的最现实的挑战。
如果Java社区能够解决好兼容和进化的矛盾,Java的地位是无法撼动的。
第二个逻辑是强悍的杠杆效应,小技术也能带来大影响。即便是一个微小的改进,加上600亿倍的杠杆,也能有巨大的效应。对于平常的代码开发,我们可能不太满意百分之一或者百分之二的性能提升;我们可能也不太愿意花时间让接口更简单、更皮实。但是,在600亿倍的杠杠的支撑下,任何微小的改进和努力,都会会有巨大的生态效应。也正是因为这样强悍的杠杆效应,更多的、更广泛的开发者,愿意投入到微小的改进中。这样,Java社区就能吸引更多的公司、更多的开发者参与其中。而那些起初不起眼的微小改进,后来都有可能产生重量级的影响。
如果Java社区能够持续地吸引开发者,Java的繁荣就能够得以持续和发展。
如果进化和社区的问题能够处理好,我相信Java的未来依然是美好的。如果你回头看看这个专栏,重新从进化和社区的角度仔细品味每一个新特性,我想你能够看到Java在这方面做出的持续努力。
你和我,都是推动Java向前走的力量。祝愿Java有一个美好的未来,也祝愿你有一个更美好的未来!