|
|
|
|
|
by kyllo
4380 days ago
|
|
CPython is both compiled and interpreted. His point was that the Python source code does not get interpreted, it gets compiled to bytecode that gets interpreted by a bytecode interpreter (a VM). He was dispelling the common misconception is that Python is an "interpreted language" and Java is a "compiled language," when the reality is that (in their most common implementations) both of these languages are compiled to bytecode that is then interpreted by a VM. This is in contrast to both languages that are purely interpreted (like toy Lisp implementations are and I think Ruby MRI used to be) as well as languages that are purely compiled to native binaries (like C/C++, Haskell, Go). |
|
My point was almost every mainstream interpreter does this (and has been for decades). So him saying "Python... was an interpreted language. While not completely wrong, it is not entirely true either." is confusing and inaccurate. It is completely true that Python is interpreted (and like almost every other interpreted language its the bytecode that is interpreted not the source code).
When I was doing my undergrad we had an assignment to write an interpreter, at the end of class our new assignment was to make it 10x faster. So we did this by converting the parse tree to bytecode rather than directly executing it as it parsed. It wasn't hard or advanced work.