C++语言程序设计

既然机器语言和汇编语言都是计算机可以理解的语言，使用它们可以完全控制计算机的行为，那么为什么人们还要创造并使用高级程序设计语言呢？
因为机器语言和汇编语言都是低级语言，是面向机器的，与具体的计算机相关。学习起来困难，编程效率也低，可读性、可维护性也差。还是举个例子来说明。一个中国北方人想要去欧洲旅行，可是他不懂任何一门欧洲语言；恰好，一个懂得德语、英语、法语、西班牙语等所有欧洲语言的中国南方人也去欧洲旅行，他们结伴同行。中国北方人想要同欧洲人交流，有两种方式：一是学习各种欧洲语言，然后同各个国家的人直接交流；二是让那个南方人当翻译，将自己的意思讲给欧洲人听，并将欧洲人的回答反馈给自己。如果您是那个北方人，您选择哪种方式？我想答案是确定的，肯定要请南方人当翻译。虽然北方和南方在语言上也有一定的差异，但是比起同欧洲语言的差异来，这种差异显然太小了。况且，如果直接同欧洲人交流，需要学习多少门语言？
高级语言和计算机的关系，与北方人的语言和欧洲人的关系相似。高级语言编写的程序借助于编译器就可以在特定的机器上运行，那些不同的欧洲人相当于不同的计算机，那个南方人相当于编译器，而那个南方人所熟悉的汉语则相当于计算机高级语言。高级语言编写的程序是由一系列语句（或函数）组成的，其中每一个语句都对应着几条、几十条甚至上百条机器指令的序列，这样的一条语句功能显然增强了，所以用它开发程序比用低级语言开发效率高得多。同时，由于高级语言的编写方式更接近人们的思维习惯，这样的程序易读、易懂、易于维护。
高级语言的另一个优点，是它编写的程序具有一定的通用性。低级语言涉及到计算机硬件细节，所以不具有通用性。要使用高级语言编写的程序在某一计算机上运行，只要该计算机提供该语言的翻译系统即可。
既然高级语言有着低级语言无法比拟的优势，是不是可以完全放弃低级语言呢？回答是否定的。首先，机器语言是最终操作计算机硬件的语言，任何高级语言程序想要在计算机上执行，首先必须翻译成机器指令；其次，虽然高级语言具有众多优点，但是执行速度比不上同样功能的低级语言，并且在对硬件的操作上，也不如低级语言灵活，所以在对程序速度要求高的场合如过程控制那样的实时系统中，或者编写某种新硬件的驱动程序时，仍然可以看到低级语言（主要是汇编语言）的影子。