打比喻、講故事

85年秋天入學(xué)北航,面對(duì)嶄新的大學(xué)學(xué)習(xí)生活,一臉迷茫。很多時(shí)候只是追尋高中的思維慣性:刷題與閱讀。國(guó)慶節(jié)后更換班主任,剛從紐約工學(xué)院結(jié)束進(jìn)修回國(guó)的董老師被任命為班主任,他向班上每個(gè)人提出了清晰的要求:趕緊學(xué)編程、英語(yǔ)和數(shù)學(xué)。對(duì)照我自己的狀態(tài),后兩項(xiàng)已進(jìn)入第一梯隊(duì),而編程是白紙一張。大一下,開(kāi)始選修計(jì)算機(jī)系的PASCAL語(yǔ)言。這是董老師極力推薦的,因?yàn)楸泵滥菚r(shí)已經(jīng)看到了其它語(yǔ)言的局限性:代碼結(jié)構(gòu)化很差,修改源代碼易錯(cuò),可移植性不高。

進(jìn)入課程后,第一道難關(guān)是循環(huán)語(yǔ)句,困惑于不同的循環(huán)語(yǔ)句如何使用。任課老太太文學(xué)功底深厚,為人慈祥,喜歡比喻:

如果今天數(shù)學(xué)作業(yè)是10道題,只要寫完,不論對(duì)錯(cuò),任務(wù)Over。 請(qǐng)使用 For語(yǔ)句。

如果數(shù)學(xué)作業(yè)還是10道題,但必須全對(duì)才算結(jié)束。請(qǐng)使用 Do While語(yǔ)句。

頓時(shí)茅塞頓開(kāi)!

第二道難關(guān)是“遞歸”,這是BASIC語(yǔ)言和Fortran語(yǔ)言所沒(méi)有的。這次她不打比喻了,改講故事:

你們?nèi)ミ^(guò)天安門吧。 城樓上有個(gè)國(guó)徽;那個(gè)國(guó)徽中又有一個(gè)天安門,那個(gè)天安門城樓中又有一個(gè)國(guó)徽,這就是遞歸。

終身不忘!

第三個(gè)難關(guān) 函數(shù)與虛擬參數(shù)。尤其是虛擬參數(shù)在每次函數(shù)運(yùn)行結(jié)束后消失 深感迷惑。她再次開(kāi)講故事:

我家住西直門,胡同口開(kāi)了家很小的包子鋪。你買包子的過(guò)程就是一個(gè)函數(shù)。每次買包子時(shí),你得告訴老板,要什么餡的,要幾個(gè),并給錢,這些就是輸入虛擬參數(shù);老板遞給你包子和找零,就是函數(shù)返回時(shí)的輸出參數(shù);錢和包子當(dāng)面點(diǎn)清,離開(kāi)柜臺(tái),概不負(fù)責(zé);這就是為什么函數(shù)返回后所有虛擬參數(shù)自動(dòng)消失。

離開(kāi)北航快30年了,內(nèi)心深處一直非常感謝這些當(dāng)年學(xué)業(yè)上的引路人。這些比喻,這些故事,終身受益。很多艱澀的工科概念的難以理解,在它們面前灰飛煙滅。課程結(jié)束時(shí),她送每個(gè)孩子一句話: 編程不能光知道How,還要知道Why。這句話始終鐫刻在自己的心頭,激勵(lì)著自己要不斷地努力學(xué)習(xí),勤奮工作。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容