大一大二的時候學了很多學門,包涵工程必修的微幾分、線性代數和離散數學等。一次次的考試都在充分的準備下通過了,也因應付考試,事後學的理論都過眼雲煙。
大一的時候一直想不透,為什麼我們學電腦學程式需要去了解這麼深奧的學數和公式?
原以為上了大學進了資工領域,我就應該把重心放在電腦上。像是計算機組織和作業系統資科結構等,都是很輕易就可以和電腦有關連了,反到是微機分大三之後竟然都沒在碰過他了。
大一以來,我的嗜好不外乎去誠品走馬看花,不然就是拿起筆在紙上天馬行空起來。也偶而接個網頁製作和簡單的電腦繪圖來賺點生活費,但是電腦程式我卻是只有在課堂需要才會動手起來敲個鍵盤然後上傳,除此之外我和程式再也沒有交集。
資工人不喜歡寫程式很怪嗎? 好像真有點怪異…
或許我總是沒有想要寫的東西。
大四了,要畢業也要先完成學校的畢業專題。沒想到會接到這麼棘手的問題,先是對題目一知半解,又是對內容沒有方向。看了幾篇paper,又從paper往上鏈結其他paper找尋其他可用資源,才發現,原來那些被我遺忘或是被我唾棄的東西,現在都來報仇了。
paper很多公式,為了簡化大量運算,便用矩陣來表達。看了一群矩陣轉來轉去,我開始感到焦慮,就像被小朋友問"八仙過海"這總簡單,卻又想不到答案般的煩躁。
之後paper又出現一堆似懂非懂的詞語,學妹說,這好像高中有教過!!
真得嗎? 看了看那個詞,linear programming...線性寫程式?? 程式就程式,哪來的線性程式…
之後又看到nonlinear programming...天呀…什麼又是非線性程式…
不信邪,網路上找看看,結果都是模菱兩可的資料。只好上圖書館查,一查就是一本大原文書。讀了內容,才發現原來高中真有教過這東西,只是沒那麼複雜,也沒那麼多變數,沒那麼多理論。我才知道原來他叫做線性規劃,而不是指coding。而他在幾合上又有convex和concave的特性等等。我肯定這些詞在大一大二的課程上都有提過,只是考完我也不再理會他了。
感謝同學願意找我一起去程式設計比賽,一拿到題目我便發覺到,幾乎全都是數學問題!怎麼程式比賽變得像是數學電腦比賽?但仔細看題目,那些情境幾乎都是需要處理大量資料模型,這種當然是電腦算才有效益。
原來,學習電腦、學習程式,都只是在為決解問題開一條路。而數學,他竟然主導了這些問題的核。公司理財需問題可以有相對應的數學模型,網路分配也有數學模型,林林總總的問題幾乎都可以轉成數學模型,再透過相對應的模型找解決的數學方法。
這個道理幾乎所有人都知道。數學為科學之母。每想到我現在才頓悟這偉大的道理。
就像我哥大一送我一件褲子,直到前幾天我才在上廁所的時間赫然發現竟然是T牌的褲子!這麼好的東西我竟然過了這麼久而且在這麼的情況下發現,我真是太對不起我老哥了。
老師早在之前就教授了很多入門的數學工具了,我卻一直視而不見。卻在現在才發現他的重要性,我相信現在知道不算晚,但也不能再停滯不前了。尤拉對數學的執著讓他右眼再也不健康,霍金似然全身癱瘓,但是他對宇宙的熱情仍可透過機器和人們溝通。我相信我會有找到熱情的那一天。