[小狐熊週記] 20241111 小孩學什麼寫程式呢
你會教你的小孩程式語言嗎? 作為一個寫程式的工程師, 從好幾年前就會有人問我說:你會教你的小孩程式語言嗎? 我總是回答說「還是先把一般語言學好吧。」 程式語言是一種外語。 在學外語之前,值得先把母語學好。 我在教其他學生程式語言的時候也總說: 「程式語言是一個很快就會過時的東西。 與其學這些東西, 不如投資在更基本且不會過時的能力上。」 那什麼叫做更基本且不會過時的能力呢? 我覺得這幾個基本項目可以作為一部份的參考: 1. 語文理解(Verbal Comprehension) 2. 視覺空間(Visual Spatial) 3. 流體推理(Fluid Reasoning) 4. 工作記憶(Working Memory) 5. 處理速度(Processing Speed) 這幾項都跟寫程式技能本身沒什麼直接相關, 但卻跟寫程式的核心能力高度相關。 我從來不教小狐熊寫程式, 但我每天都在教他們這些基本能力。 而且我不只是從小這樣教小狐熊而已, 我從小就是這樣教我自己。 把點數都灌在智力上 以前我玩過一款遊戲叫金庸群俠傳, 裡頭的主角有一個屬性叫「資質」,就有點類似智力的概念。 同樣的一本武功秘笈, 資質愈高的人,所需要的練功時間就愈短。 只是在遊戲中的「資質」其實是一個創角當下就決定的數值, 終生沒得改變。 然而在實際人生中, 我總覺得「資質」本身就是一種武功。 只要鍛練,就可以愈練愈強。 所以在我還不知道要該練什麼武功的時候, 我就會選擇鍛練「資質」。 好讓自己未來不管決定要練什麼武功,都可以急速練成。 後來我回頭看這個選擇,真是太有智慧了!XD 這呼應了資訊界的大師 Knuth 的名言: 「premature optimization is the root of all evil」 (過早最佳化是萬惡的根源)。 是啊,人生那麼長,可以學的東西那麼多, 年輕時不管把時間投入到哪一個技能,都有過早最佳化之嫌。 在學習任何一個技能之前, 不如先學習「如何學習」吧。 高高低低的評估報告 上文提到的這五項: 語文理解/視覺空間/流體推理/工作記憶/處理速度 其實就是魏氏智力測驗所測的項目。 而我之所以會認識到這些項目, 是因為小狐前陣子接受了綜合評估, 報告書裡面就有一節關於智力的評估。 我看了報告書才知道所謂的智力測驗是在測什麼東西。 正如同創遊戲角色一樣, 如果玩家把技...