正文
另外,我觉得面向对象思想的传播,也是 Java 被广泛接受的原因之一,在那个时候说起 OO,大家第一想起的就是 C++ 和 Java。根据 OO 理论设计的系统能够几乎“无缝"地用 Java 实现出来,再配合一些工具,代码生成更是大大提升了开发的效率。在大规模工业化的开发过程中,这是非常重要的。
最后,我想强调一点:通常大家说起 Java 都是指语言,但我们不能把 Java 狭义地理解为 Java 语言,个人认为 Java 这个平台才是关键,才是真正获得成功的东西。 Java 平台的开放和包容,让它不仅可以运行 Java 语言开发的代码,还可以运行 Ruby、Python、JavaScript、Scala、Groovy 等很多语言写的代码,因此其他语言的开发者可以很轻松地切换至 Java 平台。
InfoQ:现在新的语言层出不穷,其中不乏一些深受欢迎的语言。那么,Java 现在有哪些新的挑战?您对 Java 9 有怎样的期待?
丁雪丰:
关于这个问题,我以前在 InfoQ 上发表过一篇文章《
作为一名 Java 程序员,我为什么不在生产项目中转向 Go
》,以 Go 语言为例,我认为这是一门非常出色的语言,在一些场景下有着比 Java 更好的表现,但正如我上面说的,
Java 不仅是一门语言,更是一个平台,它有着完善的生态环境,很多特性虽然语言本身不具备或者不尽如人意,但生态环境中总有更好的解决方案
。
而且,真的在实际的生产中,语言本身往往只是考量的众多因素之一,我能用某种语言很快地完成一个功能的开发,但能不能让 10 个人、50 个人都又快又好地以一样的标准完成开发工作呢?有一套好的设施、工具甚至可执行的标准会容易很多,所以我认为
生态环境要比单独的语言本身更为重要
。
说到 Java 9,很多人都会期待模块化,但其实我更希望 Java 9 出来的时候,Java 8 可以再普及一些。总是会有人觉得新东西不太靠谱,要用低一个版本的东西,觉得用的人多了,经过时间检验了。君不见,如今还有很多运行在 Java 6 甚至是 Java 1.4 上的系统,什么时候能让大部分人感受到 Java 8 的魅力呢?
丁雪丰: