与C#相比,Boo感觉更像Pythonic,但它也被编译为.NET MSIL。我喜欢它的语法,甚至比C#的语法还要多。但我找不到一本教Boo的书。
我真的不知道,如果学习Boo比C#好,或者学习C#比Boo好。我只想使用一些类似Python的数据类型。那些是:
{key1:value1, key2:value2}
→字典[Value1,Value2,Value3]
→列表(可以编辑/更改)(Value1,Value2,Value3)
→元组(无法编辑/更改)我使用字典而不是列表和元组。我想知道,哪一个更好?
答案 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,它很容易上手。 Qt,Python Bindings