python - BOO 与 IronPython

标签 python clr ironpython boo

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

最佳答案

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

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

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

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

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

关于python - BOO 与 IronPython,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/600539/

相关文章:

python - 在 python 中使用 os.path.join() 的正确方法

c# - 在使用库方面,C/C++/Objective-C 与 C# 相比如何?

compiler-construction - 设计选择的理由会导致JVM/CLR语言长时间启动?

.net - (Iron)Python继承构造函数问题

c# - 从 Python 调用 C# dll

python - 如何在自定义Python记录器中获取进程、线程名称、级别名称

python - iPython:无法安装笔记本。请安装 ipython-notebook

python - 交互模式下的多处理中断

python - 如何从 Python 将竖线 (|) 添加到 yaml 文件中

c# - C# 对象引用如何在内存中/在运行时(在 CLR 中)表示?