看板 CSSE 關於我們 聯絡資訊
※ 引述《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