第1课 学习c++的意义

本文内容取自于对狄泰学院 唐佐林老师 C++深度解析 课程的学习总结

常见的观点

在这里插入图片描述





一些历史

  • UINX操作系统诞生之初是直接用汇编语言写成的
  • 随着UINX的发展,汇编语言的开发效率成为一个瓶颈

在这里插入图片描述





  • 1971年,Ken Thompson和Dennis Ritchie对B语言进行了改良,使其能够直接产生机器码,C语言诞生
  • UNIX开始用C语言重写,同时C语言在实践的过程中得到发展

在这里插入图片描述





C语言的特点

  • C语言是在实践的过程中逐步完善起来的
    没有深思熟虑的设计过程
    残留量过多低级语言的特征
  • C语言的目标是高效
    最终程序执行效率的高效




软件方法论的发展

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

    • 主要解决科学计算问题,用户需求简单而固定
    • 特点:
      • 分析解决问题所需要的步骤
      • 利用函数实现各个步骤
      • 依次调用函数解决问题
    • 问题:
      • 软件可重用性差
      • 软件可维护性差
  • 面向对象程序设计:由现实世界建立软件模型

    • 将现实中的事物直接映射到程序中,可直接满足用户需求
    • 特点:
      • 直接分析用户需求中涉及的各个实体
      • 在代码中描述现实世界中的实体
      • 在代码中关联各个实体协同工作解决问题
    • 优势:
      • 构建的软件能够适应用户需求的不断变化
      • 直接利用面向过程方法的优势而避开其劣势




C语言的加强

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

在这里插入图片描述








C语言的加强

  • C语言和C++并不是对立的竞争关系
  • C++是C语言的加强,是一种更好的C语言
  • C++是以C语言为基础的,并且完全兼容C语言的特性
学习C++并不会影响原有的C语言知识,相反,
学习C++可以让我们学到更多的软件设计方法。







学C++的优势

在这里插入图片描述








问题:

为什么要为学其他语言作准备呢?



现代软件产品架构图

在这里插入图片描述

根据不同的应用需求采用最佳的语言来作开发







现代软件产品的特性

  • 系统一般是由多种语言写成的
  • 系统架构的目标是拥抱用户需求的变化
  • 系统拥有较好的移植性
  • 系统能够方便的部署和更新
操作系统的修改和驱动程序的开发在
现代软件产品中占据的比重越来越小。







学习C++的意义

  • C++是一种更强大的C,通过学习C++能够掌握更多的软件设计方法
  • C++是Java/C#/D等现代开发语言的基础,学习C++后能够快速掌握这些语言
  • C++是各大知名软件企业挑选人才的标准之一






小结

  • 所有的软件系统都是为了满足用户需求而开发的
  • 对于一个开发团队而言,在短期内开发出用户满意的软件系统是其核心竞争力的体现
  • 对于一个开发者而言,能够胜任系统中任意一个模块的开发是其核心价值的体现
  • 对于一个架构师而言,掌握各种语言的优势并合理运用到系统中,由此简化系统的开发,是其核心价值的体现
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

lzg2021

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值