众所周知,一个程序能被大量用户使用,就说明程序有很大的使用价值我们也都希望自己编写的程序能够被更多的人喜欢并使用。然而,如果运行环境不同,程序就无法运行。这是为什么呢?读了第七章后我才明白。运行环境=操作系统+硬件。程序中就包含着运行环境这一内容。操作系统和硬件决定了程序的运行环境。同一类型的硬件可以选择安装多种操作系统。
第七章还提到了Java编程语言,原来除了是一种高级编程语言外,Java还可以通过虚拟机(JVM)实现跨平台运行,这一点在我初次接触时确实感到有些困惑。简单来说,Java源代码经过编译后生成字节码,这种字节码能在任何安装了Java虚拟机的环境中运行,实现了“一次编写,到处运行”。
计算机的硬件并不仅仅是由 CPU 构成的,还包括用于存储程序指令和数据的内存,以及通过 I/O 连接的键盘、显示器、硬盘、打印机等外围设备。Windows 操作系统对克服这些硬件构成的差异做出了很大贡献。同样机型的计算机,可安装的操作系统类型也会有多种选择。但是,应用软件必须根据不同的操作系统类型来专门开发。CPU 的类型不同,所对应的机器语言也不同,同样的道理,操作系统的类型不同,应用程序向操作系统传递指令的途径也是不同的。API 也称为“系统调用”,是应用调用操作系统功能的手段。在同类型操作系统下,不管硬件如何,API 基本上没有差别。因而,针对某特定操作系统的 API 所编写的程序,在任何硬件上都可以运行。程序的运行环境是由操作系统和硬件来决定的。