C++与其他编程语言的关系

  次阅读 作者:智能小宝 来源:互联网 2016-01-26 10:33 我要评论(0)

读者可能很熟悉编程和编程语言的基本概念,下面从普遍的意义上简要描述一下本书将用到的一些术语,并阐述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 库

每次编写程序时,如果总是要从头开始编写,就相当烦琐。在许多程序中,常常需要某种相同的功能,例如从键盘上输入数据,或在屏幕上显示信息。为 了解决这个问题,编程语言提供了大量预先编写好的代码,以执行标准的输入输出操作,这样就不必重新编写这些代码了。

可用于任意程序的标准代码都保存在一个库中。编程语言附带的库跟语言本身一样重要,因为库的质量和使用范围对完成某一编程任务所需的时间有非常 大的影响

本站文章信息来源于网络以及网友投稿,本站只负责对文章进行整理、排版、编辑,是出于传递更多信息之目的,并不意味着赞同其观点或证实其内容的真实性。如果您有什么意见或建议,请联系QQ28-1688-302!

人工智能实验室
相关文章相关文章
  • 韩春雨称已能重复实验结果 近期将有消息公布

    韩春雨称已能重复实验结果 近期将有消息公布

  • 未来两年人工智能要怎么走?看这篇就够了

    未来两年人工智能要怎么走?看这篇就够了

  • 无人驾驶汽车如何改变城市生活?听听他们怎么说

    无人驾驶汽车如何改变城市生活?听听他们怎么说

  • 英国研发“杀生”机器人 通过生命体获取能量

    英国研发“杀生”机器人 通过生命体获取能量

网友点评网友点评
阅读推荐阅读推荐

据国外媒体报道,在过去两年内,聊天机器人(chatbot)、人工智能以及机器学习的研发和采用取得了巨大进展。许多初创公司正利用人工智能和...

霍金 视觉中国 图 英国著名物理学家霍金(Stephen Hawking)再次就人工智能(AI)发声,他认为:对于人类来说,强大AI的出现可能是最美妙的...

文|郑娟娟 今年,人工智能(AI) 60岁了。在AI60岁的时候,笔者想要介绍一下AI100,一个刚刚2岁的研究项目,但它的预设寿命是100年,甚至更长...

AlphaGo与李世石的人机大战,为大众迅速普及了人工智能的概念。 但对谷歌而言,除了下围棋,现在的人工智能进展到哪一步了?未来,人工智能...