週末 I 學妹問我學校課程的評價,我用了各種比喻,仍無法有效傳達個人意見。
只好用寫的。雖然應該還是一堆毫無章法的段落,但起碼可以讓我練習打字。
自知多為一己經驗所造成之偏見,就暫不發在課程版。
問題意識 #
在我的想像中,大部份二類組的學問(課程)都會有強烈的問題意識。
- 古人 A 想做一件事 -> 古人 A 遇到困難 -> 古人 A 放棄
- 古人 B 想做一件事 -> 古人 B 遇到困難 -> 古人 B 放棄
- 古人 C 想做一件事 -> 古人 C 遇到困難 -> 古人 C 解決困難
- 古人 D 發現 A, B, C 想做的事其實很像 -> 後人用 C 法解所有 ABC 問題
而軟體工程中,ABC 問題就是程式不好維護,C 法則是某種 design pattern。
麻煩就在於我沒有評價「好不好維護」的能力,這根本就是藝術。
好比有人所信物理模型與現實不同,世人多半會認為他物理很爛,算/靈力再強也枉然。
偏偏「好維護」的公設要比那些物理定律愛昧多了。
另外這也不是藝術欣賞課,臺面上似乎也沒有太多流派可供欣賞。
世界觀 #
我心中的程式,就是吃輸入、時空間資源,便會吐輸出的玩意。頂多再算上 side channel
而我認為老師心中的程式,是對現實世界中,物品(功能)和關係的描寫。
我超級無法接受的,誰會在家裡種線段樹或尋求支持向量啦?
我心中的程式就應該是黑盒子,不問理由地服務外在世界。
我認為老師心中的程式要是白盒子,供人檢閱、裝修。
大學時我和 N 老師曾有對話:
N:「你認為 L 老師教的如何?」
我:「他的想法蠻不一樣的(以上一整段描述),我覺得台大信黑盒子的比較多,
去交換學生之後才發現那邊大家都是白盒子教派的。」
N:「那其實是台大的問題,是我們太工程了。」(長者笑)
我:「可是我覺得這樣挺舒服的呀。」(N 老師意外貌)
價值觀 #
我心中的程式,是一種解決問題的手段。只是眾多手段中的一種罷了。
就好像考學測之於上大學的關係。
軟體工程對我來說變得像是去優化學測總級分,已經偏離原本的目標了。
人生觀 #
這週末,我和 I 學妹:
我:「老師個性很怪,最典型的語錄:
『早知道現在 CS 那麼紅,我當初就建議我女兒去讀 CS。
我女兒現在在讀金融,就是我建議的。』
老師講的『建議』跟我想的『建議』可能不太一樣…」
I:「這個重點在功利還是強勢?」
我:「都有。」
當時忘了說,還有一個重點是他在全班學生面前毫不諱言。不顧慮一下大家怎看他女兒。
我工作後的想法 #
才上不到一個月班,我是有一點開始理解為什麼老師會有這些不一樣的想法。
但遠遠不到覺得它應該成為教育主流的程度。
關於黑盒子和白盒子:
對學生來說開發心力很珍貴。我寫的程式要解愈多問題愈好,像 SAT solver 就值得寫。
於是就盡可能把問題抽象化,理所當然就不貼近現實。
而軟體公司找人寫程式,就是要客製化,於是東西就非常現實,恨不得逐行申請專利。
關於我聽到第三手的研究方向:
我聽到的故事是老師他(們?)想做 requirement 自動轉 code。
我當時完全無法理解怎麼會有人想去研究
semi-natural language 轉 high-level language 的 compiler。
NLP 可以做更多偉大的事情,不要浪費才華啦。
現在看來,老師應該只是想證明寫程式不需要也不應當使用創意(智慧)。
應該保持整體資訊密度穩定,不該天外飛來一筆。
喵,我打了兩個半小時還講不出個重點,得先去睡。
–
※ 發信站: 批踢踢兔(ptt2.cc), 來自: xxx.xxx.xxx.xxx (臺灣)
Re: 顯然我中文不好XD
Re: 其實我不反對模組化(也不特別支持),只是不認同「模組是現實的映射」。
Re: 我認為程式碼就是程式碼,C 程式碼就是 C 程式碼,Java 程式碼就是 Java 程式碼。
Re: 兩份不同語言的程式碼可以邏輯等價,但不應每個函數都 C-語意-Java 1-1-1 對應。
Re: (突然覺得,我要是早生二十年,說不定會成為 assembly 擁護者)
Re:
Re: 抽象化的部份,我覺得軟工就是教我抽象化要適可而止,不要做太超過(影片標題騙人,別太認真)
Re: 應該是因為他們計程就教 OOP,所以通常偷聽同學們討論任一科功課時都是:
Re: 「你要有 n_1, n_2 和 n_3;n_1 要記憶化…」(n_k 為名詞)
Re: 我自認比較常說:「你要 v_1, v_2 跟 v_3; v_1 的結果要記憶化…」(v_k 為動詞)
Re: 我印象中「模組是現實的映射」這句是老師直接講出來的,還舉例說如果 model 一張椅子
Re: 不過我沒當場寫下來(老師不喜歡上課用筆電),所以算我 rephrase 的第二手資料啦。
Re: name 都要出自 requirement 確實是我印證他語意的一大參考。
Re: 其實我覺得「什麼是(好)程式」本來就不是一個自然科學問題,只是一種信仰。
Re: 它不是要建立大一統的理論,是在選擇什麼是規則什麼是例外。就像英文文法。
Re: 偏偏我不負責任地感覺,L 老師映射的想法(信仰)跟我的舒適圈蠻不一樣的。
Re: 這門課考試就不科學嘛。相當於文法課考試是寫一篇作文,給分標準是文法正不正確。
Re: 啊正不正確這種事本來就憑感覺啊,規則也是從感覺或 empirical data 歸納出來的。
Re: 於是正不正確的認定就跟話語權產生了關聯…