2天时间,聊今年最热的 Agent、上下文工程、AI 产品创新等话题。2025 年最后一场~ 了解详情
写点什么

请愿:Sun,请停止支持 JRuby

  • 2008-01-20
  • 本文字数:1627 字

    阅读完需:约 5 分钟

从编程一开始,人们就会在一种语言与另一种语言的有效性和有用性之间进行辩论。开发者、管理者、博客们等等没完没了地反复争论为什么一种语言比另一种语言更好。让我们回到 2006 年 9 月,当时,广为人知创造了 Java Sun Microsystems 摆出了一个明显的姿态,它将支持 JRuby 。消息源自于 Sun 宣布他们打算雇佣两个 JRuby 项目的主要开发者—— Charles Nutter Thoams Enebo ,来全职开发 JRuby 项目。正如历史所证实的,Sun 支持这一项目的决定引发了一场新的辩论。

最近, Rick Hightower 在博文中写出了自己对 Sun 支持 JRuby 一事的感受,并请愿道,

Sun,请停止对 JRuby 的支持。这是浪费时间。把这些钱花在 Groovy 上吧,它兼容 Java 语法的。请在 Groovy 上进行语言进化并停止滥用 Java 语法。给我们提供像样的 Groovy IDE 工具。停止对 Java 这么频繁的胡搞。

Rick 就其对 Sun 的请愿提供了几条原因,包括语法方面的问题,

Sun 通过投资 JRuby 来投资 Ruby。咄!Groovy 看起来更象 Java。它更容易上手。其语法也不会让开发者感到厌烦。

除了语法,Rick 提出语言流行趋势也应被考虑,而且他还展示了一个图表以显示 Java 比 Ruby 更流行。

这是不要在 Ruby 上投巨资的另一个原因。提醒一下色盲:RUBY 排在最后!Ruby 排在最后。如果能发生一场革命的话早就应该发生了。Ruby 要终结这一可怜地位却又显得有些年迈了。你不这么认为吗?

Java 之所以流行是因为长得象 C++ 和 C。C++ 之所以流行是因为长得象 C。C#之所以流行是因为长得象 Java。看一下这个模式吧。让我们在 Gosling 的 领导下,增加一些对 Groovy 像样的支持(代码补全,重构等)。如果新的语言特性变为主流,那么就把它加入 Java(如果没有意义就算了)。

对 Rick 博客上的观点和建议,有相当多的议论。实际上,在他的这篇文章下跟有超过 50 个评论。
大多数评论者认为可以选择编程语言是一件好事情,

我认为我们应该可以选择,因此要求停止开发 JRuby 对我来说不公平。不要误解我,我也不喜欢 JRuby,而且现在我在用 Groovy,但是应该让 JRuby 和 Scala 活着,有得选总是好事。

Michael Galpin 发表了另一篇回应,站在了辩论的另一方。特别是,Michael 提供了一个理由,解释为什么投资 Scala 是一件值得做的事。

带有控制抽象功能的语言有巨大的潜能。Scala 就是这么一门语言。Scala 能够实现 actor 模型(一个不共享任何东西、基 于消息的并行计算设计)。这在 Java 里是不可能的。你也可以在 Groovy 中做到几分,但是它可能会很笨拙。原因很简单。如果你有一个对象调用了一个 method,而该 method 又调用了 closure(以此为例),在 Scala 中 closure 可以将控制返回给对象,但是在 Groovy 中只能返回 给方法。Groovy 中耦合了一些额外的控制结构,使得控制抽象的一些方面显得非常笨拙。

另一个博客作者, Ola Bini ,也不同意 Rick Hightower,他说道:

我认为 JRuby 是重要的,因为它可以在与 Java 一样的环境中运行,但是却没有 Java 的一些问题。

Ola 继续解释他认为存在于 Java 中的一些问题以及为什么 JRuby 是更好的选择。作为附加内容 Michael Galpin 解释了为什么 Sun 对 JRuby 有兴趣。

Sun 知道什么是成功引入一个新语言和平台以及使其成为工业实际标准的必要条件。这是很困难且昂贵的。他们只能做一次,这耗费了 他们大量资金。Java 不能总是停留在顶点。他们不想再为这一战役进行战斗了。然而,如果他们能够在上面所描述的场景下让 Rails 继续生存下去,那么他 们这次无需进行任何作战即可“停留在顶点”。他们让 Rails 社区为他们做到这一点。

Sun 除了站在 JRuby 一边之外,还发展 NetBeans IDE 支持 JRuby。然而,需要提及的是,Netbeans 正在积极发展对 Groovy 和 Grails 的支持。事实上, Martin Adamek 在其博客上提供了一个对NetBeans 的更新,它支持Groovy 和Grails。

那么,你作何感想呢,JVM 有容纳不同语言的空间吗?Sun 应该站在Groovy 一边并加大对它的开发和工具支持吗?

查看英文原文: Request: Sun, Drop Support for JRuby

2008-01-20 20:011533
用户头像

发布了 150 篇内容, 共 53.6 次阅读, 收获喜欢 10 次。

关注

评论

发布
暂无评论
发现更多内容

谁研发了APP弹窗功能?

InfoQ IT百科

解决方案| 快对讲调度系统:高效协作

anyRTC开发者

音视频 调度 实时通讯 实时消息 对讲

InfoQ 入驻快讯

Apache IoTDB

Apache IoTDB

精彩联动!OpenMLDB Pulsar Connector原理和实操

第四范式开发者社区

机器学习 数据库 特征 特征平台 连接器

阿里云移动研发平台EMAS,3月产品动态

移动研发平台EMAS

ios 阿里云 移动应用 Andriod 移动推送

阿里超大规模 Flink 集群运维体系介绍

Apache Flink

大数据 flink 编程 运维 实时计算

以用户体验五要素的思路,如何编写产品需求文档(PRD)

小炮

需求文档

IoT平台如何实现业务配置中心

华为云开发者联盟

运维 物联网平台 内存 业务配置 业务配置中心

有道词典Android客户端包体积优化之路

有道技术团队

andiod Groovy

“如何实现集中管理、灵活高效的CI/CD”在线研讨会精彩内容分享

龙智—DevSecOps解决方案

CI/CD CloudBees

Python图像处理丨OpenCV+Numpy库读取与修改像素

华为云开发者联盟

Python OpenCV 图像处理 Numpy库 像素

Spring核心流程分析

IT巅峰技术

二进制文件版本控制工具选择难?看完这篇你会找到答案

龙智—DevSecOps解决方案

perforce Helix Core

Linux下BusyBox根文件系统制作

DS小龙哥

4月月更

为什么各大APP都推出了适老版?

InfoQ IT百科

现在有没有可以真正称得上是元宇宙的应用?

InfoQ IT百科

企业官网有啥用?一定要搭建官方网站吗?

源字节1号

微信小程序 网站开发

你不知道的 parseInt?

战场小包

JavaScript 前端 4月月更

如何快速搭建一个像叮咚买菜这样的APP?

InfoQ IT百科

从B站和小红书看,如何做好社区产品?

InfoQ IT百科

机器学习算法和架构在MLOps框架下的工程实践

博文视点Broadview

星汉未来成为FinOps产业推进方阵共建单位

星汉未来

运维 云原生 星汉未来 FinOps

活动精彩预告 | 维塔士+龙智:数字化打造游戏行业「头号玩家」

龙智—DevSecOps解决方案

数字化转型 游戏开发 游戏引擎

剖析GPU未来发展方向

Finovy Cloud

人工智能 云服务器 GPU服务器 GPU算力

星汉未来云原生基础治理平台SchedulX V1.1.0 重磅发布,助力企业降本增效

星汉未来

运维 云原生 k8s 智能运维 星汉未来

中商惠⺠交易中台架构演进:对 Apache ShardingSphere 的应⽤

SphereEx

Apache 数据库 ShardingSphere SphereEx

教你轻松解决CSRF跨站请求伪造攻击

华为云开发者联盟

CSRF 信任 攻击 跨站请求伪造 跨站

星环科技基础软件产品全面落地开花,为企业数字化转型带来“星”动能

星环科技

最佳实践 | 通过使用 Jira Service Management 改进 HR 工作流程

龙智—DevSecOps解决方案

Atlassian jsm

Kubernetes 中数据包的生命周期 -- 第 1 部分

Se7en

请愿:Sun,请停止支持JRuby_Java_Craig Wickesser_InfoQ精选文章