大家好,我是CodeAllen,今天是2023年1月30日,今天分享的主題是關(guān)于C語言的學習問題,為什么學完了 C 語言覺得自己什么都干不了?
其他方向不了解哈,我2013年大一開始自學C語言,然后就開始做嵌入式,大學四年,到現(xiàn)在畢業(yè)又六年,C語言已經(jīng)陪我十年了,可以說是一直堅持且養(yǎng)家糊口的工具。所以,別的也許不行,但是嵌入式開發(fā)C語言是絕對可以的!你說的什么都做不了應(yīng)該是對比Java或者Python之類的語言,這種在學習之初就有很多好玩的例子,尤其是Python,有很多好玩且厲害的庫,而且開源的小項目代碼也很多。
類似的這樣的項目我理解就是你期許的能做的事情吧,實現(xiàn)上述這些例子基本只要會百度就可以,雖然你不一定搞明白了,但是你就是可以運行代碼實現(xiàn)這些,這其實就是高級語言的魅力,你不用太在意底層的細節(jié)就可以實現(xiàn)炫酷且實用的項目。而大多數(shù)初學C語言,在學校學習C語言使用的還是上個世紀的軟件,沒錯就是Visual C++ 6.0,就這個老古董的軟件還經(jīng)常有初學的同學找我問安裝包,實在是不敢恭維。
而C語言編譯輸出的界面則是經(jīng)典的黑色控制臺,甚至我現(xiàn)在已經(jīng)使用C語言十年了,還是經(jīng)常面對的是一個這個黑框框。但是你學過C語言應(yīng)該知道,C語言其實算是一門中級語言,它比匯編要更容易理解,而比Java,Python之類的面向?qū)ο笳Z言要高效,且C語言的誕生之初就是為了改進Unix系統(tǒng),這個歷史非常悠久且說來話長。具體可以看看我之前寫的一篇C語言的歷史變遷。C語言標準的變遷(最全版本)
由上可以,C語言是為了開發(fā)操作系統(tǒng)而生,所以目前已知的幾乎所有操作系統(tǒng)的底層都是C語言和匯編搭建的,而操作系統(tǒng)又是IT行業(yè)的靈魂,不管是火爆的互聯(lián)網(wǎng),還是大家?guī)缀醪豢梢姷暮A?a class="article-link" target="_blank" href="/tag/%E6%9C%8D%E5%8A%A1%E5%99%A8/">服務(wù)器,當然還有日常生活中你接觸的種種智能電子產(chǎn)品,其核心都是依賴操作系統(tǒng),所以最起碼C語言離你很近,只是你沒注意到。
然后再說回來,對于學習C語言的同學可以做什么,根據(jù)上述的描述你應(yīng)該已經(jīng)知道了,有海量的企業(yè)是在維護操作系統(tǒng),數(shù)據(jù)庫還有很多你經(jīng)常調(diào)用的算法庫,其大部分代碼都是C語言在運行,這些企業(yè)都可以提供大量的崗位,這也解釋了為什么很多人覺得C語言毫無用處,但是編程排行榜上C語言卻一直堅挺。
當然上述事實也暴露一個問題,不管是操作系統(tǒng),還是數(shù)據(jù)庫,哪怕是一些獨立的算法庫,這都不是你一個初學C語言的同學能搞定的,所以這也就是是導(dǎo)致你覺得沒什么能做的。
不過還有一個領(lǐng)域是你初學C語言就能實際接觸且開始開發(fā)的,那就是嵌入式,簡單的C語言加上基礎(chǔ)的硬件知識你就可以開始制作屬于你自己的電子DIY產(chǎn)品。
從可以送女生的簡單的心形流水燈,炫酷的廣州塔(都是基于IO控制的LED應(yīng)用)
自制小四軸,2015年電賽就是靠它拿的獎
還有各種各樣的需求就不一一列舉了,雖然看著都是電子產(chǎn)品,但是C語言卻是作品的靈魂。