用了几年的C语言后你总结了哪些C语言的精髓,是否可以说下心得体会?
作为从事嵌入式软件开发十几年的程序员,来尝试着回答这个问题,嵌入式开发最基本的编程语言当属于C语言了,这门编程语言最大的特点是灵活高效,现在大学开设相关的编程课程已经非常多样化了,在十几年前的大学几乎大家接触到第一门编程语言都是C语言,所以C语言在国内还是有着非常深厚的土壤,在当时C语言几乎被当成万能语言来使用,但是在一些场景上的确不是C语言擅长的,特别是一些应用需求变化比较大的场景,再后来随着编程行业的演变,越来越多的高级编程语言开始走上历史舞台了,翻看编程语言的历史很多编程语言其实已经诞生了很多年了,只不过在诞生的时候并没有引起很多人的重视,就是还没有等到风口出现。
C语言从特性上讲更加适合底层开发。这点已经在很多庞大的工程上得到体现,最直接就是操作系统,参与这个巨大工程的主要编程语言就是C语言和汇编,当然汇编只是出现在一些特殊的场景,绝大部分还是C语言完成,之所以选择C语言也和历史背景有一定的关系,首先在操作系统诞生的年代可以使用的编程语言相对比较好,而且操作系统对于性能的要求极高于是C语言就成了最佳的选择,由于其具备很强的灵活性所以很多功能充分利用C语言灵活的特性就能得以实现。
C语言由于太过灵活在实际编程过程中需要一定的经验积累,才能真正意义上切入到项目中去。C语言在初学过程中整体看起来也就是几个重要的语法点,但是在实际运营的过程中只是简单一个宏的应用本身就是包含着太多的学问,所以C语言的学习只是单纯的研究习题很难真正掌握真谛,现在开源社区的代码基本上都能拿到,可以找到一些关于C语言去实现的代码,一点点去研究,如果能看懂高手写的代码这事情就能成一半了,先能看懂别人写的优秀代码,然后再去思考模仿,最后才是真正意义上的创新,所以一个具备独立工作能力加上有一定创新能力的软件工程师起码需要3年以上的时间,大部分人需要5年的时间达到这种级别,也就是企业在用人的时候在简历上写到的高级软件工程师的级别。
C语言是否真的过时了。老生常谈的一个话题,现在的C语言在市场绝对数量的岗位非常多,但是和高级语言相比比例上已经失调,这点其实和国内这些年在大力发展互联网行业有一定的关系,互联网企业开发主要开发内容是应用和后端服务器,这里面主要涉及的编程语言有java,php,python,C++较多,C语言相关少了许多,现在的C语言已经退居幕后了,在系统底层维护以及在特殊的场景用的比较多,像华为的通信设备里面大部分编程语言还是C语言,但是随着硬件性能的提升在某些场景下已经从C语言换成C++了,两者在性能上的差异已经变得微乎其微了,在某些对于性能要求比较高的场景,依然还是首选的编程语言。
任何编程最快的学习方式就是掌握了基本的语法之后,快速的投入到项目中开发来,是学习最快的方式,但在实际的场景中对新手来讲最短时间内参与到项目中几乎是很难实现的事情,特别对于一些大学生来讲,挖掘开源社区的资源成为比较现成的问题,首先从看懂别人的代码开始,不懂的代码在网路上寻找思路的突破口,这其中都能获取到经验,入门阶段走点弯路也是在所难免的,关键在于坚持,希望能帮到你。
推荐技术文章: