為什麼一定要學習C語言?
作為一名10餘年開發經驗的程序員老兵,細細回想,每每人生轉折都能遇到小甲魚老師的幫助,在講我和小甲魚老師的三段「奇遇」前,先談談自己對C語言的了解。
C語言確實是一個「老古董」了,於1969年至1973年,由丹尼斯?里奇和肯?湯普遜在貝爾實驗室設計、開發出來的,主要用於移植與開發UNIX操作系統。行至今日,在最新的TIOBE編程排行榜中,C語言仍雄踞三甲。究其原因無非下面三點:可移植性、體型小巧、開枝散葉。
可移植性,使用者無須或僅進行少量改動的前提下就能將開發出的軟體運行在不同平台之上。
體型小巧,C語言完全基於變數、宏、函數以及結構,因此可被嵌入至幾乎一切現代處理器中——從冰箱到鬧鐘都可作為其運行平台。
開枝散葉,幾乎所有現代編程語言都起源於C語言,無論是從語法還是程序結構上來說,都像極了C語言,可謂一通百通,學一門語言,你就學會了千千萬萬門高級的編程語言。
奇遇一 固本
學東西就要學「本」,方能更好地錦上添花。還記得小甲魚在教學視頻中分享的一個案例,當年的雅虎,可謂全球互聯網產業的大明星,它第一個找到了互聯網商業模式,第一個突破了千億美金市值,也是第一個了實現了全球化的「巨頭」。而且這家公司很了不起,在郵箱和搜索引擎這種互聯網基礎設施上有極大的技術優勢,可真是滿手的「好牌」啊。結果呢,不到二十年,曲終人散。
從C語言的視角來看,這就是沒有「固本」的原因。比如,它把最最核心的搜索業務外包給谷歌去做,結果讓谷歌練成了一身「功夫」。它投資了中國的阿里巴巴,結果成就了那麼大的電商平台。而它自己天天盯著啥呢?只盯著唾手可得的數據:用戶量、日活月活留存、成本、收入、利潤。那結果當然是「迷失」,核心競爭力很快就會喪失。
目前自己在一家數據公司任職,在設備級別、計算能力通常有限的情況下,C語言非常適合編寫低級代碼(即靠近硬體層的代碼),它不需要很多處理能力,並且能夠直接使用RAM。C也是微控制器編程的通用語言,使其成為感測器和網關硬體層應用的明智之選。但是,由於C語言是一種「底層」語言,如果開發人員不熟悉其語法可能會變得混亂,而能把這些基礎知識講清楚的教程,我想有很多,但是能讓讀者興趣盎然地跟著學完的,卻屈指可數,小甲魚的《零基礎入門學習C語言——帶你學C帶你飛(微課視頻版)》,可佔一席之地,不僅全書用案例進行引導講述相關內容,而且還有風趣的視頻講解,可謂在輕鬆、快樂中學會了C語言。對於很多入職公司的新人,也都極力推薦小甲魚的圖書和課程。
奇遇二 活水
時間回到2010年,坐在人滿為患「死氣沉沉」的階梯教室,頭頂上周期性嗡嗡作響的電風扇,讓本就悶熱的屋子裡,更平添幾分「睡意」,自己是一名迷茫的計算機系大學生,手頭用的是惠普的筆記本,系統是XP,編譯器VC++6.0,台上講C語言的老師,彷彿操著「火星語」,持續對自己進行「催眠」。那時經常在腦海中響起的是「快掛科了,怎麼辦吶?」,直到有一次逛「土豆」視頻網,緣分讓我和小甲魚莫名相遇,這裡有個人在講C語言,點開看看吧……很快,自己學完了所有的視頻教程,期末考試高分通過。是不是很神奇?哪怕現在寫到這裡,依舊忘不掉那份「感激」之情,那時自己看的還是小甲魚老版C語言視頻教程,不過,能把如此枯燥的C語言,講得清清楚楚,生動活潑,讓人情不自禁地想聽下一講,確實太難得咯。
我參加工作後,看到小甲魚又精益求精地推出了目前的《帶你學C帶你飛》系列視頻教程,雖然自己已有不少的實戰開發經驗,但學習之後在細節和技巧上,依舊受益良多,在一個項目中利用小甲魚分享的「移碼」妙招,大大提升了程序效率,順便拿到了項目獎金。是不是得給小甲魚分一點呢?!
看到小甲魚出版了《零基礎入門學習C語言——帶你學C帶你飛(微課視頻版)》這本書,第一時間買過來,看書的感覺還是不一樣,不用做筆記了,書中記錄很多重點內容,可以反覆學習,加深記憶。
奇遇三 授漁
授人以魚不如授人以漁。作為一名程序員,希望自己的孩子也能在計算機的世界中遨遊,沒錯,我希望女兒也能喜歡上單純的編程,作為一個孩子,她自願的選擇,便是單純本身不是嗎?在嗶哩嗶哩網站上,自己搜索「少兒編程」,什麼?不敢相信,小甲魚老師的《零基礎入門學習Scratch》出現在搜索結果中,沒想到,小甲魚教會了我編程,竟也可以教會女兒,將十幾級的視頻教程在IPAD上放給她聽,小傢伙聽得入神,動手跟著寫出了「飛翔的小鳥」遊戲,後來,自己嘗試將C語言的語法,按照她理解Scratch積木的方式慢慢講給她,除了指針部分她理解有點慢,前面的基礎語法,簡直毫不費力就突破了,至少比自己上大學時學C要厲害百倍。真的,再一次感謝小甲魚老師,帶我和女兒一起「飛入」程序的世界。
最後,衷心祝願魚C工作室和小甲魚能推出更多優質「獨樹一幟」的編程圖書和視頻教程給大家。
讓編程改變世界,就是讓編程改變每一個人,自己就是最好的例子。
——不餓(網名)
2019年4月寫於辦公室
TAG:中國教育新聞網 |