博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
C++学习的意义_1
阅读量:6994 次
发布时间:2019-06-27

本文共 1359 字,大约阅读时间需要 4 分钟。

一. 一般的看法

  1. 操作系统和驱动都是C写的,学好C就够了

  2. LINUX大神都认为C++一无是处,学他干什么?

  3. C++在应用层用的多,学嵌入式的没必要学

  4. 以后做驱动开发,没精力也没必要学习C++.\

二. 一些历史

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

  2. 随着UINX开发,汇编语言进入了一种瓶颈。

  3. BCPL语言成为了当时选择之一。

  4.KEN Thompson对BCPL进行简化得到了B语言。

  5.B语言不直接生成机器码,而是编译生成中间码之后解释执行。

  问题:解释性语言的执行效率不足以胜任操作系统的开发。

  6. 1971年,Ken Thompson对B语言进行改良,使其产生机器码,C语言诞生了。

三. 软件方法论的发展

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

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

   特点:

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

    *利用函数实现各个步骤

    *依次说调用函数解决问题

  问题缺点:

    *软件可重用性差

    *软件可维护性差

    *构建的软件无法满足用户需求。

  

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

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

  特点:

    *直接分析用户需求中设计的各个实体

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

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

  优势: 

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

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

四. C语言的加强

  1. 高效的面向对象语言,并且能够兼容已经存在的代码

  2. C语言 + 面向对象方法 = C++

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

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

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

  

 

五. 现代软件产品架构图

  

  实例:商场收银系统架构图

  

六. 现代软件产品的特性

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

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

  * 系统拥有较好的移植性

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

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

七。小结

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

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

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

  4. 对于一个架构师,掌握各种语言的优势并合理运用到系统中,由此简化系统的开发,是其架构生涯的第一步。

八. 学习C++的意义

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

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

  3. C++是各大知名软件企业挑选人才的标准

 

转载于:https://www.cnblogs.com/lvxiaoning/p/7476483.html

你可能感兴趣的文章
MySql高可用集群搭建
查看>>
启动界面StartActivity
查看>>
jquery 滚动条到底部
查看>>
在java中获取服务器多网卡的ip地址
查看>>
数据存储
查看>>
javascript 函数的4种调用模式
查看>>
使用开源中国第三方Maven库
查看>>
android so 文件存私密数据,且防止 so文件未知应用盗用
查看>>
Playing with sockets (port scanning)
查看>>
Golang优秀开源项目汇总(持续更新。。。)
查看>>
jps命令的使用
查看>>
PostgreSQL 入门小白基础
查看>>
CSS缩进,CSS字间距
查看>>
Android studio NDK-JNI HelloJNI
查看>>
谈一谈mysql给我带来的中文乱码问题
查看>>
tomcat - main
查看>>
Using SVN in Android Studio
查看>>
C-rm模仿
查看>>
CCNA之四:RIPV1和EIGRP在不连续网络下的比较
查看>>
VMware克隆Centos6.5之后网卡修改方法
查看>>