私はPythonのように、1つの混乱を持っているがなぜPythonが低レベルですか?
source code ->> byte code --> python virtual machine
を生成するC言語も、バイトコードを生成したり、それが直接コンパイルしていますか?
バイトコードが生成されない場合、低レベル言語と見なされるのはなぜですか?なぜならアセンブリがマシン上で直接実行されるため、アセンブリはバイトコードを生成しないからです。
私はPythonのように、1つの混乱を持っているがなぜPythonが低レベルですか?
source code ->> byte code --> python virtual machine
を生成するC言語も、バイトコードを生成したり、それが直接コンパイルしていますか?
バイトコードが生成されない場合、低レベル言語と見なされるのはなぜですか?なぜならアセンブリがマシン上で直接実行されるため、アセンブリはバイトコードを生成しないからです。
バイトコードはCPUに自然ではないため、解釈が必要です(インタプリタと呼ばれるCPUネイティブコード)。
あなたが書いたPythonのコードは、拡張子.pycファイルとファイルを作成するPythonバイトコードにコンパイルされます。コンパイルすると、コンパイルステップで作成されたpycファイルに存在するバイトコードが適切な仮想マシンによって実行されます。
Pythonコンパイラはありますか?
PyPy Pythonコード用のPythonコンパイラです。 Nuitka、Nuitkaは純粋なPythonをバイトコードに変換するのではなく、実行時にlibpythonを使用しながらマシンコード(C++コンパイラ経由)に変換しようとします。もう一つはShedSkinです。それは、暗黙的に静的に型付けされたPythonをC++、スタンドアロンプログラムまたは拡張モジュールにコンパイルします。
あなたの視点によって異なります。 – 2501
言語が機械語に直接コンパイルされている場合、または言語が低レベルであるかどうかにかかわらず、ほとんどまたはまったく影響しません。解釈された言語であっても、低レベルである可能性があります。 –
https://en.wikipedia.org/wiki/Low-level_programming_language – donkon