在以多种维度理解软件构造时,以运行时(run time)的视角进行分析时需要具备一点基础知识。
其中可执行程序就是特别重要的一环。
课堂上把可执行程序分为以下几种:
Native Machine Code 本地机器代码
机器代码程序的效率十分的高,因为它直接与操作系统会话。
Full Interpretation 完全解释型
这种类型的可执行代码通过一个解释器与操作系统会话,典型的代表就是shell
Interpreted Byte Codes 解释的字节码
通过把源代码转换为字节码,在于操作系统对话。不同语言的具体实现方式不一样,
java通过java虚拟机在编译时将编译前的字节码转换为机器码,完成解释。
python则通过编译器将源代码转换为字节码,与java不同,它不在编译时进行解释,而是在运行时进行解释。
这只是一个小的部分,理解了这一部分的知识才能够以更为宏大或者说是全面地视角看待软件构造。
而这也是之前体会不到的,都是回过头来才发现前面的不同维度看软件构造这个视角是多么的提纲挈领。