葉丙成
日前有一位大二同學(xué)跟我約喝咖啡聊天。這位同學(xué)是位相當聰明優(yōu)秀的學(xué)生。在臺大讀了一年半之后,對于學(xué)習(xí),有些想法也有些疑問,所以找我聊。當中聊到了一個問題。他問我系上安排的這些課,以后到底有什么用?有些好像修了以后也不見得用到。如果是這樣,那何必要他們花時間修?
是啊,這似乎是很多同學(xué)在修課、念書時會產(chǎn)生的疑問:“我念這個到底有什么用?”特別是在期末考前熬夜念不完時,這謎之聲便不停地在腦海中反復(fù)出現(xiàn),仿佛是“臺科兄弟”的旋律,久久揮之不去。
一個課有什么用,確實是很重要的問題。在我以前寫過的一篇故事中。我的教學(xué)啟蒙老師耶哥教授來臺演講時,便對大家耳提面命:“老師最重要的工作就是要讓學(xué)生知道修這個課有什么用。學(xué)生知道之后,才會有動機學(xué)習(xí)?!?/p>
所以讓學(xué)生知道修這個課有什么用,是老師們的義務(wù)。不過,這樣的問題,每個人都會有很主觀的看法。老師的看法并不見得是唯一的面相。特別是老師屬于專業(yè)的人士,他們的看法有時候會比較偏重在專業(yè)面而不夠全面。同學(xué)們除了聽老師的說法外,也還是應(yīng)該要靠自己來發(fā)掘。在學(xué)習(xí)的過程中,慢慢體悟你學(xué)到了什么,并深入思考你學(xué)到的東西對你的未來究竟有何意義?
乍聽起來,好像摸不著頭緒,對吧?這邊我給大家一個例子?!坝嬎闫鞒绦颉?,是許多系所的必修或選修課程。修“計算器程序”到底有什么用呢?直覺的答案是:“學(xué)了之后就會寫程序了”“會寫C/C++程序以后才能修下一個XX課”“學(xué)會了之后在業(yè)界比較好找工作”。這些答案對不對?都對。但是學(xué)寫程序的用處就僅僅是這樣嗎?
寫過程序的人都知道,寫程序最痛苦的,就是要抓蟲(debug)。所謂的“蟲”,指的就是自己寫的程序代碼中的錯誤。只要有蟲沒抓完,程序就無法正常運作??墒俏覀儗懙某绦?,往往有成千、甚至上萬行的程序代碼。一旦程序無法運作,要如何知道蟲兒們到底躲在哪些地方呢?特別是程序?qū)懙貌缓玫娜?,程序代碼往往都是寫成一大沱,main() 函數(shù)總是寫的特別肥大。一旦程序出錯,實在很難抓到蟲。有道是:“只在此沱中,沱深不知處?!?/p>
程序課程最重要的訓(xùn)練,就是要大家學(xué)會抓蟲的功夫。為了抓蟲,寫程序不能再寫成一大沱,而是要學(xué)著把程序的功能切割成一個個獨立的小模塊,分別寫出程序代碼。最后再把所有的小模塊串起來完成程序。由于這些獨立的小模塊的功能都被不是很復(fù)雜,程序代碼的行數(shù)也不是那么多,所以每個小模塊運作正常與否可以很容易的測試出來。相較于一大沱的程序來說,要抓蟲就容易多了。舉例來說,如果有幾只螞蟻跑到一個餅干甕中,要找到所有的螞蟻會很困難。但如果餅干當初是被分包成一小包一小包,那我們可以每包個別檢視。要抓到所有的螞蟻,就不是那么困難了!
講到這邊,修過程序課的人可能都覺得我在說廢話,這些大家早就知道了。不過,大家可不要輕忽了這程序課所訓(xùn)練出來的抓蟲心法。這心法可不是只有寫程序或電路設(shè)計才有用的,到處都有用!舉例來說,如果你以后在職場上當了某個團隊的主管。這團隊每次執(zhí)行項目都會失敗,可是老是找不到癥結(jié)出在哪個人身上。當一個工作有十個人一起合作時,誰擺爛導(dǎo)致工作失敗,實在很難看得出來。但是如果把工作切割成小塊,分別分配給不同人作。這時候誰擺爛,只要看各小塊的工作成果便一目了然。 你說抓蟲心法對你有沒有用?
所謂的抓蟲心法,其實就是訓(xùn)練你在出狀況的時候,可以快速的區(qū)隔、進而找出所有出錯點的能力。這樣的功夫在你的未來,不管是管人、管事、管物,都非常有用??墒呛芏嗳瞬]有這樣的體悟,只把程序課定位成純粹專業(yè)的課程,實在很可惜。
我另外還可以再舉一個例子。我在臺大所開的簡報課程,我們一直強調(diào)一個精神:“要了解你的觀眾,再從觀眾的角度出發(fā)去審視你的簡報”。這個精神,是只有作簡報有用嗎?不是的,這樣的精神在寫文章、寫論文,甚至開發(fā)產(chǎn)品上都是很有用的。
以開發(fā)產(chǎn)品為例,開發(fā)者一定要先做市場調(diào)查,了解消費者,接著再從使用者的角度出發(fā)去審視自己的產(chǎn)品功能。唯有這樣,才有可能做出消費者覺得很棒的產(chǎn)品。你看,這樣的精神,跟我們簡報課要傳達的精神,是不是完全符合呢?
所以同學(xué)們,當你們在修課的時候,除了問老師外,自己也可以多花點心思來思考究竟這課程對你的未來有什么用。老師的答案或許會比較局限在專業(yè)的思考之中,但是你們的思考可以更全面、更有突破性。不要只注重在修課所學(xué)到的“知識”有什么用,多花點時間思考你學(xué)到了什么樣的“心法”,而這個“心法”對你的未來人生有什么用?
一旦找到了屬于你自己的答案,恭喜你,你也晉升高手之列了!