16

IronPythonBOO有什么区别?是否需要 2 种类似 Python 的语言?

4

4 回答 4

18

IronPython旨在成为 .NET 平台上 Python 的忠实实现。版本 1 以 Python 2.4 为目标以实现兼容性,版本 2 以 2.5 版本为目标(尽管不支持大多数用 C 实现的 Python 标准库模块)。

Boo的既定目标是成为“用于 CLI 的手腕友好 [动态] 语言”。它从 Python 中汲取了很多灵感,但在四个要点上存在分歧:

  1. 它专为充分利用 .NET 平台而设计
  2. 设计师偏离了 Python 语法,他不同意设计决策(最明显的是,缺乏明确的自我)
  3. 该语言被明确设计为“手腕友好” - 即最大限度地减少使用 Shift 键或其他多键组合的需要。
  4. Boo 默认是静态类型的,但允许可选的鸭子类型。

在实现/性能方面还有一些其他细微差别,但上述不同的设计目标应该(IMO)告知您选择的语言。

另外需要考虑的两件事是成熟度和社区。Python 比 Boo 成熟得多,并且拥有更大的社区。IronPython 也得到了微软的明确支持。

于 2009-03-02T02:41:34.047 回答
11

IronPython 是一个 python 实现,而 Boo 是另一种具有 python 式语法的语言。一个主要区别是 Boo 默认是静态类型的。

我敢肯定还有更多的不同,我只是简单地看了 Boo,但我一直想更深入地研究一下(这么多语言,时间太少了!)。

以下是 Python 程序员的 Boo 陷阱列表,它很好地总结了这些差异:

于 2009-03-01T21:22:36.933 回答
3

IronPython 是 Python。Boo 看起来像 Python。

他们有不同的目标,虽然 IronPython 的目标是像 Python 一样,但 Boo 却没有。Boo 并不像 IronPython 那样担心与 Python 的兼容性……

于 2009-03-01T21:30:55.887 回答
1

简而言之,Boo 声名鹊起的是它应该为您提供 Python 优雅、简洁的语法和非常高级的抽象的大部分好处,但不会牺牲(大部分)静态类型语言(如 C#)的速度优势.

于 2010-04-11T16:54:33.513 回答