C++与其他编程语言的关系 |
读者可能很 相熟编程和编程语言的 根本概念,下面从 广泛的 意思上简要 形容一下本书将用到的一些术语,并 阐述C++与 其余编程语言的关系 。 无论 使用哪种编程语言,编写出来的程序都是由各个指令组成的 。这些指令就称为源代码,存储在磁盘的源文件中 。当前有许多编程语言,每一种语言都有其优缺陷,都有其吹捧者和批判者 。除了C++之外,读者 定然还据说过BASIC、COBOL、FORTRAN、PASCAL和C等编程语言 。 例如,FORTRAN语言就有将近40年的历史了,当前仍 宽泛 利用于科学和工程计算中,但C++和 其余语言也逐步进入这些领域 。COBOL语言专门用于商务数据 解决 利用程序,它的历史 几乎与FORTRAN语言一样长 。当前 几乎不用COBOL编写新代码,而是多年前编写的大量代码仍在 使用 。C++也逐步成为许多商务数据 解决程序的可选语言 。 C是C++的前身,由于这两种语言有许多一起的语法和 性能 。实际上,C编程语言是C++的一个子集 。然而,C++在进展过程中进行了许多 扩大和改良,使之成为一种成熟的语言,并且,C++比 性能更 壮大, 用处更 宽泛 。 1.1.1 解释性的程序和编译性的程序的执行过程 编程语言的 目标是,与计算机 可以执行的程序相比, 可以更 方便地 形容 盼望计算机执行的动作 。计算机不得不执行包括机器指令(也称为机器代码)的程序,不能直接执行我们编写的程序 。用前面提到的语言编写的程序 根本上有两种执行 模式,在大多数状况下,一种语言会 取舍其中一种执行 模式 。例如,用BASIC语言编写的程序通常是解释性的,也便是说,另一个称为解释器的程序会 审查BASIC源代码,确定该程序要做什么,再让计算机 实现这些动作 。见图1-1 。 图 1-1 而C++是一种编译语言 。在执行C++程序之前,必须用另一个程序(即编译器)把它转换为机器语言 。编译器会 审查C++程序,并生成机器指令,以执行源代码指定的动作 。固然,解释和编译都不像这里 形容的那样 方便,但其工作原理便是这样 。 使用解释性语言,执行过程是 直接的,也便是说,每次执行程序时,都需求确定源代码的 用意 。 因此,这种语言比编译语言的对应程序的执行速度慢得多,有时要慢100倍 。任何一种语言要么是解释性的,要么是编译性的,这通常由该语言的设计和 用处来决定 。 这个 规定的一个例外是Java,它是一种相当新的语言,它 存在C++的许多 特点 。由于Java主要用于在不同计算机中间移植以及用在Internet上,所以它 根本上是一种解释性的语言 。 只管如此,还有一种just-in-time编译器 可以在执行过程中,为Java源代码生成对应的机器码,从而大大 普及了执行速度 。 1.1.2 库 每次编写程序时,假如总是要从头开始编写,就相当 繁琐 。在许多程序中, 一般需求某种 雷同的 性能,例如从键盘上输入数据,或在屏幕上显示信息 。为了解决这个问题,编程语言提供了大量预先编写好的代码,以执行 标准的输入输出操作,这样就 毋庸再一次编写这些代码了 。 可用于任意程序的 标准代码都 保留在一个库中 。编程语言附带的库跟语言 本身一样主要,由于库的 品质和 使用 规模对 实现某一编程 使命所需的 工夫有十分大的影响 |