嵌入式找工作时为什么要求精通C ??
目前,从事嵌入式行业的,绝大部分是电子、自动化、通信等专业毕业的学生,搞纯软件的同学基本上是看不上嵌入式的起薪。
大多数高校的电子专业很少有开有C++这门课程的,对于学校教学来说,学好C语言然后去搞一个毕设试绰绰有余的,这也是我们国内教育的悲哀,与社会实际脱轨。而且部分的同学的学习重心是硬件知识,缺乏数据结构、算法和软件工程上面的训练。基于这样的知识结构,是不能理解面向对象编程的,如果是自学C++而没有参与过实际大项目(十万级代码以上),基本上就会认为C++是C with class,甚至单纯的认为class就是就struct可以调用函数。对于这类人,他们上网去搜一下,发现可以在struct里面保存一个函数指针代替class的调用方法。由于知识结构的问题,他们基本上就只能做到这里。
有一句话说,没有最好的编程语言,只有合适的编程语言。由于人与人的基础和天赋不同,对于同样复杂度的问题,其驾驭能力也是不同的。所以,有些人能当CTO,能当架构师,能够决定技术路线。而有些人只能参与模块级开发,只能通过google,github来做产品。
C语言这个玩意儿非常神奇的地方在于,给你提供的东西很少很灵活。随着你遇到的问题越来越复杂,你得自己开发很多东西,比如动态数组,栈,队列,平衡二叉树。。。。很多东西,如果你还没写过这些东西,只能说明你真幸福,面对的都是复杂度不高,且效率要求不高的项目。但是,对于99.99%的C工程师来说,无论你怎么去实现这些(动态数组,栈,队列。。。)代码,都是对C++ STL最拙劣的模仿,这种时候还不如直接用C++来得现实。
想要进qun学习单片机编程的同学可以私信我,回复“我要入门”,也可以扫描二维码添加。
