直译和编译的程式码互相唿叫并共享变数。这意味着一旦一个子程式在直译器中被测试併除错过之后，它就可以被编译以获得较快的执行进度。许多直译器并不像其名称所说的那样执行原始程式码，反而是把原始程式码转换成更压缩的内部格式。举例来说，有些BASIC的直译器会把保留字取代成可以用来在转移表中找出相对应指令的单一字节符号。直译器也可以使用如同编译器一般的文字分析器和语法分析器然后再转译产生出来的抽象语法树。可携性佳，直译式程式相较于编译式程式有较佳的可携性，可以容易的在不同软硬体平台上执行。而编译式程式经过编译后的