Skip to content
Go back

C++语言程序设计基础(1)

Edit page

C++语言程序设计基础(1)

概述

C++ 语言是 C 语言的基础上添加了面向对象的思想设计出来的语言,提倡让语言适应问题,而不是问题适应语言。

编程语言发展历史

计算机面世时,人们使用纸带打孔表示 0/1,用机器语言编写计算的程序,只能执行简单的计算。——机器语言时代(和野兽徒手搏斗的时代) 因为 0/1 指令的记忆方式太反人类,人们发明了助记符来编写程序,通过助记符降低了指令的记忆成本。然后通过汇编程序将助记符翻译成 0/1 指令。——汇编语言时代(终于能用石头砸死野兽吃肉了) 汇编语言编程需要考虑底层资源的管理,让开发复杂程序费时费力,于是出现了一批过程性(procedural)语言。C 语言就是其中之一。这时开发程序就像炒蛋炒饭一样,先打蛋放盐翻炒,然后放入剩饭翻炒,如果盐放少了就加盐,如果盐放多了就加饭,熟了就盛出装盘,如果糊了就送给李华……如此如此,这般这般便是编程。——过程化编程时代(掌握了石质武器捕猎落单野兽了,那么野兽成群了呢……?) 虽然过程化思想强调了解决问题要按部就班,但当解决问题的步骤变得繁琐,代码的组织便成了问题。相信一大堆 if 和 else 的分支结构,会让调试人员心态爆炸。于是后来提出了结构化(structured)编程的概念,提倡将程序划分为一个个结构良好的小组织。对于一个个的小模块,我们都是可以单独理解掌握,那么理解整个程序便简单了许多。——结构化编程时代(将野兽引开各个击破) 尽管如此,我们在面对复杂问题时,仍然需要编程人员的思考,将问题拆分成一个处理的过程,以适应编程语言的过程性。于是又有人提出了面向对象编程(OOP),与过程性不同,面向对象的方法希望使用编程语言直接描述问题,强调的是数据。——面向对象时代 为了增强代码的重用性,又有人提出了泛型(generic)编程的概念。在面向对象的基础上进行拓展,使得同一段代码,可以适用于不同的对象。比如说男人要吃饭,女人也要吃饭,吃的是一样的饭,我只要写一遍吃饭方法,男人对象和女人对象就都可以吃饭了。类似的还有很多对 OOP 的拓展,比如 AOP、函数式编程等等编程思想。——面向对象的拓展


Edit page
Share this post on:

Previous Post
C语言程序设计基础-变量
Next Post
C++语言程序设计基础(2)