|
|
|
|
|
by qznc
3985 days ago
|
|
> it's much harder to implement a compiled version of a dynamic language No it is not. All major dynamic languages can be compiled usually JIT. Every major browser has a JIT compiler for Javascript. Python, Ruby, and Lua have JIT-compiled forks/reimplementations. The difference of JIT vs ahead-of-time compilation is irrelevant for the high level of the article. |
|
JITs are profoundly different from standalone compilers. And are many times more complicated.
> The difference of JIT vs ahead-of-time compilation is irrelevant for the high level of the article.
No it's not irrelevant. JITs are starting to kick in at a very different point than the static compilers: they've got a path trace, runtime type information and profiling information, while the static compiler only got an AST.
JITs can do gradual refinement, and for this they may implement multiple different compilation techniques. Static compiler must do all it can at once, there is no other chance to improve.