美文网首页C语言程序员
C/C++零基础学习必须要知道的硬知识!

C/C++零基础学习必须要知道的硬知识!

作者: _年少无为 | 来源:发表于2019-07-08 20:11 被阅读10次
前言

本文不是为C/C++站台,宣传其为全宇宙最好的语言,而以近二十年的从业经验来分析C/C++的优劣势,提出指导性建议。

7月份发布的全球编程语言排行榜

Java高居榜首,C屈居第二,C++紧随其后,C和C++的比例之和,超过Java5%,python借人工智能和DevOps的东风,扶摇直上,GO语言,投胎技术好,有个好爹,依托容器技术和K8S,迅速走红。

【文章福利】:小编推荐一个C语言/C++交流群:967051845!整理了一些个人觉得比较好的学习书籍、视频资料共享在群文件里面,有需要的可以自行添加哦!~

这些是C/C++能做的

  • 服务器开发工程师
  • 人工智能
  • 云计算工程师
  • 信息安全(黑客反黑客)
  • 大数据
  • 数据平台
  • 嵌入式工程师
  • 流媒体服务器
  • 数据控解
  • 图像处理
  • 音频视频开发工程师
  • 游戏服务器
  • 分布式系统
  • 游戏辅助

C语言以过程式编程,比汇编更贴近人类思考方式,而迅速兴起,在性能上贴近于机器语言

在开发效率和执行性能上做了一个平衡

在系统控制上,给开发人员更多的自由,这是他的优点,也是缺点。对于资深人员来说,有很大的发挥空间,但对于新手来说,就是踩不完的坑,学习成本极高,稍不小心就是内存泄漏,死锁

因此,C语言主要应用场景在操作系统,如Linux;底层组件,如ceph;这些标准化程度高,性能要求苛刻的场景

C++在C基础上,引入对象模型,将数据和方法有机的绑定在一起,比C语言更一步贴近人类思维模式

引入模板编程,替换C中宏这样的语法糖

早期C编写的程序中,内联函数和宏满天飞,现在变成模板满天飞,在执行效率上不相上下,但在调试期,倒引入不少麻烦,实际上违反了接口和实现分离的原则

C++在开发效率上要高于C,执行效率上略逊于C,因此在开发周期要求比较严格,性能要求高的场景,有他的发挥空间,比如游戏的端游,比如行情软件

在客户端,有C#和C++竞争,在服务端,有JAVA、python、go与C++竞争,所以C++的市场份额就比较尴尬

C/C++由于底层绑定比较紧,所以在跨平台这块存在很高的难度,特别是大规模的软件系统,要考虑的可能性更多

在boost逐渐发展壮大后,这些情况会逐渐好转。boost为了跨平台,不得不牺牲一些平台特性,在性能上也会有一定损失,因此在一些应用场景中,还会存在定制自己API库的场景存在,相较于之前没有boost时代,依然要好很多

C/C++因为其自由度高,百花齐放,即使是同一个功能,也能整出个N多花样,开发人员需要在选择困难症中,痛并快乐着。这些状况,会随着标准化程度不断提高,而减少,但永远不会消失

福利来喽~

小编C工作也有五年了,推荐一个C/C++学习交流群:967051845!里面整理了一些个人觉得比较好的学习书籍、视频资料共享在群文件里面,有需要的可以自行添加哦!~

学习路线图:

学习路线

相关文章

  • C/C++零基础学习必须要知道的硬知识!

    前言 本文不是为C/C++站台,宣传其为全宇宙最好的语言,而以近二十年的从业经验来分析C/C++的优劣势,提出指导...

  • 零基础如何学习C/C++

    从事C/C++开发多年,给零基础想学习C/C++的建议如下: 首先无论你要学习任何技能,必须有一个清晰的版图,什么...

  • 零基础如何学习C/C++

    从事C/C++开发多年,给零基础想学习C/C++的建议如下: 首先无论你要学习任何技能,必须有一个清晰的版图,什么...

  • 【C++】C++的发展史

    【C++】C++发展史 为了让小伙伴们在学习过程中,能收获更多的知识,达到真正的零基础入门和深入了解C++,老九君...

  • Android 开发的 C++ 基础 Notes

    注:原文地址 前言:下文是很基础的C++语法的 notes,只是个人学习 C++时,针对自己不熟悉的知识点做的零散...

  • 1 零基础如何学习C++语言

    如何零基础学习C++语言,或者会JAVA,C,C#转C++语言呢? 一 熟练掌握Microsoft Visual ...

  • 说明和目录

    本文集是C++的基础知识的学习记录,主要基于教程C++基础教程学习过程追求扎实,但不遵循固定顺序,以自己工作的重点...

  • C++开发简易版俄罗斯方框(Window窗口版)

    简述 个人理解,C++去掉面向对象知识后就是C语言,在学习C++时,如果有C语言基础,则在上手C++时是很快的。最...

  • C/C++的职业技能,你在学习C/C++吗?

    你在学习C/C++嘛?从零开始系统学习C/C++

  • C++ 总结 (一、基础篇)

    C++ 总结 (一、基础篇) 官网 C++ 完全兼容C语言,但是有自己的语法特点,本文总结了C++的基础知识。记录...

网友评论

    本文标题:C/C++零基础学习必须要知道的硬知识!

    本文链接:https://www.haomeiwen.com/subject/scgahctx.html