Why is it impossible to create a compiler than can compile Python to machinecode like C?

kramer65 kramerh at gmail.com
Thu Feb 28 15:25:07 EST 2013


Hello,

I'm using Python for a while now and I love it. There is just one thing I cannot understand. There are compilers for languages like C and C++. why is it impossible to create a compiler that can compile Python code to machinecode?

My reasoning is as follows:
When GCC compiles a program written in C++, it simply takes that code and decides what instructions that would mean for the computer's hardware. What does the CPU need to do, what does the memory need to remember, etc. etc. If you can create this machinecode from C++, then I would suspect that it should also be possible to do this (without a C-step in between) for programs written in Python.

Where is my reasoning wrong here? Is that because Python is dynamically typed? Does machinecode always need to know whether a variable is an int or a float? And if so, can't you build a compiler which creates machinecode that can handle both ints and floats in case of doubt? Or is it actually possible to do, but so much work that nobody does it?

I googled around, and I *think* it is because of the dynamic typing, but I really don't understand why this would be an issue..

Any insights on this would be highly appreciated!




More information about the Python-list mailing list