好吧,在用 C# 编写 .net 程序很长时间之后,我开始对静态类型语言带来的所有语法垃圾感到愤怒和沮丧。现在我想更改为利用 CLI 的动态类型语言。所以我四处搜寻了一下,但我不喜欢我所看到的。我首先寻找 IronPython。但这个项目感觉杂乱无章,看起来一点也不好。然后我听说了布。我喜欢 boo's,理想的一切,但感觉这个项目已经停止了。然后我听说了 IronRuby,但该项目仍处于测试阶段,所以我决定等到它变得更加成熟。

因为我找不到一个好的 CLR 兼容的动态语言,所以我问你们你们会使用什么?

由于人们开始询问不选择 IronPython 的原因是什么。原因是,正如我之前所说,它似乎杂乱无章。为什么?

1-主页指向codeplex的另一个页面,主页应该干净,只指出IronPython的优点,以IronRuby页面为例 http://www.ironruby.net/ 它向用户隐藏了语言开发的内容(即使用户在使用之前必须访问 IronRuby 的 svn)。IPython 在创建时试图解决什么样的问题。有没有包含此类信息的页面?好吧,该页面就在那里,但它隐藏在“更多信息页面”上,在一堆无意义的文章链接中。在 Boo 的页面上,它清晰可见,名为 Manifesto http://boo.codehaus.org/BooManifesto.pdf .

还有更多,但我的感觉是,IPython 只是一个自制的解释器,尽管它实际上可以具有的质量。我觉得下载 Boo 并使用 IronPython 更安全(但不用担心 Microsoft,我也下载了 IPython)。

关于 Duck-Typing 和 Boo 的静态类型,它们似乎都适合我。

有帮助吗?

解决方案

我仍然使用 Boo 。我不确定你为什么认为Boo被制止了。开发有时看起来很慢,但目前有很多人在修复错误,如 此列表中最近修复的问题(错误)

对于那些不熟悉Boo的人来说,它与Python非常相似,但包括Python没有的东西(如 字符串插值 合成宏 )。您可以通过“Boo Interactive Shell”编译Boo程序或使用Boo。 booish

顺便说一下,几年前我看过它时,我不喜欢IronPython。对我而言,它看起来像是CLI的直接Python端口,但据我所知,它不包括典型的.NET开发所需的新功能。

编辑:自从我第一次看到它以来,IronPython似乎确实取得了进展(感谢Curt指出这一点)。但是,自从我找到Boo后,我再也没有费心去看IronPython。

其他提示

从实用性来说 铁蟒 现在将是您最好的选择。

为什么人们推荐 Boo?它是一种静态类型语言,这不是这个问题所要求的。是的,我知道它有可选的鸭子类型,但实际上,如果问题作者可以接受与 Boo 相关的信息,那么应该对问题进行编辑以使其清楚。

关于IronPython,你说你不喜欢它,但对于如此模糊的批评意见,我真的无法做出任何回应:)

或者,我建议您看一下 cPython. 。几点:

  • 您可以使用 py2exe 和其他工具构建 .exe 文件。
  • 对第 3 方 Python 库和框架的更多访问
  • 通过 pywin32 访问 Windows API
  • 用 C 编写的 Python 扩展是可用的(与 IronPython 不同,尽管有 努力 正在努力改善这种情况)

您会发现大多数事情实际上并不需要 .NET。当然,这一切都取决于您的应用程序。为了与现有的 .NET 代码集成,显然您必须使用 IronPython。

你说你想要“动态”,但如果动机只是为了避免“所有语法垃圾”,你应该看看 F#。它是静态类型的,但具有动态语言的轻松语法感觉,以及交互模式(REPL循环)。

我同意你的观点,认为IronPython似乎杂乱无章,但我一直将它用于(小)项目,到目前为止我对此非常满意。

如果您还没有看过,请查看 IronPython Studio

我一直走在类似的道路上。检查出Boo,dotLISP,IronPython等。

我推荐IronPython。但是,如果您还没有任何Python经验,那么您可能会通过加载CPython并将其用于示例&来更快地学习核心Python。教程。

一旦了解了CPython,IronPython将更容易理解。当然,您仍然需要了解一些C#并可以访问.Net SDK文档。没有它,IronPython很难完成有用的工作。

您还可以查看粉丝语言。它不是纯粹的动态,它是静态和放大的混合物。动态。和大多数较新的语言一样,它是纯粹的OO,具有功能性的混合。它也可以在JVM和CLR平台上运行。

语法明智地它更接近C#,带有大量的糖语法,所以它看起来像C#与Ruby / Python融合。

由于语言是新的,只有3年,它的表现还不是很好。

2014年2月21日更新: Fan将其名称更改为 Fantom

查看 Clojure 。 CLR版本仍处于早期阶段,但您可以通过 IKVM

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top