5

I am being NOOBish here but i am very much interested about managed code due to The Heartbleed Bug.

I recently read this statement in HN which says:

C and other languages without memory checks are unsuitable for writing secure code. Plainly unsuitable. They need to be restricted to writing a small core system, preferably small enough that it can be checked using formal (proof-based) methods, and all the rest, including all application logic, should be written using managed code (such as C#, Java, or whatever - I have no preference).

So is Python a Managed Code Language or is managed code just a Microsoft terminology?

R Sahu
  • 204,454
  • 14
  • 159
  • 270
ajknzhol
  • 6,322
  • 13
  • 45
  • 72

3 Answers3

6

I would consider Python to be managed because it runs in a virtual environment that performs all memory management for you, does not allow pointers, does array bounds checking, and so on.

It is not managed in that it runs in the CLR (unless you're using IronPython), but it is managed nonetheless.

Gabe
  • 84,912
  • 12
  • 139
  • 238
5

I'm posting this since I can't comment, but Palak.Maheria's comment that Python is unmanaged code should be incorrect. Python is indeed managed.. You are unable to run managed code without an intermediary. Now, it is difficult to specifically define what is an intermediary, but assuming if you're called Tom. You develop a programming language and compiler called Tom. Now, in order for windows to understand Tom's programming language, you need this intermediary.

For instance on windows you can directly run batch files and native C/C++ applications. In the case of python, windows doesn't recognize it. Thus, you'll need to install and use the python interpreter and your python application will run on an "python virtual environment". This concept is exactly similar to Java and .NET where you need the JVM and CLR respectively. In this case, the python enviroment isn't called CLR, but it's considered managed.

As the term suggests, managed means someone/something is managing something for you. It doesn't matter what is being managed, it's the concept that matters.

Please correct me if I am wrong.

transcend3nt
  • 101
  • 1
  • 4
0

Python is un managed code.

Please refer following link:

What exactly is "managed" code?

Community
  • 1
  • 1
Palak.Maheria
  • 1,497
  • 2
  • 15
  • 32