F-Script 与 Smalltalk 兼容吗?

发布于 2024-11-14 23:39:12 字数 54 浏览 2 评论 0原文

F-Script 语法看起来像 Smalltalk。它与任何 Smalltalk 标准兼容吗?

F-Script syntax look like Smalltalk. Is it compatible with any of Smalltalk standard?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

夜夜流光相皎洁 2024-11-21 23:39:12

F-Script 与 Smalltalk相似,但两者并没有真正意义上的兼容。

  • 没有任何版本的 F-Script 可以读取 ANSI 标准更改格式,因此您立即需要进行一些更改。
  • F-Script 没有 Smalltalk 类层次结构;相反,它包装了 Cocoa 类层次结构。这里有一些重要的差异:
    • 方法名称不同。举个随机的例子,Smalltalk 的 copyFrom: 变成 Cocoa 的 substringFromIndex:
    • 班级不同。 String 及其朋友被 NSString 替换。
    • 元类层次结构完全不同。 F-Script 中完全缺少像 Behavior 这样的主要类。
  • F-Script 1 根本不允许您定义新类; F-Script 2 修复了这个问题,但类定义的格式与 Smalltalk ANSI 标准没有相似之处,并且与最接近的实用模拟 GNU Smalltalk 选择的格式不兼容。
  • F-Script 通过添加 Smalltalk 标准中未包含的语法来添加数组理解运算符,实践中任何其他 Smalltalk 实现也未遵循该语法。它选择的语法与传统 Smalltalk 实现识别点的方式相冲突。

这就是我的想法。

我知道 F-Script 和 Smalltalk 看起来很相似,但是,借用萧伯纳的话来说,它们是两种由共同语法划分的语言。一旦你开始在两者中工作一段时间,你就会立即体验到它们之间不可调和的差异的深度。

F-Script is similar to Smalltalk, but the two aren't meaningfully compatible.

  • No version of F-Script reads the ANSI standard changes format, so right off the bat, you're in for some changes.
  • F-Script does not have the Smalltalk class hierarchy; instead, it wraps the Cocoa class hierarchy. There are nontrivial differences here:
    • Method names differ. As a random example, Smalltalk's copyFrom: becomes Cocoa's substringFromIndex:.
    • Classes differ. String and its friends are replaced with NSString.
    • The metaclass hierarchy is totally different. Major classes like Behavior are totally missing from F-Script.
  • F-Script 1 did not allow you to define new classes at all; F-Script 2 fixes that, but the format of class definitions has no similarity to the Smalltalk ANSI standard, and is incompatibile with that chosen by the closest practical analog, GNU Smalltalk.
  • F-Script adds array comprehension operators by adding syntax that is not in the Smalltalk standard, nor honored by any other Smalltalk implementation in practice. The syntax it picks collides with the way that traditional Smalltalk implementations identify points.

And that's just off the top of my head.

I know that F-Script and Smalltalk look simliar, but, to co-opt George Bernard Shaw, they are two languages divided by a common syntax. Once you begin to work in both for any length of time, you'll immediately experience the depth of their irreconcilable differences.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文