Python是托管代码语言吗?

ajk*_*hol 5 c# python

我在这里是NOOBish,但由于The Heartbleed Bug,我对托管代码非常感兴趣.

我最近在HN读到这句话,其中说:

C和其他没有内存检查的语言不适合编写安全代码.显然不合适.它们需要被限制为编写一个小型核心系统,最好小到可以使用正式(基于证据的)方法进行检查,其余所有应用程序逻辑都应该使用托管代码(例如C#, Java,或其他 - 我没有偏好).

那么Python是一种托管代码语言还是托管代码只是一个Microsoft术语?

Gab*_*abe 5

我会考虑管理 Python,因为它在一个虚拟环境中运行,为您执行所有内存管理,不允许指针,执行数组边界检查等等.

它的管理不是因为它在CLR中运行(除非您使用的是IronPython),但它仍然受到管理.

  • @ ajkumar25:没错!如果可以管理Java,那么Python,LISP,Haskell等也可以. (2认同)

tra*_*3nt 5

我发布这个因为我无法评论,但Palak.Maheria评论Python是非托管代码应该是不正确的.Python确实是托管的..如果没有中介,您将无法运行托管代码.现在,很难具体定义什么是中介,但假设你被称为汤姆.您开发了一种名为Tom的编程语言和编译器.现在,为了让windows了解Tom的编程语言,你需要这个中介.

例如,在Windows上,您可以直接运行批处理文件和本机C/C++应用程序.在python的情况下,Windows无法识别它.因此,您需要安装和使用python解释器,您的python应用程序将在"python虚拟环境"上运行.这个概念与Java和.NET完全相似,您需要分别使用JVM和CLR.在这种情况下,python环境不称为CLR,但它被认为是托管的.

正如该术语所暗示的,托管意味着某人/某事正在为您管理某些事情.管理什么并不重要,这是重要的概念.

如果我错了,请纠正我.