更多课程 选择中心

C/C++培训
达内IT学院

400-111-8989

为什么C和C++这么多牛人?

  • 发布:C++培训
  • 来源:C++资讯
  • 时间:2020-05-18 16:49

在it这个领域中,特别是在职场里面,有一种看法,学习C和C++的人,水平通常要高一点,而做Java和.net的朋友呢,总是有种要受歧视的感觉。虽然随着时间的流逝,现在虽然好点了,Java多年媳妇熬成婆,已经成为使用率最高的编程语言,所以大家总结了很多批评C和C++的话,不是完全的面相对象,太低级,语言太简陋,不是一门程序员友好的语言,不过很奇怪,大家一边骂,一边也得承认一个事实,C和C++的程序员,为啥总是比我们牛一点点?今天就来探讨一下。

1、正因为C和C++低级,程序员才会做的更多。

C其实大家都知道,是一门中低级语言,保留了指针等汇编特征,与系统底层结合密切。C++呢,更多的向个Object C,即面向对象的C。但这些,其实并不能够让程序员显得很牛。之所以C和C++程序员显得很牛,其实原因和大家想像的正好相反,不是因为C和C++太强大,而是这两门语言太低级了。

C和C++,由于设计时,主要针对系统底层,操作系统层面的应用,因此,其提供的核心基本库相对比较简陋,没有提供很多华丽的框架,VC的MFC不算啊,那是针对Windows的,不是C++的基本特性。

这直接导致了C和C++程序员,在进行大型开发时,缺乏现成的框架模板可以使用,也没有太多的工具库可以使用,像Java等其他语言,基本都提供了常见的几乎所有数据结构类,或者工具模块,不过,C和C++没有,搞得C和C++程序员,这群可怜的娃,啥事都必须自己做。

2、C和C++够通用,逼的程序员广种薄收。

这个通用,分两层意思。

一个是从应用角度,C和C++是目前我见到唯一的可以适应任何应用场合的语言,它对应用通用。起码,除了汇编语言,C和C++大概是唯一用来写操作系统的语言了,很多底层的驱动程序,操作系统内核级模块,只能用C和C++来开发,因此,一个C和C++程序员,他唯一不知道的,可能就是不知道自己以后会去写什么平台的什么程序,这要求他必须努力学习很多语言之外的知识,为下一份工作做好知识储备。

第二个是从跨平台来说,C和C++又不是很通用,虽然从第一天开始,C就吹嘘自己很牛叉,是跨平台语言,但是,就我个人的经验,可以很负责任地告诉大家,它在吹牛。

没错,作为基本语句,C和C++程序可以到大多数平台的编译器下开发,不过,稍微涉及应用一点的库,差异就很大,比如同样的socket编程,Windows下和Linux下就有很大差异,什么线程库啦,很多,差异都很大。不过,日常工程开发,离了这堆库,程序员估计也不用做什么事了,因此,很多C和C++程序员自从被骗得上了贼船,没办法,就得面对无穷无尽的学习,操作系统,任务调度,内存管理,资源管理,很多都得自己来,去理解各个操作系统的差异性,然后自己写程序来适应。

3、C和C++不是一门应用级的语言

对于很多语言来说,比如Java,PHP,Python等,在开发之初,都有明确的应用方向,同时,为了适应跨平台需求,都做了一定性能上的牺牲,这类语言,一般比较擅长应对企业级数据库应用,即办公应用系统,以及网站开发等。

应该说,这已经是很大的市场了,足以让一个程序员吃一辈子的饭,因此,学会了这类语言以及应用开发,一般已经可以再80%~90%的开发市场找到饭碗了。

不过,C和C++不一样,C和C++从设计出来,就没有明确的应用方向,或者说,唯一明确的应用方向,就是做操作系统。我们知道,操作系统是适应面最广的应用软件,所以,C和C++就显得很保守,为了通用,它宁愿不提供什么功能过去强大的库,一切靠程序员自己来。

换而言之,做C和C++的程序员,或多或少都有一点操作系统,系统底层相关的知识,这部分知识,一般难学,费解,比起学习应用开发,使用某些框架模板来做某一类型应用来说,C和C++程序员需要更加深入的思考加学习,无形中,造成这类程序员没事喜欢瞎琢磨的特性,我就没事老是喜欢想操作系统内核一些功能,我来实现该怎么做。

这种事情想多了,不用说大家也知道,对自己的水平无形中,有一点点促进,因此,C和C++程序员往往看问题会深入一点,善于思考。

4、C和C++是高性能应用的唯一选择,这造成程序员必须学习优化

我们知道,虽然很多语言都可以写游戏,不过,作为大型游戏系统,比如暗黑破坏神吧,还有很多网游,出于高性能图形动画的需求,必须使用C和C++来实现,才能保证效率。

很多大型网站的后台数据库,为了响应高吞吐量,高并发量的客户请求,也需要使用C和C++进行优化。

这就造成了,C和C++程序员一玩就是大的,必须对优化非常熟悉才行。我们知道,优化,有两个要求,一是对各类算法必须很熟悉,可以进行算法比较,另外,也是需求分析的专家,可以根据需求特性,做量身定做的优化。

这就要求C和C++程序员,经常陷入算法比对之类的任务,而且,也不能仅仅做一个程序员,还必须时刻思考客户需求,对需求做不断的再分析,才能找出优化之路。任何事情,做多了,就成熟练工了,自然也就来得快,C和C++程序员就是这个样子。

所谓“功夫在诗外”,又所谓“穷人孩子早当家”,C和C++之所以显得牛人多,并不是这两门语言有多好,其实恰恰相反,是这两门语言没有给程序员提供太多帮助,而其应用环境又太多太广太深,逼的程序员在自我不断的学习,几年,十几年下来,自然显得比小日子过的还算不错的其他语言程序员,要深入一点。

版权声明:转载文章来自公开网络,版权归作者本人所有,推送文章除非无法确认,我们都会注明作者和来源。如果出处有误或侵犯到原作者权益,请与我们联系删除或授权事宜。

预约申请免费试听课

填写下面表单即可预约申请免费试听!怕钱不够?可就业挣钱后再付学费! 怕学不会?助教全程陪读,随时解惑!担心就业?一地学习,可全国推荐就业!

上一篇:今天来讲解一下C++基础知识:常量
下一篇:C#/C++除了你知道的还能做什么?

C语言宏定义的几种使用方法

C与C++内存管理避坑指南

C/C++代码规范注释有哪些讲究?

C语言中,全局变量滥用的后果竟如此严重?

  • 扫码领取资料

    回复关键字:视频资料

    免费领取 达内课程视频学习资料

  • 搜索抖音号

    搜索抖音号:1821685962

    免费领取达内课程视频学习资料

Copyright © 2021 Tedu.cn All Rights Reserved 京ICP备08000853号-56 京公网安备 11010802029508号 达内时代科技集团有限公司 版权所有

选择城市和中心
黑龙江省

吉林省

河北省

湖南省

贵州省

云南省

广西省

海南省