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