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