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