這幾天把c語言過了一遍,基本上算是入門了,經常使用語法、函數的使用。c語言是比較古老的語言了,不少系統的底層、工業控制軟件都是使用C語言編寫,過一遍以後以爲c語言屹立不卻是有緣由。c程序員有一句話:使用c語言時間長了,感受本身能控制整個世界。c++
01 c語言和其餘語言的區別和聯繫程序員
c比較古老,不少現代編程語言設計時基於c的語法。C是面向過程的語言,Java、c#、Python、c++等是面向對象的語言,封裝的比較好,一樣執行速度也不如c快。c沒有複雜的封裝,因此使用起來不少東西須要本身編寫實現,入門容易精通難。c不少操做直接面向內存操做,還須要手動釋放內存,控制性更強,但也須要更多的經驗才能保證程序的穩定健壯,像現代語言都不須要考慮內存釋放。算法
02 c語言好學不?編程
好學,若是你學過Java、c#語言就會發現語法都差很少,像c語言中的結構體就和c#的結構很像。有不少人認爲指針比較難學,其實否則,能搞懂Java、c#中的值類型和引用類型就能搞懂c語言的指針。c中的函數都是比較基礎的函數,不像面嚮對象語言那樣龐大繁多。掌握了經常使用的函數後,其餘的能夠查函數手冊,用法都差很少,soso easy。c#
03 能幹啥?網絡
編寫嵌入式程序(電子電路控制)、桌面程序、遊戲、寫個服務、寫個dll庫給別人調、寫個操做系統(誰寫出來請務必聯繫我)、寫個別的語言。數據結構
04 那我該不應學?編程語言
這個由你本身決定!我我的認爲不應學,如今不少公司不提倡重複造輪子,要快速開發,明天上線,用c寫程序實在不合時宜。我我的認爲該學,下圖即是對這個急功近利時代的嘲諷,只會複製粘貼的屬於體力勞做,詳情參考以前的這篇文章 程序員都知道,如何不被淘汰函數
圖片來自網絡學習
爲啥有些公司樂意招 98五、211 畢業的,培訓出來的就不能創造價值了嗎?並不是鄙視培訓出來的同窗,但 98五、211 的同窗確實好使,他們受到過更加基礎系統的訓練,操做系統、網絡協議、算法、數據結構這些思惟性的纔是核心競爭力,因此學習c造造輪子也並不是無用功。
你們思考一個問題,開源社區有不少優秀的開源項目,咱們國人的開源項目能佔到多少?