Boo vs C#vs Python?

时间:2009-10-06 09:47:06

标签: c# python programming-languages boo

与C#相比,Boo感觉更像Pythonic,但它也被编译为.NET MSIL。我喜欢它的语法,甚至比C#的语法还要多。但我找不到一本教Boo的书。

我真的不知道,如果学习Boo比C#好,或者学习C#比Boo好。我只想使用一些类似Python的数据类型。那些是:

  • {key1:value1, key2:value2}→字典
  • [Value1,Value2,Value3]→列表(可以编辑/更改)
  • (Value1,Value2,Value3)→元组(无法编辑/更改)

我使用字典而不是列表和元组。我想知道,哪一个更好?

5 个答案:

答案 0 :(得分:14)

我发现Boo在创建简单的一次性脚本时非常有用,同时保留了我的Pythonic源代码风格。并且由于它编译为可运行的EXE或DLL,我可以使用ILMerge将所有需要的DLL(包括Boo.Lang.dll)打包到单个EXE,然后将其发送到客户端,通常用于某种快速故障排除或系统诊断。

我也使用Boo来支持我的C#开发。我经常启动一个Boo解释器来尝试字符串或日期格式的变化,然后我可以将最终版本直接复制到C#中。

darned 很难找到Boo的文档。我不得不谷歌找到泛型的语法,因为它们是Boo的一个相对较新的补充,并且在任何教程甚至参考页面中都没有提到。谷歌搜索“嘘”产生了不少不必要的命中,使搜索更加困难。

简而言之,不要在Boo和C#之间做出选择 - 它们实际上相互补充。

答案 1 :(得分:6)

我的一般意见是,最好选择C#,因为从我的角度来看,更容易找到C#的资源​​,文档和教程。

答案 2 :(得分:3)

如果您想从事.NET开发,那么了解C#对您非常有用。但是学习Boo可以让你在.NET环境中使用类似Python的功能。您也应该查看IronPython,其中有可用的书籍(Iron Python in Action

答案 3 :(得分:2)

.Net中有列表和词典:System.Collections.Generic.List和System.collections.Generic.Dictionary。

至于语言:只要学习一个对你来说更有趣的东西。语言的选择通常是宗教性的。特别是在.Net平台上,每种语言都具有几乎相同的功能。

答案 4 :(得分:0)

我不确定你的最终目标是什么,但在你放弃python之前,请查看python / Qt组合以构建一个gui。你可以构建复杂的跨平台guis,它很容易上手。 QtPython Bindings