当前位置: 首页 > news >正文

[lesson01]学习C++的意义

学习C++的意义

C语言特点

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

软件方法论的发展

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

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

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

C语言的加强

  • C语言和C++并不是对立的竞争关系
  • C++是C语言的加强,是一种更好的C语言
  • C++是以C语言为基础的,并且完全兼容C语言的特性

现代软件产品的特性

  • 系统一般是由多种语言写成
  • 系统架构的目标是拥抱用户需求的变化
  • 系统拥有较好的移植性
  • 系统能够方便的部署和更新

学习C++的意义

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

小结

  • 所有的软件系统都是为了满足用户需求而开发的
  • 对于一个开发团队而言,再短期内开发出用户满意的软件系统是其核心竞争力的体现
  • 对于一个开发者而言,能够胜任系统中任意一个模块的开发是其核心价值的体现
  • 对弈一个架构师而言,掌握各种语言的优势并合理运用到系统中,由此简化系统的开发,是其核心价值的体现
http://www.lryc.cn/news/329817.html

相关文章:

  • LabVIEW双通道太阳射电频谱观测系统
  • Trapcode Particular---打造惊艳粒子效果
  • 从0到1利用express搭建后端服务
  • pytest和unittest 如何选择?
  • 《QT实用小工具·四》屏幕拾色器
  • 【Linux C | 多线程编程】线程的连接、分离,资源销毁情况
  • kubernetes-Pod基于污点、容忍度、亲和性的多种调度策略(二)
  • 数码管时钟--LABVIEW编程
  • linux安装指定版本docker
  • C++刷题篇——05静态扫描
  • Unity AI Navigation自动寻路
  • HarmonyOS实战开发-如何实现一个简单的健康生活应用(上)
  • React中使用antDesign框架
  • Electron安全防护实战:应对常见安全问题及权限控制措施
  • StringBuffer与StringBuilder
  • HCIP综合实验拓扑
  • nuxt学习
  • VS学习建议
  • java汇总区间
  • 【笔记】OpenHarmony设备开发:搭建开发环境(Ubuntu 20.04,VirtualBox 7.0.14)
  • 计算机视觉新巅峰,微软牛津联合提出MVSplat登顶3D重建
  • halcon图像腐蚀
  • neo4j使用详解(六、cypher即时时间函数语法——最全参考)
  • Web 前端性能优化之一:性能模型及网页原理
  • 常用的主流好用的WEB自动化测试工具强烈推荐
  • 分享几个非常不错嵌入式开源项目,一定不要错过
  • Golang基础-4
  • 2024软件设计师备考讲义——UML(统一建模语言)
  • HTML——1.简介、基础、元素
  • Rust 标准库:std::env::args() 函数简介