Несколько факторов, которые мешают создать компилятор для программ на Python и сделать Python компилируемым языком:
- Динамическая типизация. 1 Например, как определить тип переменной на этапе компиляции, если в Python можно изменять тип переменной в любом месте программы. 3
- Наличие функций, свойственных интерпретируемым языкам программирования. 1 Например, в Python можно во время выполнения записать в любую строковую переменную кусок кода и выполнить его. 1 Чтобы это сделать, необходим интерпретатор, который будет исполнять такой код. 1
При этом Python уже имеет компилятор и в некотором смысле является компилируемым языком. 1 Стандартная реализация Python, CPython, автоматически компилирует исходный код Python в байт-код и выполняет его через виртуальную машину. 3