为什么有不同的Ruby实现?

cot*_*ell 7 ruby implementation interpreter

我是一个主要使用Java的新手程序员.最近我对Ruby感兴趣,当我去下载IDE时,我惊讶地发现没有单一的实现或语言解释器.我一直在努力研究这个问题,但我并不真正理解如何创建一种语言以便知道要寻找什么.

单一语言如何有多个解释器?这是否意味着它们之间存在重要差异,这对程序员意味着什么?如果这是一个误入歧途的问题,请原谅!

jer*_*jer 7

因为不同的语言实现者决定专注于特定领域.例如,与Java运行时(JRuby)的兼容性,或者使用JIT(rubinius)进行实验,在企业(REE)等处定位Ruby等等......

这不是Ruby独有的,它在一种语言中是健康的,如果一个特定的群体看到某个领​​域的语言具有潜力,它可以帮助促进该社区内的增长.


Dig*_*oss 5

大多数语言都有多种实现。事实证明,单个项目并不总是能够解决一些权衡问题。

  • 平台集成
    您与一个平台的集成越紧密,您与其他平台的集成就越远。因此,需要做出一个根本性的选择:专业化还是通用化

  • 稳定
    如果你愿意接受不稳定,那么就可以追求更远大的目标。所以有一个根本性的选择: 发展还是稳定

  • 管理团队
    在任何给定的项目中,只有这么多的管理空间。创建新管理空间的唯一方法是创建新项目。因此,需要做出一个基本选择:你的项目还是我的项目。从某种意义上说,这就是“主因”,因为不同的管理者会选择不同的优先事项。