C++ (一、简史)

来源:互联网 发布:一键上传淘宝软件 编辑:程序博客网 时间:2024/06/05 16:22

       斑马、老虎、孔雀、蚂蚁,古树、青草……自然的世界和谐生动,斑斓多姿;汽车、飞机、高铁、卫星、电脑、手机……社会的世界日新月异,五光十色。自然的世界之所以会生生不息,丰富多彩,是因为它们背后有一套共同遵守的法则——基因。基因的强大不在于它精妙的结构和统一的算法,而在于它的隔离和变异,这里之所以搬出隔离和变异这两个词,给你个眼神惊讶,自己体会。也许基因算法这个说法稍显班门弄斧,这里的算法不包括隔离和变异,算法仅指的是由基因序列指导生成蛋白质的过程,即基因算法的结果。而我们的社会的世界背后是否也有一套共同遵守的法则?睁开眼看看我们的世界,我们真的了解我们习以为常的这个社会的世界吗?也许你把了解理解成了使用,本也没奢望你能把了解理解成精通。是的,我所说的了解是你应该大致知道你所使用的这些工具是如何实现它这炫酷的功能。世界上没有任何一样工具是理所当然般出现的,没有任何一项功能是无缘无故的实现的,就像这个世界上没有无缘无故的爱一样,当然这里不应该也无意于讨论感情这么玄妙的话题。当我们开始真正的审视这个社会的世界的时候,由于我们已经在测绘自然的世界里各种各样的基因的序列,所以每一个人都不应该对眼前的事物视而不见,然后我们会惊讶地、天真无邪的发现,程序已经渗透到这个社会的世界的各个方面,俨然就像是自然的世界里的基因一样。因此,不管是眼前的还是未来的世界,都应该是由电力来驱动的,由电子来控制的。而电子控制的灵魂就是所谓的软件,所谓的程序,所谓的编程,所谓的语言。说了这么一大段废话,其实本意原是好的,就是想引起你的注意,不是我想引起什么注意,而是希望程序可以引起你的注意,引起你的兴趣。如果此时此刻,你瞪着一双好奇的眼睛问:什么是语言,什么是程序?我将由衷的高兴,因为你已经对语言,对程序产生了兴趣,对这是真的,你真的产生了兴趣,试想如此神奇的事情你怎么可能不产生兴趣呢?

       世界上的编程语言种类很多,各有各的用途,这里将主要介绍最具代表性的一种语言——C++。

       世界上第一台计算机于1946年问世于美国,1957年世界上第一种高级编程语言开发成功。这些创举诞生于何地何人,这都不重要,重要的是诞生于何时。1946年和1957年相对于我们有五千年历史的中国而言,说是昨天也不为过,作为中国人,就是这么的傲娇。但事情并没有这么的简单……闲话不说,单刀直入,直奔C/C++。

       先说C语言。上世纪七十年代,C语言以风骚的姿太引领大家进入了结构化编程的时代。在这,先不要问什么是风骚的姿势,什么是结构化编程。结构化编程把秩序和规程带到了迫切需要这种性质的领域中。除了提供结构化编程工具之外,C还能生成简洁、快速运行的程序,并提供了处理硬件问题的能力,如管理通讯端口和磁盘驱动器。这使得C成为上世纪80年代占统治地位的语言。同时,20世纪80年代,人们也见证了一种新编程模式的成长:面向对象编程(OOP)。

        20世纪70年代早期,贝尔实验室的Dennis Ritchie 致力于开发UNIX操作系统(操作系统是能够管理计算机资源,处理计算机与用户交互的一组程序。例如,操作系统将系统提示符显示在屏幕上以提供终端式界面、提供管理窗口和鼠标的图形界面以及运行程序)。实际上,程序员可以使用汇编语言来满足这些要求,汇编语言依赖于计算机内部的机器语言。然而,汇编语言是低级语言,即直接操作硬件,如直接访问cpu寄存器和内存单元。因此,汇编语言针对于特定的计算机处理器,要将汇编程序移植到另一种计算机上,必须使用不同的汇编语言重新编写。你是不会喜欢这样的。

      由于C++是在C的基础上移植了新的编程理念。一般来说,计算机语言要处理两个概念——数据和算法。数据是程序使用和处理的信息,而算法是程序使用的方法。C是过程性语言,C++是对象性语言。C++的主要概念是类,即将数据和算法合为一体,以此来表示一类事物,事物不仅具有数据特征,还具有能动性,即所能实现的功能,这就是所谓的面向对象。这里的对象,是颜和才的综合体,既要长的高,长的帅,还要上山能砍柴,回家能做饭,出门能挣钱。

       任何一种语言的出现,主要的是它的思想。

       从C到C++,表面上是从函数到类的转变,实质上是一种行为方式的转变。

      C++的出现是其简史的关键事件,这才是一种创造型行为。理解C++的关键,是要理解类。重要的事情说三遍:类——类——类。