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

88888 Dihedral dihedral88888 at googlemail.com
Fri Mar 1 01:21:31 EST 2013


kramer65於 2013年3月1日星期五UTC+8上午4時25分07秒寫道:
> 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!

I think a smart object can perform some experiments in its lifetime
in sensing and collecting data to improve its methods in the long run.

This will require a dynamical language definitely.




More information about the Python-list mailing list