c 编程教学零基础(程序员入门教程)

c 编程教学零基础(程序员入门教程)(1)

摘要

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

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

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

c 编程教学零基础(程序员入门教程)(2)

这些是C/C 能做的

1. 服务器开发工程师

2. 人工智能

3. 云计算工程师

4. 信息安全(黑客反黑客)

5. 大数据

6. 数据平台

7. 嵌入式工程师

8. 流媒体服务器

9. 数据控解

10. 图像处理

11. 音频视频开发工程师

12. 游戏服务器

13. 分布式系统

14. 游戏辅助

c 编程教学零基础(程序员入门教程)(3)

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

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

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

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

c 编程教学零基础(程序员入门教程)(4)

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

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

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

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

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

c 编程教学零基础(程序员入门教程)(5)

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

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

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

c 编程教学零基础(程序员入门教程)(6)

IT大咖说 | 关于版权

由“IT大咖说(ID:itdakashuo)”原创的文章,转载时请注明作者、出处及微信公众号。投稿、约稿、转载请加ITDKS10(备注:投稿),茉莉小姐姐会及时与您联系!

感谢您对IT大咖说的热心支持!

相关推荐

推荐文章

  • 超实用案例:美团终端主动监控平台的建设

  • 这有“三高一快零故障”网络架构实践,还有掉坑逃生指南

  • 你只知大数据的便利,却不知漏洞——hadoop安全完整解析

最近活动

  • 程序员春节自救书单

c 编程教学零基础(程序员入门教程)(7)

点击【阅读原文】更多IT技术圈干货等你挖掘

,

免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com

    分享
    投诉
    首页