写点什么

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

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

关注

评论

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

Dubbo服务消费者调用过程,35岁老年程序员的绝地翻身之路

Java 程序员 后端

Redis 实现附近的人,全靠 GEO 数据结构让我邂逅女神

码哥字节

redis BitMap geohash NoSQL 数据库 11月日更

Elasticsearch聚合的嵌套桶如何排序,java架构和框架

Java 程序员 后端

【Promise 源码学习】第二篇 - Promise 功能介绍与特性分析

Brave

源码 Promise 11月日更

Flink的sink实战之四:自定义,Java开发笔试题目

Java 程序员 后端

Dubbo如何支持本地调用?InJvm方式解析,农民工看完都会了

Java 程序员 后端

Elasticsearch中URI Search和RequestBody Search分析(1)

Java 程序员 后端

进击的Java(一)

ES_her0

11月日更

Elasticsearch中的Term查询和全文查询,重磅

Java 程序员 后端

WEB本地存储:localStorage、Web SQL Database、IndexedDB

devpoint

Cookie indexedDB LocalStorage sessionStorage 11月日更

Docker Swarm从部署到基本操作,Java程序员进大厂面试必备基础技能

Java 程序员 后端

Docker下,五分钟极速体验机器学习,java从入门到精通第五版防盗码

Java 程序员 后端

各地力推“链长制”,区块链让产业链更加安全可靠

CECBC

Flink处理函数实战之一:深入了解ProcessFunction的状态(Flink-1

Java 程序员 后端

【死磕Java并发】-----Java内存模型之happens-before

chenssy

11月日更 死磕 Java 死磕 Java 并发

ELK + Filebeat + Kafka 分布式日志管理平台搭建,最新java面试题及答案

Java 程序员 后端

ELK太重?试试KFC日志采集,2021大厂Java面试经验

Java 程序员 后端

Elasticsearch聚合的嵌套桶如何排序(1),java大学基础教程

Java 程序员 后端

ElasticSearch集群的概念及搭建过程,Java程序员晋升路线

Java 程序员 后端

flume基本概念与操作实例(常用source),kalilinux视频教程

Java 程序员 后端

迎接央行数字货币,你准备好了吗

CECBC

【高并发】两种异步模型与深度解析Future接口

冰河

Java 并发编程 多线程 高并发 异步编程

Dubbo服务治理之灰度发布方案(版本发布控制影响范围)

Java 程序员 后端

Elasticsearch 如何做到快速检索 - 倒排索引的秘密,springboot项目实战

Java 程序员 后端

所谓的新型“数字人民币”诈骗,这里有几个疑点

CECBC

Windows11 搭建openvino_tensorflow环境

IT蜗壳-Tango

IT蜗壳 OpenVINO 11月日更 openvino_tensorflow

Flink SQL Client综合实战,深入理解java虚拟机百度云

Java 程序员 后端

Geospatial-地理空间,java面试基本知识

Java 程序员 后端

Docker下Nacos配置应用开发,java初级程序员面试

Java 程序员 后端

Docker系列(1)--Docker原理及安装,java线程池回收原理

Java 程序员 后端

讲分布式唯一id,这篇文章很实在

秦怀杂货店

Java 分布式 分布式ID

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