Python 铁蟒vs剃刀

Python 铁蟒vs剃刀,python,ironpython,razor,Python,Ironpython,Razor,我对新的Razor语法有一点经验,但对IronPython没有经验。我想知道这两者是否满足相同的需求?一个是微软所青睐的,而不是另一个(或者将会)?感谢您的想法,因为我正在考虑学习Iron Python,但是如果Razor能够满足同样的需求,我可能不会。Razor是ASP.NET MVC 3的视图引擎,所以我相信它与IronPython所占的空间无关 如果我错了,那么我肯定错过了一些东西我参加了一个关于IronPython和IronRuby的工作人员的演讲。他似乎表达了一种普遍的看法,即Iron

我对新的Razor语法有一点经验,但对IronPython没有经验。我想知道这两者是否满足相同的需求?一个是微软所青睐的,而不是另一个(或者将会)?感谢您的想法,因为我正在考虑学习Iron Python,但是如果Razor能够满足同样的需求,我可能不会。Razor是ASP.NET MVC 3的视图引擎,所以我相信它与IronPython所占的空间无关


如果我错了,那么我肯定错过了一些东西

我参加了一个关于IronPython和IronRuby的工作人员的演讲。他似乎表达了一种普遍的看法,即IronPython不能像IronRuby或C#那样胜任构建现代ASP.NET MVC站点的任务。也就是说,从那时起,情况可能已经发生了变化


但你在把苹果和桔子做比较。IronPython是一种成熟的动态语言。Razor只是一种标记语言和视图引擎,用于在ASP.NETMVC站点中定义视图。控制器和应用程序的大部分代码仍然必须使用实际语言(如C#、Python或类似语言)编写。

要扩展PaulStack给出的答案:

Razor是一个模板引擎(倾向于模板化XML样式的文档,例如HTML网页),它在MVC 3中作为视图引擎提供,在ASP.NET网页(WebMatrix堆栈的一部分)中作为默认页面语法提供。Razor解析器使用关于XML文档结构的假设以及两种受支持的编程语言(C#和Visual Basic)中可用的结构,以最小化代码模式和标记模式之间所需的转换字符数

虽然它是以发出HTML为重点编写的,但它已被推广到支持任意文本模板任务(尽管在某些情况下,您可能需要使用特殊的转换标记来强制在代码和文本之间切换)

另一方面,IronPython是一种编程语言。它不是一个模板引擎,尽管它自然可以用来编写发出文本流的代码


如果你已经习惯使用C#(或VB),那么我建议你试试Razor。这是语言语法的一个相当简单的扩展,允许在标记和代码之间进行非常平滑的转换。

谢谢,我看到了这篇文章,它让我想到使用Razor不仅仅是MVC的一个视图引擎,因此问题就来了。我知道我可以在现有的Razor代码中包含名称空间,所以如果它将与Iron Python和Ruby的.net实现等东西竞争,我会感到困惑(现在仍然如此)。