第一章 C++简史 (《C++Primer Plus》读书笔记)

1.C++简介

C++融合了过程性编程语言、面向对象编程思想、泛型编程思想三种不同的编程方式。C++是在C语言上的基础上开发出的一门编程语言,C语言为C++提供了基本类型、运算符、控制结构和语法规则。

2.C++简史

(1)C语言及其编程原理

        20世纪70年代贝尔实验室的Dennis Ritchie想要开发Unix操作系统,开发这样的系统需要一门简洁、高效、快速并且能够控制硬件的编程语言,于是发明了C语言。Unix系统想要在不同的计算机上运行,因此需要很强的移植性。于是一种被称为编译器的特殊程序将高级语言翻译成特定的计算机的内部语言,使其设想成立。

        一般来说计算机语言需要处理两个概念,数据和算法。数据是程序使用和处理的信息,而算法是程序使用的方法。C语言是属于过程性编程语言,因此它注重于编程的算法方面。也就是说首先要确定计算机应采取的操作,然后使用编程语言来实现这些操作。程序命令计算机按照一定的流程进行操作,从而生成特定的结果。

        随着计算机(内存)的发展,我们所开发的程序的体量越来越大,因此早期的编程语言都会出现代码组织方面的问题。(因为旧式的程序运用许多分支语句,使程序执行的路径非常混乱。)为了解决这个问题,计算机科学家们发明了更有序的编程方法-结构化编程。C语言就是采用了这用方法。C语言程序的另外一个特点是,程序采用自顶而下的设计。即把大型程序分解为便于管理的小型任务。结构化编程反映的就是过程性编程的思想。

 (2)OOP编程

        结构化编程仍然存在着一些问题。为了解决这些问题,我们逐步采用了面向对象的编程思想。面向对象编程强调的是编程的数据,而不是算法。过程性编程试图使问题满足语言的过程性,而OOP编程强调的是让语言来满足问题的要求。其理念是设计与问题的本质特性相对应的数据格式。

      在C++中,class是一种规范,而class实例化出来的对象是按照这种规构造的数据结构。OOP程序首先设计类,他们准确的描述程序要处理的东西,它采用的是自下而上的编程思想。即从低级组织到高级组织。

      OOP的作用在于:有助于创建可重用的代码以减少工作量、信息隐藏以保护数据使其避免不适当的访问、多态能够为运算符和函数创建多个定义,通过上下文确定使用哪个定义、继承能够使用旧类派生新类。

(3)泛型编程

        泛型编程是C++另一个技术主流。它和OOP 的目标相同,即使重用代码和抽象通用的概念更加简单。但是OOP强调的是编程的数据方面,而泛型编程强调的是独立于特定数据类型。术语泛型指的是创建独立于类型的代码。C++在一开始是没有泛型编程的概念的,而是在后来引入模板的概念后,才使泛型编程称为可能。

猜你喜欢

转载自blog.csdn.net/lintianyi9921/article/details/88806331