点击上方“C语言与CPP编程”,选择“关注/置顶/星标公众号”
干货福利,第一时间送达!
5hr22qfggk16402403658.png
最近有小伙伴说没有收到当天的文章推送,这是因为微信改了推送机制,有一部分小伙伴刷不到当天的文章,一些比较实用的知识和信息,错过了就是错过了,建议大家加个星标??,就能第一时间收到推送。
ltvxzv5ybj26402403758.png
软软曾听到过无数计算机专业的同学吐槽:
C++语言可能是最逆人性的语言,难于上青天
除了竞赛,我实在是想不通C++还有什么存在的意义
只是多了两个加号而已
为什么C++语言难到让人抓狂?
01
C++和C语言是什么关系?是不是还有个C+?
C++是C语言拓展而来,不但继承了C语言的优点,还在C语言的基础上开发了新的编程思想;作为一种混合语言,它结合了过程和面向对象,因此C++支持C语言所有的语法;相对于C语言,C++语言增加了:
1.面向对象的功能
2.C++支持多态、封装和继承,而C不支持
3.C 不提供错误或异常处理,但 C++ 提供
其他的内容过于晦涩,非IT从业的同学很难理解,大家可以理解为,C++是一门因时代发展而升级的中级语言。
C++在诞生之初,只是作为C语言的有效扩充,被命名为“C with class”至于后来如何被命名为C++,历史已经不可考,但在业界普遍认为有2种可能:
1.技术角度来讲,++是自增的意思,意味着C++是C语言的拓展而来。
2.C++在历史上是C语言经过两次升级而来,因此被称作C++。
在IT语言的历史上,确实曾存在过C+语言,但与C、C++并无关系,随着历史长河的推进,这门语言早已被人们遗忘。
w520zobb1uz6402403858.jpg
02
为什么C++语言难度比其他语言要高得多?
开个玩笑:“设计语言的IT大牛都是博士学历 他们没这么觉得”
实际上,C++不仅是很少见的“面向过程”与“面向对象”通吃的语言,也是很少见的同时涵盖“面向对象”和“泛型编程”的语言。“面向对象”和“泛型编程”在思想体系中有一点点的冲突,C++为了能够平衡这些方面,做出了很多努力,也因此造成了较高的学习成本,让许多“后来者”大吐苦水。
除此之外,C++的语言设计目标也较为长远:
1. 足够的接近底层,追求极致的性能操控
2. 支持多泛式编程,管理不同维度的复杂性
因此学习C++的过程中不可避免的要会经历这些:
1.C++接近底层,需懂很多与C++本身无关的东西。
2.内容多,以关键字来说,就可以让初学者“退避三舍”。
3.C++至今仍在不断升级,IT工程师必须时刻更新自己的知识库。
虽然C++是一门有难度的IT语言,但几乎所有IT工程师对的评价都是“这是一门难学易用的语言,建议先苦后甜~”
03
C++语言这么难学,都能用在哪些方面?
正是由于大一统思想的影响,C++语言的应用面非常广泛
在许多领域,C++有着根本性的优势:低级系统程序设计、高级系统程序设计、嵌入式程序设计、数值科学计算、通用程序设计以及混合系统设计等等。
低级系统程序设计:低级系统程序的开发当中,C/C++非常好用。
高级系统程序设计:由于C++是一种中级语言,操作系统核心、网络管理系统、编译系统、电子邮件系统、文字排版系统、图像和声音的编排系统、通讯系统、用户界面、数据库系统等等也都是C++语言的业务范畴。
嵌入式系统:大到火箭、高铁、汽车;小到相机、手机,这些都与C++语言密不可分。
数值/科学计算:包括仿真、实时数据获取和数据库访问等等。
游戏行业:作为回报率极高的行业,几乎所有3A游戏都是使用C++编写的。
xfqpqh4gxwa6402403958.jpg
04
C++工程师就业薪资情况如何?
从大数据的角度来看C++工程师在互联网行业中,薪资属于中规中矩,但这是由于C++的普适性非常强,无数小公司的均衡导致了“长尾效应”(俗称拖后腿)
ud0c4nj2mdt6402404058.png
2va5i25k0pd6402404158.png
在各大招聘网站中,由于C++的难学,劝退了无数的后来者,导致C++工程师的招聘信息几乎是常年高挂,形成了一定量的市场缺口,互联网大厂也不例外,均非常有诚意的挥舞着钞票招聘C++开发工程师
uz3nv2o4g046402404258.png
3sbtqyqpxyv6402404359.png
3435mdbg1r06402404459.png
大厂C++工程师的薪资待遇在IT领域可谓是非常靠前的,所以C++并非是毫无用处的语言,相反它的市场前景非常广阔,不要被他困难的外表所迷惑。
C++经过多年发展,在IT领域已经成为无数大厂的业务解决方案,在游戏、科学等领域展示着自己强大的实力,IT语言在应用中难免有着重合性,但C++绝非一门即将淘汰的语言。
来自软软 东软教育在线公众号
——EOF——你好,我是飞宇,本硕均于某中流985 CS就读,先后于百度搜索、字节跳动电商以及携程等部门担任Linux C/C++后端研发工程师。
最近跟朋友一起开发了一个新的网站:编程资源网,已经收录了不少资源(附赠下载地址),如果屏幕前的靓仔/女想要学习编程找不到合适资源的话,不妨来我们的网站看看,欢迎扫码下方二维码白嫖~
oatjouxzm5k6402404559.gif
同时,我也是知乎博主@韩飞宇,日常分享C/C++、计算机学习经验、工作体会,欢迎点击此处查看我以前的学习笔记&经验&分享的资源。
我组建了一些社群一起交流,群里有大牛也有小白,如果你有意可以一起进群交流。
emzjth1v3ng6402404659.png
欢迎你添加我的微信,我拉你进技术交流群。此外,我也会经常在微信上分享一些计算机学习经验以及工作体验,还有一些内推机会。
wgnetqp4hzf6402404759.png
加个微信,打开另一扇窗
感谢你的分享,点赞,在看三连
dnzykq4aitc6402404859.gif
|