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++是各大知名软件企业挑选人才的标准之一

小结

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/151213.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

mysql双主互从通过KeepAlived虚拟IP实现高可用

mysql双主互从通过KeepAlived虚拟IP实现高可用 在mysql 双主互从的基础上, 架构图: Keepalived有两个主要的功能: 提供虚拟IP,实现双机热备通过LVS,实现负载均衡 安装 # 安装 yum -y install keepalived # 卸载 …

智能AI系统源码ChatGPT系统源码+详细搭建部署教程+AI绘画系统+已支持OpenAI GPT全模型+国内AI全模型

一、AI创作系统 SparkAi创作系统是基于OpenAI很火的ChatGPT进行开发的Ai智能问答系统,支持OpenAI GPT全模型国内AI全模型。本期针对源码系统整体测试下来非常完美,可以说SparkAi是目前国内一款的ChatGPT对接OpenAI软件系统。那么如何搭建部署AI创作Chat…

层次架构、面向服务架构(四十四)

层次架构设计 表现层、中间层、数据访问层、数据架构规划、物联网层次架构、层次式架构案例分析。 层次结构缺点就是效率问题,上一层调用下一层。 1、着重写中间层 组件设计:面向接口编程,分为接口和实现类。 实体设计:实体表…

无需公网IP,教学系统如何实现远程一站式管理维护?

全国多所高校应用红亚科技研发的一套教学实验系统平台,此实验系统服务器分别部署在学校内部,与校内的各种教学资源整合在一起,向校内师生提供服务。 红亚总部设立在北京,虽说在全国22个省会均设有办事处,在面对全国多…

【ESP32 + Edge Impulse平台】运行AI算法模拟多传感器数据融合实现异常检测

本篇博文主要以ESP32+MQ Sensor 气体传感器为例,通过连接 Edge Impulse 平台,实现数据的实时采集和训练,进而实现在嵌入式设备上部署 ML 机器学习。本教程介绍如何使用 Edge Impulse 和机器学习来实现ESP32 异常检测系统,系统使用一个机器学习模型,检测气体何时出现异常。…

JOSEF约瑟 闭锁继电器 LB-7 YDB-100 100V 50HZ 控制断路器的合闸或跳闸

闭锁继电器LB-7导轨安装名称:闭锁继电器型号:LB-7闭锁继电器额定电压100V功率消耗≤10VA触点容量220V1.5A40W返回系数≥0.8 LB-1A、LB-1D、DB-1、HBYB-102/D YDB-100、HLO、DB-100、LB-7型闭锁继电器 一、用途 LB-7型闭锁继电器(以下简称继电器)用于发电厂及变电所内高压母线…

Vim教程

目录 vim 介绍 常用的四种模式 首先先学会如何正确进入和退出vim: normal模式 insert模式: command模式: v-block模式: vim异常退出 vim配置 vim 介绍 Vim是一款高度可定制的文本编辑器,它的前身是Vi&#xf…

前端—— 分层模型和应用协议

1 分层模型 MAC地址 可以认为计算机专属,可以认为每台计算机的 MAC地址 固定不变; IP地址 可以认为是计算机当前的【家庭地址】,动态唯一,家庭地址变化,IP地址 也跟着变化; 举个例子,A 给 B 发…

踩坑日记 uniapp 底部 tabber遮挡住购物车结算

tabbar 被购物车结算遮挡 在小程序上tabbar没有将固定栏遮挡,如果直接调高,浏览器H5页面是对了,但在小程序上面离底部的定位就太高了 原代码 // 底部结算样式.shop-foot {border-top: 2rpx solid #F7F7F7;background-color: #FFF;position: …

通过IP地址如何计算相关地址

以IP地址为1921681005 子网掩码是2552552550为例。算出网络地址、广播地址、地址范围、主机数。 分步骤计算 1) 将IP地址和子网掩码换算为二进制,子网掩码连续全1的是网络地址,后面的是主机地址。 虚线前为网络地址,虚线后为主机…

【Pod】

Pod 一、Pod基本概念二、Pod的使用方式pause容器(pod的基础容器)核心功能pause容器使得Pod中所有容器可以共享两种资源:网络和存储网络存储 三、Pod分类自主式Pod/静态pod控制器管理的Pod 四、三种容器五、镜像拉取策略(image Pul…

阿里面试:页面调10 个上游接口,如何做高并发?

说在前面 在40岁老架构师 尼恩的读者交流群(50)中,最近有小伙伴拿到了一线互联网企业如阿里、滴滴、极兔、有赞、希音、百度、网易的面试资格,遇到很多很重要的面试题: 一个页面要调100 个上游接口,如何优化? 一个场景…

AI工程化—— 如何让AI在企业多快好省的落地?

作为计算机科学的一个重要领域,机器学习也是目前人工智能领域非常活跃的分支之一。机器学习通过分析海量数据、总结规律,帮助人们解决众多实际问题。随着机器学习技术的发展,越来越多的企业将机器学习技术作为核心竞争力,并运用在…

python读取vivo手机截图,将满屏图片文件移动别的路径

问题之初 python读取vivo手机截图, 将满屏图片文件移动别的路径好多这样的图片,占用手机大量的内存,食之无味弃之可惜!那么会复制粘贴👀代码的我们我们今天就把这些图片筛选清理掉。 这段代码 原有逻辑的基础上&…

智能井盖传感器:城市安全卫士

随着城市人口的不断增加和城市基础设施的不断发展,井盖作为城市道路和排水系统的重要组成部分,承担着确保城市安全和便利性的关键角色。然而,井盖在日常使用中常常面临倾斜、水浸和翻转等问题,这些问题可能导致交通阻塞、行人坠井…

边坡安全监测系统的功能优势

随着科技的进步,边坡安全监测系统在各种工程项目中发挥着越来越重要的作用。这款系统通过实时监测垂直、水平位移数据,以折线图的方式显示在监控平台中,为工程人员提供了直观、便捷的监控工具,从而能够及时掌握边坡稳定状况&#…

Altium Designer培训 | 4 - 原理图创建篇

元件的放置 器件的复制及对齐 导线及NetLabel的添加 Value值的核对 封装的统一管理 原理图的编译设置及检查

tomcat安装,创建web后端项目,部署项目过程

1,安装服务器,使用 Apache免费提供的服务器TomCat,注意JDK版本。 TomCat官方站点 文件解压目录。 启动服务器:bin目录下点击startup.bat,出现小黑框,浏览器默认访问http://127.0.0.1:8080/ 关闭服务器&…

正点原子嵌入式linux驱动开发——Linux内核顶层Makefile详解

之前的几篇学习笔记重点讲解了如何移植uboot到STM32MP157开发板上,从本章就开始学习如何移植Linux内核。 同uboot一样,在具体移植之前,先来学习一下Linux内核的顶层Makefile文件,因为顶层 Makefile控制着Linux内核的编译流程。 L…

提取歌曲伴奏?用对软件一键帮你搞定~

相信大家经常想获取某首歌曲的伴奏,但是不知从何下手,今天这篇教程给大家分享一个超神奇软件,一键提取歌曲伴奏! 第一步:打开【音分轨】APP,进入首页点击【人声分离】 第二步:选择导入方式&…