从技术角度

脚本是被解释的

程序是被编译的

脚本语言(JS,VBA)用于控制另一个应用程序,JS控制Web浏览器,VBA宏控制Office应用程序,需要宿主应用程序才能执行。

Python可以执行任何其他计算机语言编写和编译的程序,无须重复开发,即可添加功能。

程序语言(C++,C#)独立于其他应用程序而执行。

 

过去,解释器和编译器是二选一的问题。如今,很多既使用编译器也使用解释器。

Python解释器将程序语句转换为字节码语句,保存为pyc文件,Python虚拟机即解释器将pyc文件里面的字节码转换为第几机器语言代码(字节码是虚拟机执行的机器语言)。

 

为什么不直接翻译成低级机器语言代码?

中间代码可以进行细小的优化

如果存在同名的pyc文件,Python可以不必重新编译源代码,节省些许时间。

 

满足五要素的良序语句集(指令、命令)即为算法,算法是逐步解决一个给定问题的过程,食谱也是一种算法,计算机程序(脚本)是一种用计算机可以理解的语言编写的算法。