免费下载案例集|20+数字化领先企业人才培养实践经验 了解详情
写点什么

请愿: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:011044
用户头像

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

关注

评论

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

社招前端一面必会react面试题集锦

beifeng1996

React

天翼云Serverless边缘容器,为云上创新开启加速度

天翼云开发者社区

云计算 边缘计算 边缘容器

ZBC成功上线PancakeSwap的糖浆池,并有望在不久上线Binance

西柚子

【论文推荐】TDSC2022 安全补丁识别最新的方案E-SPI

华为云开发者联盟

后端 开发 华为云 12 月 PK 榜

分布式注册服务中心etcd在云原生引擎中的实践

京东科技开发者

分布式 云原生 etcd 集群 go语言

跨平台应用开发进阶(二十八) :资源加载速度优化解决方案

No Silver Bullet

跨平台 12月月更 资源加载优化

前端一面必会react面试题(附答案)

beifeng1996

React

百度APP Android包体积优化实践(四)Dex注解优化

百度Geek说

Java android 前端 12 月 PK 榜

手把手教你一套完善且高效的k8s离线部署方案

京东科技开发者

Docker k8s ansible ulimit 云计算,

区块链+物联网,如何解决农产品溯源之痛?

旺链科技

区块链 物联网 产业区块链 农产品 12 月 PK 榜

Vue的computed和watch的区别是什么?

bb_xiaxia1998

Vue

海量监控数据处理如何做,看华为云SRE案例分享

华为云开发者联盟

数据库 后端 华为云 12 月 PK 榜

手写现代前端框架diff算法-前端面试进阶

helloworld1024fd

JavaScript

社招前端一面经典手写面试题(边面边更)

helloworld1024fd

JavaScript

先到先学!阿里新产Spring全家桶核心笔记,底层源码+应用全覆盖

程序员小毕

spring 源码 后端 架构师 java面试

数据分析架构新变革?Doris Summit 2022 议程首公布!|即刻报名

SelectDB

Doris summit 峰会报名 大数据 开源 数据库·

问:React的useState和setState到底是同步还是异步呢?

beifeng1996

React

HummerRisk V0.7.0:支持京东云、webhook、PDF下载等

HummerCloud

云安全 云原生安全

问:你是如何进行react状态管理方案选择的?

beifeng1996

React

重磅干货!一文读懂「企业级架构」

极狐GitLab

DevOps geo 高可用架构 ha 企业级代码架构

手写JavaScript常见5种设计模式

helloworld1024fd

JavaScript

玩转云端 | 数据管理深似海,运维如何变“路人”?

天翼云开发者社区

大数据 数据仓库 数据存储

新项目为什么决定用 JDK 17了

古时的风筝

Java JVM jdk17

数据可视化图表系列解析——折线图

Data 探险实验室

数据分析 可视化 数据可视化 可视化数据 折线图与饼图

一文梳理HTTP、TCP、Socket和WebSocket的区别和联系

No Silver Bullet

TCP 网络协议 HTTP websocket 12月月更

ZBC成功上线PancakeSwap的糖浆池,并有望在不久上线Binance

小哈区块

前端二面必会手写面试题汇总

helloworld1024fd

JavaScript

跨平台应用开发进阶(二十九) :uni-app 实现Android原生APP-云打包集成神策详细教程

No Silver Bullet

uni-app android 跨平台应用 云打包 12月月更

论文解读丨【CVPR 2022】不使用人工标注提升文字识别器性能

华为云开发者联盟

人工智能 华为云 文字识别 12 月 PK 榜

Java7提供的Fork/Join框架实现高并发程序,你会使用吗

华为云开发者联盟

高并发 开发 华为云 12 月 PK 榜

选择从零开发一款小游戏如何能实现变现

Onegun

小游戏 小游戏开发 H5小游戏

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