C++ 33.学习C++的意义-狄泰软件学院

一些历史

  • UNIX操作系统诞生之初是直接用汇编语言编写的
  • 随着UNIX系统的发展,汇编语言的开发效率成为瓶颈,所以需要一个新的语言替代汇编语言
  • 1971年通过对B语言改良,使其能直接产生机器代码,C语言诞生
  • UNIX使用C语言重写,同时C语言在实践中不断升级完善。

C语言的特点

  • 没有深思熟虑的设计过程
  • 残留过多低级语言的特性
  • C语言在当时开发时可高效得开发
  • C语言执行效率高

软件开发的发展

  • 当时的计算机主要用于计算,用户需求简单而固定
  • 使用的是面向过程的程序设计:数据结构 + 算法
  • 随着软件的发展,面向对象的程序设计方法暴露出缺陷。一些计算机科学家开始尝试将现实世界中的对象映射到计算机程序中。出现了面向对象的程序设计方法。

C语言的加强

  • 开发一种新的语言支持面向对象的方法
  • 并且要兼容已经存在的C语言代码
  • C语言和C++并不是竞争的关系
  • C++是C语言的加强,是一种更好的C语言
  • C++以C语言为基础,并且完全兼容C语言的特性

各语言关系

  • C++保留的C中的一些低级语言的特性
  • Java对C++进行剪裁,去掉一些低级特性等,由Sun发布。Java在行业中一度处于霸主地位。
  • 微软为了与Java竞争,推出C#
  • D语言源自C/C++,借鉴了众多编程语言的特色和现代编译器技术,运行效率比C#、Java更高
  • 开发效率更高的一些脚本语言也相继发布,不需要编译

现代软件产品架构图

现代软件产品特性

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

学习C++的意义

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

小结

  • 所有的软件系统都是为了满足用户需求而开发的。
  • 对于一个开发团队而言,在短期内开发出用户满意的软件系统是其核心竞争力的体现。
  • 对于一个开发者而言,能够胜任系统中任意一个模块的开发是其核心价值的体现。
  • 对于一个架构师而言,掌握各种语言的优势并合理运用到系统中,由此简化系统的开发,是其核心价值的体现。
相关推荐
YM52e10 分钟前
鸿蒙Flutter Center居中组件:Align对齐详解
android·学习·flutter·华为·harmonyos·鸿蒙
Herbert_hwt14 分钟前
建立Java程序开发
java·开发语言
愚公移码1 小时前
蓝凌EKP18产品:流程虚拟机(PVM)
java·开发语言·前端
十月的皮皮1 小时前
stm20260720-从新手 C 到量产 STM32 工程:程序设计推导指南
c语言·开发语言·stm32·stm32cubemx·hal库
Echo缘2 小时前
嵌入式系统C语言资源分类与内存分布分析
c语言·开发语言
胖大和尚2 小时前
C++ 多线程编程的实现方式
c++·thread
JaneConan2 小时前
鸿蒙 ArkUI 深水区:@Watch 和 @Observed,状态变了「自动跑」+ 嵌套对象「深层重绘」
开发语言·后端·ui·harmonyos
赤水无泪2 小时前
qt中图标、名称的设置方式
开发语言·qt
金伟API10242 小时前
SQL Server基础学习笔记
笔记·学习
王莎莎-MinerU2 小时前
MCP 解决的是工具接入,科研 Agent 还缺的是科学证据接口标准化
开发语言·网络·人工智能·深度学习·pdf·c#·php