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