※ 引述《Kyo.bbs@BirdNest.twbbs.org (暗黑貴公子)》之銘言:
> 回頭來想, code 是啥? data 又是啥?
> 對於人來說, code 是自己可以解讀的指令集合體
> 而 data 是運行 code 時所需用到的物品集合體
完全正確
但所謂物體應是指 "表單紙卡類" 或者是 "物品代卡"
CPU很少能直接碰觸 "物體" 的,而是處理 "物品代卡"
例如它可以處理 "個人資料",而無法處理真實世界中的 "個人"
> 但是在電腦的立場, 它根本無從分辨, 只是很單純地依照 IP (Instruction Pointer)
> 解讀 code + data 的最終產物 (op code) 罷了
但是程式設計師可以分辨,寫出分別處理的程式讓CPU執行
> 所以囉, 我們人的思維何必被 code/data 死板的觀念給綁住呢?
Code 可以被當成Data來處理,如OS載入Process的過程
Data 卻永遠不能當成 Code來處理
這是兩者最基本的不同之處,就算是OO也無法突破這點
> 我可以將物件建立成外在控制的機器人 (code) <-> (data)
> 我可以將物件建立成自我控制的機器人 (code <-> data)
> 我可以將物件建立成可外在及自我控制的機器人 (code) <-> (code <-> data)
這樣的理想是很好,但實際上需要嗎?
你要的是一個聽話的Function
還是一個有脾氣的機器人(內部的Attribute設定會影響實際執行的程序)
我很久以前寫過一篇文章
"Struct vs Class,死的物件與活的物件"
探討過相關的問題
--
Ξ Origin: 中興大學天樞資訊網 <bbs.nchu.edu.tw>
Ξ From : 220-138-240-197.dynamic.hinet.net