C++ 第一课 学习C++的意义 ----(狄泰软件学院)

C语言的的诞生

UINX操作系统诞生之初是直接用汇编语言写成的

随着UINX的发展,汇编语言的开发效率成为一个瓶颈。

那么如何提高UINX的开发效率呢?----->C语言的诞生

 

C语言的特点:

C语言是在实践的过程中逐步完善起来的,其中难免有不足

  1. 没有深思熟虑的设计过程
  2. 残留过多的低级语言的特征

C语言的目标是高效 ---- 最终程序执行效率的高效

 

软件方法论的发展

面向过程程序设计: 数据结构 + 算法

主要解决科学计算问题,用户需求简单而固定

特点:

分析解决问题所需要的步骤

利用函数实现各个步骤

依次调用函数解决问题

问题:

软件可重用性差

软件可维护性差

 

面向对象程序设计:由现实世界建立软件模型

将现实中的事物直接映射到程序中,可直接满足用户需求

特点:

直接分析用户需求中涉及的各个实体

在代码中描述现实世界中的实体

在代码中关联各个实体协同工作解决问题

优势:

构建的软件能够适应用户需求的不断变化

直接利用面向过程方法的优势而避开其劣势

 

C语言的加强:

当面向过程方法论暴露越来越多的缺陷的时候,业界开始考虑在工程项目中引入面向对象的设计方法,而第一个需要解决的问题就是:高效的面向对象语言,并且能够兼容已经存在的代码。

C++ 第一课 学习C++的意义 ----(狄泰软件学院)_第1张图片

C语言和C++并不是对立的竞争关系

C++是C语言的加强,是一种更好的C语言

C++是以C语言为基础的,并且完全兼容C语言的特性

学习C++并不会影响原有的C语言的知识,相反,学习C++可以让我们学到更多的软件设计方法。

C++ 第一课 学习C++的意义 ----(狄泰软件学院)_第2张图片

现代软件的产品特性

系统一般由多种语言写成的

系统架构的目标是拥抱用户需求的变化

系统拥有较好的移植性

系统能够方便的部署和更新

操作系统的修改和驱动程序的开发在现代软件产品中占据的比重越来越小。

 

学习C++的意义

C++是一种更强大的C,通过学习C++能够掌握更多的软件设计方法

C++是java/C#/D等现代开发语言的基础,学习C++后能够快速的掌握这些语言

C++是各大知名企业挑选人才的标准之一

 

小结:

所有的软件系统都是为了满足用户需求而开发的

对于一个开发团队而言,在短期内开发出用户满意的软件系统是其核心竞争力的体现

对于一个开发者而言,能够胜任系统中任意一个模块的开发是其核心价值的体现

对于一个架构师而言,掌握各种语言的优势并合理运用到系统中,由此简化系统的开发,是其核心价值的体现。

 

 

 

 

 

你可能感兴趣的:(C学习(狄泰软件学院),c++)