※ 引述《gsj.bbs@bbs.nchu.edu.tw (國王的新衣)》之銘言:
> 說得沒錯,這是事實
> 問題的答案在於一般人只知要學好程式語言
> 但卻搞不清楚程式語言與實體世界的對稱性關係
> 所以當需要將實體世界的問題演算法實現到程式語言中,就產生了障礙
> (OOP有點這個意味,卻是個失敗的模型)
從以前的討論串裡我一直有一個感覺,
就是你對 OOP 的認知僅限於基礎教科書拿來騙小朋友的解釋方法,
這就好像幼稚園和國小教算術一樣,
其實真正學過數學的人都知道,
幼稚園和國小那套用蘋果個數騙小朋友的說法在實際理論上是有問題的,
那些說法都只是為了能讓初學者更快進入狀況,
等他們習慣以後再來一點一點告訴他們事實。
OOPL 並不是單純為了設計來讓小朋友在學寫程式的時候,
可以透過 OOP 與實體世界的對稱關係而更佳易學易懂,
OOP 對軟體工程的幫助在於可以寫出容易擴充和維護、可再利用的程式碼,
而不是想著要和實體世界對稱這麼膚淺。
無論是 language 的發明還是 programming model 的發明,
都不是為了騙小朋友而做的。
實體世界的問題如果要直接用程式語言描述,
我倒是認為應該選用 functional language,
因為目前對實體世界最嚴謹的定義來自數學,
而實體世界有很多問題解法在數學上都是沒有 closed form 的,
大部分只能用遞迴形式定義,
所以真的要搞跟實體世界對稱,
請愛用 functional language,
或是 programming 技術領域中的 functional programming paradigm,
而 functional language 在最近又有了新選擇,
叫做 Haskell,
有興趣的話可以去試試看。
--
Name: Tseng, Ling-hua E-mail Address: uranus@it.muds.net
School: National Chung Cheng University
Department: Computer Science and Information Engineering
Researching: Porting GCC and Implementing VLIW instruction scheduler in GCC
Homepage: https://it.muds.net/~uranus
--
╔═══╗ ┼────────────────────────╮
║狂狷 ║ │* Origin:[ 狂 狷 年 少 ] whshs.cs.nccu.edu.tw ╰─╮
║ 年少║ ┼╮ < IP:140.119.164.16 > ╰─╮
╚╦═╦╝ ╰ * From:218-171-137-69.dynamic.hinet.net
─╨─╨─ KGBBS ─ ◎ 遨翔"BBS"的狂狷不馴;屬於年少的輕狂色彩 ◎