资深开发者带你看看 JVM 语言的浮沉史

局长
 局长
发布于 2017年08月24日
收藏 15

精选30+云产品,助力企业轻松上云!>>>

不时地,总会有预言 Java 将要死掉的文章冒出来,有意思的地方在于他们都没有写上一个日期。不过说实话,他们说的可能都是正确的。这是每一门语言的命运:消失或被遗忘 — 或者更准确的说是越来越少地被新项目所使用。问题是谁会取代他们?

上周在 InfoQ 上看到另一篇这样的文章。至少,这篇文章给出了一个有可能的替代品,Kotlin。它让我对 JVM 语言的状态和趋势进行了思考。值得注意的是,语言的趋势与每种语言的技术优点和缺陷无关。

我在 2001 年底开始学习使用 Java 进行开发。当时,Java 非常酷。每个年轻的开发者都希望使用所谓的新技术:要么是 .NET,要么是 Java,而当时较年长的开发者使用的是 Cobol 语言。学习 Java 之前,我已经在学校学习过 C 和 C++,所以,Java 中的内存管理对我来说是如此的简单。我对 Java 感到十分满意……但不是每个人都有着同样的想法。

Groovy 是在 2003 年出现的,但我不记得我是什么时候学习它的了。不过,一个事实是:此后,我不再需要一门脚本语言了。在开发具有很长开发人员队伍的企业级应用的背景下,静态类型比动态类型拥有巨大的优势,尤其是在进行产品测试以检查类型系统时。我唯一需要使用脚本语言的时候,是作为一名 WebSphere 管理员时:选择 Python 还是 TCL。

一年后,即 2004 年,Scala 才被我接受。我不记得是什么时候以及是怎样听到关于它的消息的,但确实是太晚才接触它了。因为当时对 Groovy 有抵触的心理,我决定尝试一下 Scala。主要原因是我对创造“更好”代码的长期兴趣 —— 更好的可读性和维护性。Scala 是静态类型的,也是我正在寻找的。当我学习 Coursera 课程 - Scala 中函数式编程的原则 它对我产生了三个主要的影响:

  • 它让我对自己编写 Java 代码的方式产生了困惑。例如,为什么当设计一个类时,我会自动生成 getters 和 setters

  • Scala 使得大多数开发者(包括我自己)更易编写出缺乏可读性的代码

  • 我开始寻找其他的替代语言

在 Groovy 和 Scala 进入第二代 JVM 语言之后(如果您把 Java 看作第一代),第三代 JVM 语言包括:

大概浏览了一遍他们之后,我确信它们没有太多的“牵引力”,不值得我在上面投资时间。

几年前,我决定自学基本的 Android 开发,以便能够了解移动开发者的开发环境。好家伙,即使有多年开发 Java EE 和 Spring 应用程序的经验,但还真给我一个惊喜 - 还不是一个愉快的那种。这就像回到过去十年前那样的开发体验,Android  API 非常低级,更别说在本地测试应用程序。经过快速的搜索,我发现 Kotlin 在很多地方被提到,所以最后决定试一试。我立即爱上 Kotlin 了,得亏它的扩展功能,我可以将现有的垃圾 API 改进得更好,甚至更优雅。

我开始更多的挖掘这门语言,并开始在服务器端项目中使用 Kotlin。然后,Spring 框架宣布了与 Kotlin 的整合。然后在 Google I/O 大会上,Google 也宣布在 Android 开发中官方支持 Kotlin。

译自:https://blog.frankel.ch

本站文章除注明转载外,均为本站原创或编译。欢迎任何形式的转载,但请务必注明出处,尊重他人劳动共创开源社区。
转载请注明:文章转载自 OSCHINA 社区 [http://www.oschina.net]
本文标题:资深开发者带你看看 JVM 语言的浮沉史
加载中
此新闻有 30 条评论,请先登录后再查看。
返回顶部
顶部