我目前的大部分编程项目(主要是小程序和原型的快速开发)都使用 Python。我想花时间学习一门语言,只要有机会,我就可以灵活地使用各种 Microsoft 工具和 API。我正在尝试在 IronPython 和 C# 之间做出决定。由于 Python 是我最喜欢的编程语言(主要是因为它简洁明了的语法),IronPython 听起来像是理想的选择。然而,在阅读了一点之后,我有几个问题。
对于那些使用过 IronPython 的人来说,是否曾经不清楚经典 Python 在哪里结束而 .NET 从哪里开始?例如,.NET 库和 Python 标准库之间的功能似乎有很大的重叠,所以当我需要进行字符串操作或解析 XML 时,我不清楚应该使用哪个库。另外,我不清楚何时应该在我的代码中使用 Python 和 .NET 数据类型。例如,我将在我的代码中使用以下哪一项?
d = {}
或者
d = System.Collections.Hashtable()
(顺便说一句,如果我做很多像后者这样的事情,我可能会失去一些简洁性,这就是为什么我首先偏爱 Python。)
另一个问题是 Microsoft 的一些开发工具,例如 .NET CF 和 Xbox XNA,在 IronPython 中不可用。是否还有更多 IronPython 无法让我充分利用 C# 的情况?