作為從事嵌入式軟件開發十幾年的程序員,來嘗試著回答這個問題,嵌入式開發最基本的編程語言當屬于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++了,兩者在性能上的差異已經變得微乎其微了,在某些對于性能要求比較高的場景,依然還是首選的編程語言。
任何編程最快的學習方式就是掌握了基本的語法之后,快速的投入到項目中開發來,是學習最快的方式,但在實際的場景中對新手來講最短時間內參與到項目中幾乎是很難實現的事情,特別對于一些大學生來講,挖掘開源社區的資源成為比較現成的問題,首先從看懂別人的代碼開始,不懂的代碼在網路上尋找思路的突破口,這其中都能獲取到經驗,入門階段走點彎路也是在所難免的,關鍵在于堅持,希望能幫到你。