學(xué)了C語(yǔ)言,能搞什么項(xiàng)目?(學(xué)了c語(yǔ)言,能搞什么項(xiàng)目呢)
直至今天還有人在喊著C語(yǔ)言都過(guò)時(shí)的語(yǔ)言了,還有什么值得去學(xué)的,看現(xiàn)在的python,php等語(yǔ)言現(xiàn)在用起來(lái)多簡(jiǎn)單,誰(shuí)還去學(xué)習(xí)老掉牙的C語(yǔ)言,事實(shí)真的是這樣的嗎?筆者作為專(zhuān)門(mén)下載了這兩種語(yǔ)言的底層源碼。由于篇幅的限制在這就不剖析框架如何去實(shí)現(xiàn)這些編程語(yǔ)言。
簡(jiǎn)單列舉下目錄結(jié)構(gòu):
php部分底層文件
python部分底層文件
現(xiàn)在編程語(yǔ)言進(jìn)化速度以及種類(lèi)變化非常大,現(xiàn)在C語(yǔ)言走在前臺(tái)的機(jī)會(huì)越來(lái)越小,并不代表C語(yǔ)言就此埋沒(méi)了,或者銷(xiāo)聲匿跡了,還在像老牛一樣默默的耕種。
從世界編程語(yǔ)言的范圍看,C語(yǔ)言的排名穩(wěn)居前三,只不過(guò)最近幾年由于國(guó)內(nèi)互聯(lián)網(wǎng)發(fā)展的比較迅猛,比較前沿的開(kāi)發(fā)語(yǔ)言用的多一點(diǎn),似乎是覺(jué)得C語(yǔ)言的市場(chǎng)相對(duì)少了,放眼全球C語(yǔ)言排名依然很可觀,有圖為證。
2017世界編程語(yǔ)言排名
有些人會(huì)覺(jué)得掌握了C語(yǔ)言不能總是去開(kāi)發(fā)別的語(yǔ)言,現(xiàn)實(shí)中學(xué)好了C都能開(kāi)發(fā)哪些項(xiàng)目?
一. 嵌入式軟件項(xiàng)目
C語(yǔ)言是比較靠底層的語(yǔ)言,和設(shè)備直接打交道比較多,linux操作系統(tǒng)的源碼絕大部分是C語(yǔ)言搞定。芯片和底層驅(qū)動(dòng)基本上也是C語(yǔ)言,大家在招聘簡(jiǎn)章上的驅(qū)動(dòng)工程師最基本的要求就是掌握C語(yǔ)言。
常見(jiàn)的底層庫(kù)比如網(wǎng)絡(luò)接收,底層圖形繪制庫(kù)等對(duì)性能要求非常高底層軟件庫(kù),基本上是C語(yǔ)言和匯編的結(jié)合體,C語(yǔ)言相對(duì)占比更高。
二. 參與開(kāi)發(fā)高級(jí)語(yǔ)言底層實(shí)現(xiàn),或者系統(tǒng)級(jí)開(kāi)發(fā)
現(xiàn)在常見(jiàn)比較流行的語(yǔ)言底層代碼基本上都有C語(yǔ)言的參與,很多常見(jiàn)的python,java,php底層的維護(hù)語(yǔ)言基本上以C語(yǔ)言為主,這方面對(duì)于編程經(jīng)驗(yàn)的要求也比較高。有想了解這方面的知識(shí)的可以,訂閱一個(gè)linux內(nèi)核開(kāi)發(fā)的郵箱,能自動(dòng)收到linux內(nèi)核里面提交的bug,解決bug的代碼,以及提出一些建設(shè)性的意見(jiàn),每天都能收到成百上千的郵件。能很好的了解開(kāi)源社區(qū)是咋玩的,也能進(jìn)一步了解C語(yǔ)言在開(kāi)發(fā)系統(tǒng)方面,原來(lái)如此強(qiáng)悍。
三.通訊領(lǐng)域以及服務(wù)端的開(kāi)發(fā)
在強(qiáng)調(diào)性能和底層數(shù)據(jù)安全性的領(lǐng)域,C語(yǔ)言還是第一選擇。服務(wù)器端特別是網(wǎng)絡(luò)并發(fā)處理以及數(shù)據(jù)安全都是第一位的。這個(gè)行業(yè)C語(yǔ)言施展的空間還是很大。很多大型的游戲引擎底層圖形庫(kù)的實(shí)現(xiàn)也有C語(yǔ)言的功勞。
從理論上來(lái)說(shuō)C語(yǔ)言能做任何事情,但不同場(chǎng)景可能是別的語(yǔ)言相對(duì)來(lái)說(shuō)更加合適,效率更高。比如做個(gè)web服務(wù)器,用C語(yǔ)言一點(diǎn)點(diǎn)的都能實(shí)現(xiàn),交給java去做,搭建幾個(gè)框架幾個(gè)回合就完成了。不是能不能的問(wèn)題,是誰(shuí)最合適的問(wèn)題。
很多系統(tǒng)級(jí)架構(gòu)師,對(duì)C語(yǔ)言很是推崇,有句話:知其然知其所以然,說(shuō)的就是這個(gè)道理,知道底層是如何實(shí)現(xiàn)才能更好 指導(dǎo)上層如何去應(yīng)用。很多資深級(jí)別的程序員都建議從C語(yǔ)言開(kāi)始學(xué)習(xí)編程,然后慢慢向上層邁進(jìn),一步一個(gè)腳印的完成。
有志于在編程行業(yè)走到最后的小伙伴,建議一定要學(xué)習(xí)下C語(yǔ)言,為自己打下一個(gè)良好的基礎(chǔ)。加油吧,菜鳥(niǎo)。
如果對(duì)編程感興趣,想了解更多的編程知識(shí),解決編程問(wèn)題,以及入門(mén)指導(dǎo),幫你解決編程中遇到的困惑,請(qǐng)大家關(guān)注微信公眾號(hào):程序員互動(dòng)聯(lián)盟,關(guān)注后輸入關(guān)鍵字 自學(xué) 獲取編程自學(xué)手冊(cè)
公眾號(hào):coder_online