作者reader (讀者)
看板CSSE
標題Re: [問題]各位是花了多少時間在練功呢?
時間Mon Oct 2 17:49:09 2006
※ 引述《final01 (牛頓運動定律)》之銘言:
: 請問是花了多久的時間跟
: 做了哪些功課呢?
昨天有一點小感冒,沒辦法多講,今天補充一些個人經驗。
我在開始學習寫程式之前,就已經被國中時的資優班數學老師逼著學會了
許多電腦相關的數學,在國一的上學期就學完了二進位運算、基本的數值
方法、遞迴函數、布林代數等等東西,考試要拿到及格的分數都很困難,
那時候所用的教科書就是叫做《電腦之基本數學》。
但是到了後來,才漸漸發現那些東西的用處,至少在一開始接觸程式設計
之時,我和同學們都沒有什麼陌生感,方法都是已知的,大多數的時候,
似乎就等於是解題而已。
很多人一開始都是從學習程式語言開始,由於程式語言的複雜性,就會有
一些因為不熟悉而產生的畏懼感,但我們卻是以工具的角度來看待,覺得
幾個重點知道了,不管哪個程式語言都一樣可以很快就拿來寫程式,其他
部分就是需要時再學習使用就好。
也就是說,我們在學習電腦時,直接看見的就是它的脈絡,而不是表象,
在別人還在炫耀自己會幾種程式語言之時,我們已經在談軟體的設計了。
我們會去分析每一個自己所用到的軟體,不會把自己寫的程式和商業軟體
分開來看待,覺得那是同一件事情。而為什麼人家可以賣錢,我們自己卻
賣不了錢,自然就是人家畫面漂亮好用、錯誤處理得好,所以這些部分就
顯得相當重要,而不會因為自己只會寫運算處理的部分,就用精神勝利法
覺得核心功能或演算法才是唯一重要的事,其他都不重要。
因此,我們很快地就覺得,自己其實能夠做出跟商業軟體一樣好的東西,
問題在於別人可以找很多人合作,我們卻沒那麼多人那麼多時間,於是,
如何增進生產力,以及能不能有一些部分做得比別人更好,就成了下一個
重點。
到此為止,程式設計就成了軟體工程和電腦科學兩個方向的問題,就不是
在 coding 細節上糾纏的事情。我們知道好用、漂亮和功能強,都是影響
軟體競爭力的因素,知道軟體事業是長期的競爭,如何有效改版,使軟體
能夠永續維護發展是最需要關心的議題。
在我們學電腦的第一年裡,我們就知道了這些事情,知道了我們以後需要
努力的方向,所以我們進入軟體產業的時間就比別人更早、擁有的機會比
別人更多,卻不見得是我們更努力學得更多更深入。
所以,如果要我說的話,學習之中最重要兩件事,就是擁有正確的觀念和
目標,什麼時候有了正確的觀念和目標,就什麼時候入門了。
什麼叫做正確的觀念? 就是認知到自己所學習的東西,有著更深的學問,
不是記憶得多、練習得多就會變厲害的,而需要學習理解的學問是什麼,
則是需要先問清楚自己學習的目標在哪裡。
而最常見的錯誤觀點,就是認為程式設計即是利用程式語言與機器溝通,
所以用學習外語的態度來學電腦,只關注在程式語言的熟練上,覺得學會
寫程式,就如同學會一種外語一樣是一種在未來可能有用的技能。
這是很嚴重的錯誤,程式設計是在解決問題,更是軟體產業的核心專業,
不是讓人類跟電腦溝通情感的。
所以培養解決問題的能力,則是學習程式設計時最為基本而重要的訓練。
這也是為什麼在資訊教育中,解決問題是那麼重要的一件事。在很多時候
「解決問題」被認為就是演算法,但其實它們是有差別的,加上人們往往
會把資訊教育、電腦科學和資訊產業的內容混在一起,才造成那種演算法
天大地大,其他不過是下人們的工作的想法,但這也是不對的觀念。
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 61.222.173.30
推 taiwancat:好文推... 10/02 18:09
推 pao0111:大推! 10/02 21:17
推 idogo0701:說的太好了...我也是認為程式要寫的順暢易懂,結構明確갠 10/04 23:07
推 metalalive:推一個~ 蠻適合給初學程式OR進入軟體設計的人一點方向 10/09 01:44
推 chiayen920:真的說的太好了,寫的太貼切了......... 10/10 16:02