好吧,经过很长一段时间用C#编写.net程序,我开始对静态类型语言带来的所有语法垃圾感到愤怒和沮丧.现在我想改用动态类型语言,它利用了CLI.所以我搜索了一下,我不喜欢我所看到的.我首先找了IronPython.但该项目感觉杂乱无章,它看起来并不好看.然后我听说了Boo.我喜欢boo,理想和所有,但它有点像项目停止.然后我听说IronRuby,但该项目仍处于测试阶段,所以我决定等到它变得更加成熟.
因为我找不到一个好的CLR兼容动态语言,我问你们你们(你们)会用什么?
由于人们开始询问不选择IronPython的原因是什么.好吧,原因是,正如我之前所说的那样,它似乎杂乱无章.为什么?
1-主页指向codeplex的另一个页面,主页应该是干净的,只是指出IronPython的优点,以IronRuby页面为例http://www.ironruby.net/它隐藏了语言开发的东西user(即使用户在使用之前必须访问IronRuby的svn).IPython在创建时试图添加什么样的问题.是否有包含此类信息的页面?那么页面就在那里,但它隐藏在"更多信息页面"中的一堆无意义的文章链接中.在Boo的页面上,它清晰可见,名为Manifesto http://boo.codehaus.org/BooManifesto.pdf.
我有更多的感觉,即IPython只是一个家庭酿造的翻译,尽管它实际上具有质量.我觉得下载Boo并使用IronPython更安全(但不用担心微软我也下载了IPython).
关于Duck-Typing和Boo的静态打字,它们似乎对我来说都很好.
我还是会用Boo.我不确定你为什么认为Boo被制止了.开发有时似乎很慢,但目前有很多人正在处理错误修复,正如最近修复的问题(错误)列表所示.
对于那些不熟悉Boo的人来说,它与Python非常相似,但包括Python没有的东西(比如字符串插值和合成宏).您可以编译嘘程序或通过"嘘交互Shell"使用嘘booish.
顺便说一下,几年前我看过它时,我不喜欢IronPython.对我而言,它看起来像是CLI的直接Python端口,但据我所知,它不包括典型的.NET开发所需的新功能.
编辑:自从我第一次看到它以来,IronPython似乎确实取得了进展(感谢Curt指出这一点).但是,自从我找到Boo之后,我再也没有费心去看IronPython.
在实际可用性方面,IronPython现在是您最好的选择.
人们为什么建议Boo?这是一种静态类型的语言,这不是这个问题所要求的.是的,我知道它有可选的鸭子打字,但是如果问题作者可以接受与Boo相关的信息,那么问题应该真正进行编辑以使其清楚.
关于IronPython,你说你不喜欢它,但我真的没有任何回复可以给那些模糊的评论:)
或者,我建议你看一下cPython.几点:
您可以使用py2exe和其他工具构建.exe文件.
对第三方Python库和框架的更大访问权限
通过pywin32访问Windows API
用C编写的Python扩展是可用的(不像IronPython,尽管正在努力改善这种情况)
你会发现大多数事情你真的不需要.NET.当然这一切都取决于您的应用.为了与现有的.NET代码集成,显然你必须使用IronPython.
你说你想要"动态",但如果动机只是为了避免"所有语法垃圾",你应该看看 F#.它是静态类型的,但具有动态语言的轻松语法感觉,以及交互模式(REPL循环).