之前就看过有人说 interpreter 和 compiler 是不同的,但是之前对于这两者之间的区别是比较感性的,只是知道 interpreter 是解释器,而 compiler 是编译器,一个用于动态语言,一个用于静态语言。

而对于动态语言和静态语言的区别,我觉得就是一个表示变量是无法更改类型的,而一个是可以更改的。一个是提前编译好,一个是一行行执行的。

这两天在看 pythonlearn.com 的内容,pdf 的书里 1.6 章节就是这两者的区别。compiler 最终实现的是所有的都已经转成 machine language 了。是可以直接运行的,但是 interpreter 是可以临时交互的。