※ 引述《tester.bbs@bbs.csie.ncu.edu.tw (try or test)》之銘言:
: renderer 大大針對問題的回答大體是對的, 但沒有針對 gsj 問的為何
: 要把 code 與 data 擺在一起, 再深入比較.
code 和 data 擺在一起, 並沒什麼不好, 只是原始碼很容易變成 trash 罷了 :p
而且還可以把 code 當成 data, 也可以把 data 當成 code
再用個 emulator 之類的 frontend, 只要可以執行, why not?
當然, 以上是很極端的做法, 沒有很清楚的觀念, 不建議為之 ...
回頭來想, code 是啥? data 又是啥?
對於人來說, code 是自己可以解讀的指令集合體
而 data 是運行 code 時所需用到的物品集合體
但是在電腦的立場, 它根本無從分辨, 只是很單純地依照 IP (Instruction Pointer)
解讀 code + data 的最終產物 (op code) 罷了
所以囉, 我們人的思維何必被 code/data 死板的觀念給綁住呢?
而 OO 的誕生, 只是方便人們突破其禁錮的思緒罷了 ...
利用 OO 觀念
我可以將物件建立成外在控制的機器人 (code) <-> (data)
我可以將物件建立成自我控制的機器人 (code <-> data)
我可以將物件建立成可外在及自我控制的機器人 (code) <-> (code <-> data)
因此, 究竟是自己綁住 OO 的觀念, 還是 OO 綁住自己的思緒呢? :)
結論 : 程式語言只是工具, OO 只是一條方便使用此工具的 "捷徑" 而已
當然, 事在人為, 蓋出來的房子各有巧妙不同罷了 :D
--
※ Origin: 鳥窩 (BirdNest.twbbs.org) ◆ From: cszone