由于C语言与硬件的结合非常紧密,同时C语言也有健全的语言生态,所以未来的应用场景还是非常多的。最后,C语言虽然已经有了几十年的应用历史,但是C语言凭借较高的执行效率和简介的语法结构,一直在操作系统研发、容器研发和各种嵌入式开发中占据着重要的位置,目前依然是最为流行的编程语言之一。
只会写嵌入式程序的人满大街都是。树莓派、arduino等这些不用费脑子费体力做硬件的开发板出来后,连软件工程师都可以转过来做嵌入式程序了。但写的了程序还真正能做硬件电路的人太少了,最多是参考开发板送的资料或者芯片Datasheet设计个最小系统,能做外围电路特别是模拟电路的太少了,几十年前,父母那一辈的工程师还能自己焊接调试个电视机、收音机、电台的出来,现在的人基本是用到什么都找集成芯片。
以至于我们要找嵌入式硬件工程师,都要求他做过开关电源、变频器之类的,另外一些,能写程序的人还能做数字信号处理算法的人(图像处理、声音处理、自控算法处理等)的人太少了。和计算机软件比起来,因为嵌入式在硬件上投入比计算机软件要大,项目开发周期较计算机软件的长、资金回拢周期也较长,所以,做嵌入式/电子设备的企业要少的多。
企业缺人是缺少来了就能直接上手的人,也缺少学习能力强的人,嵌入式的芯片多种多样,不像计算机硬件平台基本就是X86,如果用到其他平台如ARM和powerPC,对软件工程师的工作影响不是太多,因为他们是面向对象编程,不需要考虑硬件。做嵌入式多多少少是要考虑硬件平台的,我招个人,我们用工业总线CAN,他说他以前只玩过串口和TCPIP,那又要花一两个月来适应CAN协议我们用ti的ARM9,他说他以前只做过STM32,还要学习一下ARM9的寄存器。
然后因为思维有些固化,一直排斥ARM9,说这东西不如ST,没有库函数程序写起来不好用balabalala所以一直缺人,但却一直在面试找不到个技术上跟我们要求尽量接近的,至于工资,其实是两面分化的,如果跟上述一二段说的那些人,基本上工资是要低于他们做计算机软件的同学们(同学历、同工作年限、同毕业院校的人们之间对比)。
2、程序员有必要学习C语言吗?
谢谢邀请!这是一个非常好的问题,作为一名IT行业的从业者,同时也是一名计算机专业的研究生导师,我来回答一下这个问题,首先,当前的C语言不但依然值得程序员学习,而且未来的C语言将会持续受到关注,主要的原因有以下几点:第一:物联网前景广阔。在当前5G通信的推动下,物联网领域的发展前景将非常值得期待,物联网的发展与互联网有很大的不同,在互联网阶段,做上层的资源整合就可以了,而在物联网阶段,要从底层的硬件研发开始,而这正需要研发人员具备C语言的应用能力,
第二:行业结构体系进一步优化。在产业结构升级的推动下,广大传统行业需要完成网络化和智能化改造,这就要求IT行业要全面进行结构优化,以适应产业结构升级的要求,互联网必然会从上层研发逐渐走到底层研发,比如目前对于电子电路、芯片方面的研发受到了广泛的关注,由于C语言与硬件的结合非常紧密,同时C语言也有健全的语言生态,所以未来的应用场景还是非常多的。
第三:程序员结构升级,在云计算技术的推动下,未来大量的后端开发程序员将完成岗位升级,从事研发级工作,而C语言是研发级程序员最常见的编程工具之一,所以未来C语言依然会有大量的用户。最后,C语言虽然已经有了几十年的应用历史,但是C语言凭借较高的执行效率和简介的语法结构,一直在操作系统研发、容器研发和各种嵌入式开发中占据着重要的位置,目前依然是最为流行的编程语言之一,
从目前的发展趋势来看,C语言对于程序员未来的发展来说依然具有重要的意义。我从事互联网行业多年,目前也在带计算机专业的研究生,主要的研究方向集中在大数据和人工智能领域,我会陆续写一些关于互联网技术方面的文章,感兴趣的朋友可以关注我,相信一定会有所收获,如果有互联网、大数据、人工智能等方面的问题,或者是考研方面的问题,都可以在评论区留言!。