gpt4 book ai didi

gosu - Gosu C# 是用于 JVM 的吗?

转载 作者:行者123 更新时间:2023-12-04 13:02:54 24 4
gpt4 key购买 nike

来自I gather , Gosu 只是 JVM 的 C#(这是一件好事)。这是真的吗? Gosu 和 C# 之间有什么区别(除了类库和它在 JVM 上运行的事实)?

最佳答案

我们没有将 Gosu 构建为 JVM 的一种或另一种语言。相反,我们将 Gosu 构建为对 JVM 有用的语言。此外,我们认识到 Gosu 需要熟悉大量对命令式、面向对象模型最熟悉的现有程序员。为了实现这一点,我们大量借鉴了几种语言,例如 Java、C#、EcmaScript、Ruby 等。我们认为,结果是一种在 JVM 上具有独特定位的语言。

然而,Gosu 的独特之处在于它是 。开放式系统 .

Gosu 的类型系统由可配置数量的类型加载器组成。类型加载器的主要职责是解析其域中的类型名称并返回 Gosu 的 IType 接口(interface)的实现。这就是 Gosu 最独特的地方——它的类型系统对其他领域开放,以一流的表示形式参与。我经常使用术语 DST(域特定类型)来理解这个想法。例如,Gosu 不区分 Gosu 类、Java 类或 XML 类型或你有什么;它们都只是 Gosu 编译器的类型。查看 DynamicType example 在下载中了解开放类型系统提供的功能和广度。本质上,该示例演示了 C# 的“需要的动态类型”可以简单地成为 Gosu 中的新类型加载器域。或者查看 Ronin 框架,了解 Web 和数据库域如何轻松地无缝映射到 Gosu。

重要的是要了解并非 Gosu 中的所有类型加载器域都需要生成字节码。那些确实实现了获取相应 Java 类的接口(interface)。那些不分别为反射 MethodInfo 和 PropertyInfo 评估提供调用处理程序和属性访问器的那些。注意所有类型都提供 TypeInfo,参见 IType.getTypeInfo()。例如,解析器使用 TypeInfo、MethodInfo 等抽象作为不同类型之间公平竞争环境的手段。然而,在运行时,除非类型提供 Java 字节码类,否则 MethodInfos 和 PropertyInfos 也负责处理调用。

关于gosu - Gosu C# 是用于 JVM 的吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4131613/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com