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

合浦仔林哥


作为一名从事嵌入式C语言软件开发的工程师,我个人理解,C语言在50年内都不会过时。


为什么觉得C语言工作越来越少

以前上个世纪末,这个世纪初的时候,还没有移动手机,安卓也没有出来,java也还没有普及。那时候最主要的应用,主要是电脑端的应用程序开发。当时的大型应用软件,主要是C语言和C++,也主要是MFC编程。当时的互联网主要是在PC端,所以对于C语言的应用编程需求很旺盛。但随着智能手机的普及,安卓系统,和java的快速发展,很多的应用软件,主要在手机端实现,渐渐以其他的编程语言进行编写增多,这样PC段的C语言应用程序编程的需求,就渐渐减少了。

C语言需求的现状

其实,市面上的C语言编程工作非常多,只是以前偏重应用软件,目前偏重底层硬件,如嵌入式工程师,linux开发,单片机开发等,都是基于C语言编程的。

其实半导体处理器的底层硬件的构架,寄存器的地址分配,C语言有先天性优势的,因为C语言当中指针和结构体的相关知识和应用,是直接可以与处理器的底层地址相互映射。直接操作底层存储位置的数据。

电子产品深入每个人的生活,大家用的手机,耳机,汽车,医疗器械,工业控制,而这些电子产品,都离不开C语言编程,你可以在相关招聘网站上搜索单片机,嵌入式关键词,就可以知道当前的需求是多么的巨大。


C语言不会过时的理由

大家都知道,目前有主流操作系统,分别是Windows,linux,安卓,IOS,其实这几大操作系统的核心代码,都是基于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


这是一个好问题,我们从如下几个方面来分析一下。首先是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语言的前途依然是光明的。

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






丁哥开讲


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

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

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

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


光聊科技


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


DOS4204053888


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


佳礼764


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


延源885


没有C,谁来做java的虚拟机、C#的运行时,php、Python的解释器?[笑哭]


分享到:


相關文章: