感觉当今市场上直接跟C语言挂钩的工作越来越少,C语言真的过时了吗?

合浦仔林哥


没有过时,也不存在过时不过时这一说。

与C语言挂钩的工作没有越来越少,而是其它上层语言工作越来越多了,给你造成了C语言工作越来越少的假象。

之所以感觉C过时了,是因为最近几年互联网发展的太快,尤其是移动互联网。

上层语言

在这种情况下催生了高等语言的普及,比如Java、GO、Python这些面向对象的语言,就连苹果近几年开发的Swift语言也曾进入编程语言排行榜前十。

为什么会出现这样的状况呢?

因为我国当今的科技公司更多的是做互联网方面的,这些工作一般都使用上层语言,因为上层语言开发东西的周期短,做的也快。

这些公司不做硬件,不需要考虑效率、驱动的这些问题,这些公司做的更多的是一个软件,比如今日头条、微信、美团这些软件,这些软件需要大量的人才,对于这些公司,使用面向对象的上层语言最合适不过了。

C语言

目前设计到C语言的主要是做底层开发的,比如说小家电、空调、冰箱,或者Linux的底层驱动,这些使用的C语言比较多,C语言是直接与硬件打交道的。

因为C语言的效率要比上述的上层语言的效率要高,比如说C语言的指针可以直接访问芯片的寄存器,而面向对象的上层语言不可以。

越是底层的语言,效率越高,再往下说、汇编语言的效率比C还要高,但是需要花费更多的人力资源,在芯片满足性能要求的情况下,人们更倾向于C,因为C不仅简单,而且省人力。

那么C语言和更高级别的上层语言的取舍也是这个道理。

之所以感觉C语言挂钩的工作没那么多,是因为底层的电子行业、嵌入式行业需要的人本来就不多,但整体上是比以往要多。

就拿我们手机来说吧,它里面的那几个芯片有多少是C语言编程呢?

但是为这个手机服务的软件有多少呢?几百万个软件!但这些都不是C编程的,所以你会感觉C语言的市场越来越少,其实归根到底是上层语言需求多了,而不是C语言市场少!


爱上半导体


我就是搞嵌入式c的,我来解释下为何有这种误解。

编程语言排名中c持续保持上十年前三的位置,但大家感觉不到,是因为跟我交互的除了网页就是各种APP,而这些东西都是java之类的开发的,就好比我们觉得美国什么都牛逼,因为我们天天交互的电脑,芯片大部分都来自美国,但并不能代表美国啥都强,如果要你举例5个行业美国最强,基建?运输?互联网?制造?农业?电力?除了软件和微电子估计第3个都要仔细考虑一会儿。

c语言处境就类似,我们不经意的,电动牙刷,智能马桶,高铁检票口,各种交通灯,摄像头,路灯,智能水表,电表,智能锁,家里路由器,空调,洗衣机,这些都是c语言做的,如果没有这些,

估计整个世界都停止运行了。

再来解释为什么认为从事这块比较少,可能这些人都分布在各个小公司吧,这些生活方方面面的产品公司没啥巨头,而我们天天看新闻的都是互联网大企业,所以忽略了他们的纯在,就好比我们觉得到处都是收入上万的,但在中国收入上万的确实不到15%,到处看到本科生,但也只有中国人口的7%

再来说一下c这个行业普遍情况吧吧,不像app开发,起薪就是5k上万。入门工资极低,可能只有2k左右,努力学,但是前三年工资还是会涨得快,可能会到1万月薪左右,再往后,就看个人造化。可能你是做linux底层驱动,也可能继续在做电饭煲,所以差别很大,5到7年后,到最终年薪基本上卡死在30万左右。再往后,到到了这个阶段,其实自己可以外接项目了,因为他适合行业特别多,几本啥小东西都能做,所以也还算容易赚钱,基本上一年50万左右,也好还是有可能。


liubinkaixin


从事嵌入式开发多年,用C语言编程至少十几个年头,到现在也没觉得这门编程语言已经过时了,只是从明面上讲不如以前光鲜,现在JAVA,Python等集成度比较高的编程语言慢慢占据了主流市场显得C语言过时的感觉,现在回到三线城市做个程序员,想开发个嵌入式产品,招聘C语言程序员基本上很难,大部分都是JAVA后端开发或者前端的,最后索性直接自己培养人才。



这肯定不是C语言落伍的标记,C语言现在还是在一些关键职位上发挥着极其重要的作用,涉及操作底层硬件的程序基本上都离不开C语言的影子,现在通讯领域, 嵌入式驱动开发,影响性能的底层模块或者算法结构都离不开C语言,包括现在很多编程语言的底层实战都离不开C语言的影子,只不过现在C语言的门槛提升了可能刚毕业的学生发现学了C语言招收的公司也不多,而且短时间内也达不到公司的要求,于是很多初学者就放弃了C语言作为入门编程语言。


放在十几年前C语言是标准的入门编程语言,很多计算机专业的学生有关编程的第一门课程就是C语言,用的老谭的C语言教材,虽然里面很多人提出了好多瑕疵,但在那个年代能有一本入门的书籍就算不错了,不像现在C语言的书籍太多了,都不知道选择那个入手学习,在那个时代就没有这么多幸福的烦恼,编程语言的入门书籍能有一本就可以,关键是耐住性子看到最后,很多初学者看的时候觉得不行,再换一本学习状态提升不高换再经典的入门书籍也都是做样子,人要想做好一件事情拿出魄力和勇气谁都挡不住,关键还是看学习的勇气。



从编程体系上讲构建上讲,或者有志于成为架构师还是建议从底层的编程语言入手,这样在设计框架的时候能知道底层如何实现的,这样在功能实现上或者性能上会更加合理,很多人觉得学习JAVA精通一样可以做出色的架构师,如果在掌握这些的情况下再去研究下C语言是不是效果会更好,优秀的编程习惯就是不断拓展知识体系的过程,积累多了时间长了就会让自己领悟到更高的层面。


现在还在说着C语言过时的人要么压根不懂编程,要么是刚入行不久还没有对编程有个整体的认识,编程语言本身就是工具,工具无所谓过时不过时只有合适不合适的概念,不一定最先进的编程语言就是最合适的,现在很多企业还在用着VB,VC脚本,后续也不需要很重大的升级,也不需要追踪时髦换成Python等高级编程语言,在适当的场景下选择最合适的编程语言也是一种能力的表现,往往过份关注语言本身反而让自己的格局变得很小,编程的最终目的就是提升生产效率,解决实际问题,解决实际问题的能力才是编程高手的唯一衡量标准。

希望能帮到你。


大学生编程指南


C是一门最为古老的编程语言之一,但确实最活跃应用最广的语言,没有之一。之所以楼主会觉得C语言岗位很少,是因为现在C语言做的工作稍微底层,但是难度却不小。tiobe每个月都会对世界编程语言进行排名,C语言几乎就没有迭出前三的排名,从中可见其活力是多么旺盛。嵌入式开发几乎都是使用C语言的,C语言能做什么,我在图片上已经说明了其中部分应用。在OSI七层模型中除了物理层都有C语言的身影,大多数人接触的只有应用层,物理层和应用层之间可以说都是C语言干的,应用层有些C语言也干。





Andy001847


现在说到编程,大家提得更多的似乎永远是前端、后端、小程序、Android App、iOS App,但奇怪的是,在编程语言排行榜上, C语言却永远是前一、前二,那C语言现在有哪些应用场景呢?

首先,大家都知道近些年智能家居比较火,而智能家居是属于嵌入式的范畴,现在嵌入式大部分都是使用C语言来进行开发的(当然,新兴的Lua也能代替部分开发工作),比如我之前就参与过两三个嵌入式项目的开发,使用的全是C语言;

其实,操作系统、驱动的编写都是使用C语言进行;

最后,开发其他编程语言需要C语言。


光聊科技


这是一个好问题,我们从如下几个方面来分析一下。首先是c语言的特点,其次是c语言能干什么?再次, 为什么看上去现在c语言的工作少了?最后我们来说一下c语言究竟还有没有前途。

*c语言的特点:

c语言简单明了。效率非常高,可以直接操作内存地址,硬件地址。属于高级计算机语言中的底层语言。要想学习计算机专业,c语言是一个必选项。

c语言里面还可以直接嵌套汇编语言。c语言虽然属于高级语言中的底层语言,它可以支持图形界面的开发,也可以支持共享库的开发。它是一种适用性和实用性都很强的语言。

*c语言能干什么?

由于c语言的高效率特性。它被广泛应用在嵌入式编程,操作系统内核编程,驱动程序编写等等需要高效率的技术项目上。除了这些高效特性,c语言也能用来编写其他常用语言,能够编写的东西。c语言还是书写其他语言的基础语言。比如说c++就是用c语言来写的。

c++作为一个非常典型的面向对象编程语言,它又是其他面向对象编程语言的基础,比如c sharp, Java等等。

那么c语言的用途是非常广泛的,这一点是显而易见且毋庸置疑的。

*为什么看上去c语言的工作少了?

实际上不是因为c语言的工作少了,是因为其他语言相关的工作多了。当今的技术发展日新月异,不断的出现一些很好的高级语言,所以相应的也产生了大量的工作岗位。

所以相对的,在工作市场上,看上去好像c语言的职位少了。这只是一个相对的概念。在绝对数上,c语言的编程职位,并没有减少,反而不断的增加。那是因为有几个行业,尤其需要c语言。

第1个,通信行业一般都使用嵌入式编程,而通讯行业这几年一直处于发展的状态当中。由于通讯业的繁荣,所以对c语言程序员的需求依然不断的增加,而且这样的工作岗位比较稳定。

第2个,智能设备领域,也是使用嵌入式编程,尤其是一些简单的控制领域,比如说空调,智能设备,冰箱类智能设备,汽车类智能设备。

第3个, 教育领域也在使用c语言,尤其是数据结构。因为c语言的简洁特性,在教育领域,很容易形成统一的标准。这样,对于老师和学生,都非常容易从事教学和学习工作。

*c语言究竟还有没有前途了?

c语言的前途是非常光明的。

除了上述传统行业仍然在使用c语言以外,现在发展的如火如荼的物联网行业也会大量的使用c语言。

此外,由于c语言一直以来在信息产业领域广泛的使用,它有很多传统的遗产性代码需要有高级程序员来维护。一般来说,这些传统的代码,运行效率都很高,并且很稳定,只有在少数情况下,需要一些修改或者功能的添加。处于这种情况的企业,一般会招聘一些懂c语言的高级程序员坐镇,以备不时之需。

c语言作为一种底层语言,对于一个程序员来说,却是一种高大上的语言。因为如果一个程序员懂c语言的话,对于他的专业形象,以及他的编程素质来说,都是一个很好的证明。

从以上种种分析,我认为,c语言的前途依然是光明的。

好了,我们先说到这里吧,感谢订阅丁哥开讲,谢谢。






丁哥开讲


c语言工作很多啊,关键看是做什么,比如嵌入式开发,只有汇编和c语言能做,且多数是c语言,现在很多机器,电器里都有芯片,就是嵌入式程序。还有现在最流行的python语言可以调用很多库,这些库有大部分是c语言写的,c语言写的库效率高,弥补了python效率的不足。


隼222


本人电子信息工程出身做过信息系统现在做机器学习。C属于结构化程序设计语法不复杂但是可以涵盖程序设计的基础知识要素。所以是最好的专业入门学习语言。但是没有面向对象和使用指针的缘故不被管理系统开发看好。所以C/C++现在都做底层操作系统层面和底层算法的开发。应用领域更为集中,不像过去那么宽泛。过时?绝对不会!


DOS4204053888


说一点我接触到的吧,服务器领域百分之九十是LINUX不夸张吧,LINUX的爸爸托瓦斯绝对的C拥护者,因为当年试图用C++写内核失败,改用C写Linux内核,所以在服务器系统内核这里C有绝对统治地位


佳礼764


除了汇编,就是C最接近底层了:因此说,凡是要底层(硬件和Firmware)上做到多快好省的,都离不开C,比如通信、军工、嵌入式。当然,在愿意接受一点效率损失的前提下,C现有的领地也可能会被C++侵蚀。


分享到:


相關文章: