※ [本文转录自 C_and_CPP 看板 #1KQisME6 ]
作者: littleshan (我正在想要换什么) 看板: C_and_CPP
标题: Re: [理工] 程式语言观念
时间: Tue Nov 18 12:39:47 2014
※ 引述《gauss760220 (宅哥)》之铭言:
: ※ [本文转录自 Grad-ProbAsk 看板 #1KQe7Yfy ]
: 作者: gauss760220 (宅哥) 看板: Grad-ProbAsk
: 标题: [理工] 程式语言观念
: 时间: Tue Nov 18 07:16:47 2014
: 国考里面有个题目
: "为何Interpreter比Compiler更容易加入新的程式语言观念?"
: 请问这题该怎么回答?
这个命题根本就是错的。
Interpreter 是给一段程式码,它直接跑出结果送给你。
Compiler 是给一段程式码,它翻译成另一个语言、会跑出同样结果的程式码。
它们的差别只有在最后产出结果的地方不同,
而前面的 parsing 与 semantic check 则完全相同。
对程式语言来说,前面的部份才是关键。
现在的语言早就没在分什么 interpreter 与 compiler,
都嘛是做在一起,像 python / ruby / haskell / ocaml,
它们都同时具备 compiler 与 interpreter,
也都有很丰富的语言特性。
就像“compiler产生的程式码跑得比interpreter快”之类的命题,
这些其实都是以讹传讹的错误印象。
compiler 与 interpreter 差别就只是一个做翻译、另一个给结果,
没有道理哪个比较容易修改、或哪个执行起来比较快。