意思是“IronPython是Python编程语言的一种实现”

2024-09-28 22:26:03 发布

您现在位置:Python中文网/ 问答频道 /正文

我知道这个问题看起来很宽泛和主观,但我始终坚持对IronPython的这种定义-“IronPython是Python编程语言的一种实现”,如果有这样的帖子准确地回答了这个问题,请随时将其标记为重复。在

到目前为止,我对此的理解是:

1)Iron python只不过是托管库(铁蟒.dll)用C编写并使用CLR

2)Iron python托管代码在内部使用标准python库(作为Iron python的一部分安装)来使用DLR桥接gap。在

What is actual execution run time for any python code here ? Is it Python interpreter ? Does this interpreter runs in different process ?

(三)铁蟒.dll公开api,以便与python代码与任何其他.net语言集成。在

我确信我的理解有些地方是不正确的-“IronPython是Python编程语言的一种实现”,因为从这一点来看,Python语言似乎是一种契约,它指定了如何编写检查条件if condition,而像iron Python这样的实现者负责将其转换为IL代码。是这样吗?在

感谢您的任何帮助或指示。在


Tags: 代码标记语言标准定义编程语言帖子dll
1条回答
网友
1楼 · 发布于 2024-09-28 22:26:03

不要把编程语言看作是真正的软件,而是要把它看作“规范”。这意味着我可以指定一种编程语言,但不一定要实现它。实现一种语言意味着编写一个程序,该程序接受该语言的代码,并完全按照规范的要求“运行”它。在

csc编译器不是C语言本身,而是C编程语言的一个实现。C语言由C语言规范定义。语言规范定义了什么是语言。这种语言的实现应该完全按照语言规范的要求编译/解释代码。在某种意义上,语言规范是编程语言。在

IronPython是一个实现,因为它是一个程序,它接受一个python代码的字符串作为输入,然后按照python specification的方式进行操作。这就是所谓的“实现”。在

铁蟒的作用是:

An alternate Python for .NET. Unlike Python.NET, this is a complete Python implementation that generates IL, and compiles Python code directly to .NET assemblies.

因此,Iron Python使用一些Python代码,对其进行一些处理,并输出行为完全符合语言规范要求的IL。这使得IronPython成为Python语言的“实现”。在

CPython被认为是python的另一个实现,因为它基本上做的是相同的事情:获取一些代码,将其转换为行为完全符合语言规范的可执行文件。在

相关问题 更多 >