从C到C++——为什么会有C++这门语言

前言

许多人在学习过C语言后或者在学习C语言时都听说过C++这门语言,许多人对这门语言都十分好奇,今天这篇文章就向大家简单介绍一下这门语言。

一、为什么要学习C++

1、C++很重要。C/C++不分家,面试开发都需要
2、为继续学习opencv、qt、android等打基础
3、基于C高级,进一步提升自己大脑复杂度,建立面向对象和泛型等概念

二、为什么有了C还需要C++

1、C++是由C进化而来
(1)C++最早叫:带类的C,最开始只是在C上扩展了class等少量特性,后来不停发展

(2)C++比C语法上复杂很多,语言特性多很多,用好C++比用好C要难

(3)C++和C面向的场景不同。C更多是OS内核、底层硬件驱动等,C++是功能中间层

2、C++为什么没有完全取代C
(1)C语言有大量成熟代码和成熟开发者,历史优势大

(2)C++的编译器效率比C编译器低

(3)C在很多场景下完全够用,没必要用C++,譬如MCU软件开发

3、C++并不是为了取代C
(1)C++并不是“更好的C”,而是基于C的另一种编程语言和周边生态

(2)C和C++都能很好的操作硬件,因为他们都支持指针

(3)C更适合小规模控制型程序,而C++更适合大规模结构性逻辑型程序

(4)C++的出现不是C推动的,而是硬件性能增强和软件要解决的功能复杂性提升推动的

三、C++究竟是个怎样的语言

1、C++是面向对象的
(1)C++与C最大的不同就是面向对象
(2)C++并不是纯面向对象语言

2、C++兼容C语言的全部特性
(1)C++有指针,所以很方便直接操作硬件

(2)C++是编译性语言,最终得到可执行程序是架构相关的二进制机器码

(3)C++在语法和编程风格上和C非常类似

(4)C++代码也分头文件和代码文件,只是后缀名和C有不同

(5)C++比C扩展了很多特性,譬如泛型、引用等

3、C++比C更适合复杂项目
(1)linux kernel如果改用C++写会更容易写,也更容易看懂

(2)C++的语法很复杂,学习难度比C和java都要大

(3)C++没有GC机制,对象创建和销毁要程序员管理,因此容易出错

(4)总结:C++适合高手使用在强调性能的复杂项目中

四、C++的典型项目和优势领域

1、C++典型项目
(1)qt及qtcreator
(2)opencv、opengl、directX
(3)Windows和Office
(4)Android中间层

2、C++的劣势和优势分析
(1)C++比C更适合开发规模大、业务复杂的大型项目
(2)C++比Java、python更适合开发在意性能的大型项目
(3)C++适合开发后台业务逻辑而不是前台界面
(4)C++当前最优势领域有:视觉和AI分析,游戏和图像引擎,网络服务引擎等

五、C++程序员发展前景分析

1、C++程序员的不一样之处
(1)能做得下去的C++程序员工资都不低,不管做哪个方向

(2)C++学习难度大,通过率极低

(3)C++程序员生命周期长,中年危机不明显

(4)相较java和python,C++程序员核心技能几乎不变化,更舒服

(5)相较java和python,C++程序员需求量要少,但是高手一直稀缺

2、C++在当前及以后的江湖地位
(1)理念:语言没有好坏之分,不同场景适合不同语言,活下来的主流语言都有过人之处

(2)云计算和边缘计算技术大发展,未来的软件运行场景分三种:云平台、瘦客户端、富客户端

(3)云端开发分前后台,前台用html等,后台用java php python等,还有些全栈的

(4)瘦客户端用C为主,还有少量非主流用js、micropython、lua等

(5)富客户端不管OS层和HMI层用什么,主体中间层肯定是C++最有优势

注:本资料大部分由朱老师物联网大讲堂课程笔记整理而来,如有侵权,联系删除!水平有限,如有错误,欢迎各位在评论区交流。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

小嵌同学

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

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

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

打赏作者

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

抵扣说明:

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

余额充值