嵌入式找工作時(shí)為什么要求精通C ??
目前,從事嵌入式行業(yè)的,絕大部分是電子、自動(dòng)化、通信等專業(yè)畢業(yè)的學(xué)生,搞純軟件的同學(xué)基本上是看不上嵌入式的起薪。
大多數(shù)高校的電子專業(yè)很少有開有C++這門課程的,對(duì)于學(xué)校教學(xué)來說,學(xué)好C語言然后去搞一個(gè)畢設(shè)試綽綽有余的,這也是我們國內(nèi)教育的悲哀,與社會(huì)實(shí)際脫軌。而且部分的同學(xué)的學(xué)習(xí)重心是硬件知識(shí),缺乏數(shù)據(jù)結(jié)構(gòu)、算法和軟件工程上面的訓(xùn)練?;谶@樣的知識(shí)結(jié)構(gòu),是不能理解面向?qū)ο缶幊痰?,如果是自學(xué)C++而沒有參與過實(shí)際大項(xiàng)目(十萬級(jí)代碼以上),基本上就會(huì)認(rèn)為C++是C with class,甚至單純的認(rèn)為class就是就struct可以調(diào)用函數(shù)。對(duì)于這類人,他們上網(wǎng)去搜一下,發(fā)現(xiàn)可以在struct里面保存一個(gè)函數(shù)指針代替class的調(diào)用方法。由于知識(shí)結(jié)構(gòu)的問題,他們基本上就只能做到這里。
有一句話說,沒有最好的編程語言,只有合適的編程語言。由于人與人的基礎(chǔ)和天賦不同,對(duì)于同樣復(fù)雜度的問題,其駕馭能力也是不同的。所以,有些人能當(dāng)CTO,能當(dāng)架構(gòu)師,能夠決定技術(shù)路線。而有些人只能參與模塊級(jí)開發(fā),只能通過google,github來做產(chǎn)品。
C語言這個(gè)玩意兒非常神奇的地方在于,給你提供的東西很少很靈活。隨著你遇到的問題越來越復(fù)雜,你得自己開發(fā)很多東西,比如動(dòng)態(tài)數(shù)組,棧,隊(duì)列,平衡二叉樹。。。。很多東西,如果你還沒寫過這些東西,只能說明你真幸福,面對(duì)的都是復(fù)雜度不高,且效率要求不高的項(xiàng)目。但是,對(duì)于99.99%的C工程師來說,無論你怎么去實(shí)現(xiàn)這些(動(dòng)態(tài)數(shù)組,棧,隊(duì)列。。。)代碼,都是對(duì)C++ STL最拙劣的模仿,這種時(shí)候還不如直接用C++來得現(xiàn)實(shí)。
想要進(jìn)qun學(xué)習(xí)單片機(jī)編程的同學(xué)可以私信我,回復(fù)“我要入門”,也可以掃描二維碼添加。
