1.1 初识高级编程语言
当两个人使用不同的语言时,如果要相互沟通,就必须请翻译员充当沟通的桥梁,有时甚至要经过好几个翻译员的翻译。例如,佛祖最初在印度讲佛经采用的是梵语,后来由唐僧翻译成中文,再后来鉴真和尚又把中文的佛经翻译成日文,传到日本。
首先,悟空想让计算机模仿智多星说话。如图1-1所示,悟空先用猴语幽默地对计算机大声喊:“嘿,伙计,帮我在屏幕上打印一行字符串‘大家好,我是智多星’。”可是计算机置若罔闻,它又不是猴脑,哪懂得悟空的猴语啊。悟空宽宏大量地对计算机笑笑,经过西天取经的磨炼,悟空已经改了动不动就亮出金箍棒吓唬人的毛病。他明白,要与对方交流,首先要熟悉对方使用的语言,实在学不会,就得请个翻译员。
图1-1 悟空试图用猴语与计算机对话
计算机作为硬件,只懂得由“1”和“0”排列组合成的机器指令语言。机器指令语言又复杂又枯燥,悟空可不想学呆板的机器指令语言。幸运的是,悟空可以不必直接用机器指令语言和计算机对话,而是请计算机中的“翻译员”——操作系统来进行沟通。
下面以悟空访问IE浏览器程序为例,介绍操作系统如何在悟空和计算机之间充当“翻译员”。如图1-2演示了悟空运行Windows操作系统中的IE浏览器程序的过程。悟空只需双击IE浏览器程序图标,聪明的Windows操作系统就明白了悟空的意图,它就会与计算机交互,请求计算机运行IE浏览器程序。Windows操作系统就像悟空与计算机之间的翻译员。
图1-2 悟空与Windows操作系统对话,让其运行IE浏览器程序
从图1-2可以看出,大总管Windows操作系统八面玲珑,精通多种语言,既能与悟空沟通,还能读懂IE浏览器程序中的二进制操作指令,并能把二进制操作指令翻译成机器指令,最后用这种机器指令语言对计算机发号施令。
悟空如果想让计算机模仿智多星说话,只需要编写一个模拟智多星说话的程序,接下来让操作系统来运行这个程序就行了。以Windows操作系统为例,它的可以执行的程序(简称可执行程序)通常都是以“.exe”作为扩展名的文件。这些可执行程序和IE浏览器程序一样,包含了二进制的操作指令,这些操作指令只有Windows操作系统才能看得懂。
如图1-3所示,模拟智多星的可执行程序中包含的是二进制的操作指令,可是悟空根本没有耐心去学习这些和机器指令语言一样枯燥乏味的操作指令。
图1-3 悟空与Windows操作系统对话,让其运行模拟智多星的可执行程序
幸运的是,悟空可以用高级编程语言来编程,高级编程语言与人类语言在语法上更加接近,比较容易掌握。可是,操作系统并不懂高级编程语言,因此还必须想办法把用高级编程语言编写出来的源程序转换为操作系统看得懂的可执行程序,这个转换的过程叫作编译。
如图1-4所示,悟空用高级编程语言编写了一个模拟智多星的源程序,接下来用现成的编译器软件把源程序编译为可执行程序,然后让操作系统来运行这个可执行程序。
图1-4 程序的编写、编译和运行过程
从图1-4可以看出,悟空要想让计算机能听从它的各种吩咐,主要的任务就是掌握一门高级编程语言,然后用它来编写源程序。