写在前面:
1.源代码:采用某种编程语言编写的程序,人类可读
eg: a = 2 + 3
2.目标代码:二进制代码。计算机可直接执行,人类不可读(专家除外)
eg:11011001 11100010
一、编译
借助一个程序,一次性地把目标代码翻译成机器真正能懂的语言--目标代码。计算机在读取时可以直接使用目标代码来执行。
一次性翻译,之后便不再需要源代码。类似于翻译一篇英文文章。
优点:程序运行速度快,代码优化更充分。
静态语言:使用编译执行的编程语言。eg:C、C++、Java
二、解释
解释是只有在程序执行时才会去翻译程序,即为边翻译边执行,将源代码逐条转换成目标代码同时逐条运行。
程序运行时,翻译即时开始。类似于同声传译。
优点:代码维护灵活(保留源代码),可跨多个操作系统
脚本语言:使用解释执行的编程语言。eg:Python、JavaScript、PHP