JVM 语言的兴衰

随着 Kotlin 的崛起,让我们看看对 Java 的不满是如何开始的,JVM 语言是如何形成的——以及哪些语言正在争夺头把交椅。

时不时会有一篇文章预测 Java 语言的消亡。有趣的是,他们都没有写日期。但老实说,它们可能都是真的。这是每种语言的命运:消失在遗忘中——或者更准确地说,在新项目中越来越少地使用。问题是什么将取代它们?

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

2001 年底,我开始使用 Java 进行开发。当时,Java 非常酷。每个年轻的开发人员都想从事所谓的新技术:.NET 或 Java,因为年长的开发人员被困在 Cobol 上。我在学校学习过 C 和 C++,Java 中的内存管理要容易得多。我对 Java 很满意……但并不是每个人都如此。

Groovy于 2003 年问世。我不记得我是什么时候了解到它的。我只是忽略了它:那时我不需要脚本语言。在由许多开发人员组成的团队开发具有较长生命周期的企业级应用程序的背景下,静态类型相对于动态类型具有巨大优势。进行产品测试以检查类型系统是一种净损失。我唯一一次必须创建脚本的时候是作为 WebSphere 管理员:选择是在 Python 和 TCL 之间。

Scala于一年后的 2004 年问世。我不记得我是何时以及如何听说它的,但那是晚了很多。但是为了反对 Groovy,我决定尝试一下。主要原因是我对创建“更好”的代码的长期兴趣——阅读更具可读性和可维护性。Scala 是静态类型的,这更符合我的要求。我学习了 Coursera 课程中的 Scala 函数式编程原理。它产生了三个主要后果:

  • 它质疑我编写 Java 代码的方式。比如为什么我在设计一个类的时候会自动生成getter和setter?
  • 我认为 Scala 使编写大多数开发人员不可读的代码变得太容易了——包括我自己
  • 我开始寻找其他替代语言

在 Groovy 和 Scala 之后出现了第二代(如果将 Java 算作第一代,则是第三代)JVM 语言,包括:

  • JetBrains Kotlin
  • Red Hat Ceylon
  • 和Eclipse 扩展

随便看了一眼之后,我就确信它们没有太大的吸引力,不值得我花时间。

几年前,我决定自学基本的 Android,以便能够了解移动开发人员的开发环境。好家伙!在开发 Java EE 和 Spring 应用程序多年之后,这是一个惊喜——而不是一个愉快的惊喜。仿佛被送回了十年前。Android API 太低级了……更不用说在本地测试应用程序了。快速搜索了一下,发现很多地方都提到了 Kotlin,最后决定试一试。我立刻爱上了:借助 Kotlin,我可以将现有的垃圾 API 改进为更好、甚至更优雅的东西,这要归功于扩展功能。我深入研究了这门语言,并开始将 Kotlin 用于服务器端项目。然后,Spring 框架宣布集成 Kotlin。在 Google I/O 大会上,Google 宣布支持 Android 上的 Kotlin。

有几个有趣的事情需要注意:

  • Google 已经识别出Scala、Groovy 和 Kotlin 的搜索词,即“编程语言”,但不识别 Ceylon 和 eXtend。对于锡兰,我只能假设这是因为锡兰是一个受欢迎的地方。对于 eXtend,恐怕 Google 搜索还不够。
  • Scala 是迄今为止最受欢迎的,其次是 Groovy 和 Kotlin。我对规模一无所知。
  • 5 月的 Kotlin 高峰与谷歌在谷歌 I/O 上的支持公告相关。
  • 大多数对 Scala 和 Kotlin 的搜索都来自中国,而 Groovy 在位置方面更加平衡。
  • Scala 搜索与术语“Spark”密切相关,Kotlin 搜索与术语“Android”相关。

进一步挖掘可能会发现有趣的事实:

  • xTend 没有死,因为它从来没有活过。永远不要阅读任何关于它的帖子。也从未听过会议演讲。
  • 2017 年,红帽将锡兰交给了 Eclipse 基金会,创建了Eclipse Ceylon。向基金会赠送软件的私人参与者可能会有不同的解释。在这种情况下,尽管围绕这一举动进行了令人放心的谈判,但这对锡兰的未来来说并不是一个好兆头。
  • 2015 年,Pivotal 停止赞助 Groovy,并转移到 Apache 基金会。虽然我相信 Groovy 有足够广泛的支持基础,并且在 JVM 上有一个独特的利基 - 脚本,但这也不是一个好兆头。这与核心 Groovy提交者的提交频率相关:他们的提交数量急剧减少 - 以至于有些人停止了。
  • 有趣的是,Scala 和 Kotlin 最近都侵入了其他领域,转换为 JavaScript 并编译为原生。
  • 在 Java 中,JEP 286是一个通过类型推断来增强语言的提议,Scala 和 Kotlin 已经提供了一个特性。然而,它仅限于局部变量。
  • 有趣的是,通过只保留语言的一个子集来缩短 Scala 编译时间。这就提出了一个问题,如果你放弃了 Scala 的强大功能(比如宏),为什么还要保留它呢?

我不擅长预测

  • Groovy 有自己的利基——脚本编写,这让 Java、Scala 和 Kotlin 争夺服务器端 JVM 上的纯应用程序开发空间。
  • 斯卡拉也开辟了自己的空间。Scala 开发人员通常认为这种语言优于 Java(或 Kotlin)并且不会迁移到另一种语言。但是,由于 Spring 和 Google 的公告,Kotlin 可能会取代 Scala 作为语言开发人员对 Java 不满意时的去向。
  • Kotlin 赢得了 Android 之战。鉴于 Kotlin 遥遥领先,Scala 过去忽略了这个领域,未来也不会投资。
  • Kotlin 在移动设备上的崛起并非有意为之,而是一个美好而意外的惊喜。但是 JetBrains 一注意到这一趋势,便将其用作前进的方向。
  • Kotlin 与 Java 的互操作性是一个杀手级功能,它可以说服管理人员将遗留项目迁移到 Kotlin 或使用 Kotlin 启动新项目。就像 Java 的非破坏性向后兼容性一样。

作者: Java攻城师
链接: JVM 语言的兴衰
来源:思否
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 206,839评论 6 482
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 88,543评论 2 382
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 153,116评论 0 344
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 55,371评论 1 279
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 64,384评论 5 374
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,111评论 1 285
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,416评论 3 400
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,053评论 0 259
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 43,558评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,007评论 2 325
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,117评论 1 334
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,756评论 4 324
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,324评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,315评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,539评论 1 262
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,578评论 2 355
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,877评论 2 345

推荐阅读更多精彩内容