根据Charles Nutter,Duby是一种静态类型语言,具有Ruby的语法和Java的类型系统。
Duby支持所有Ruby的字面量,使用本地类型推断(只需声明参数类型),并且与Java一样快(因为它生成几乎相同的字节码)。但是随着invokedynamic的出现,Duby需要一个伙伴。
1. invokedynamic是什么,为什么Duby“需要一个伙伴”?
另一方面,Juby是这样的:
Juby旨在基本上像Duby一样,因为它使用Java的类型和Ruby的语法。但它利用了新的invokedynamic操作码来实现100%的动态性。Juby是一种动态Duby,或者可能是具有Ruby语法的动态Java。它不难理解。
实际上,这很难理解。
2. 有人能更详细地解释一下这个区别吗?
3. 我们为什么需要(需要!)另一种与Ruby相关的语言?或者,更准确地说,需要两种与Ruby相关的语言吗?