多次元宇宙 10
程式員頭腦 8
時間定義 3
用 functional programming languages(函數程式語言)所寫的程式,程式內是沒有 state(狀態)的。
「程式內是沒有 state」的意思是,程式內只有「常數」,沒有「變數」。
程式內的 data(數據)是不會隨時間改變的。
在那類程式中,是沒有「時間」。
例如,有一個「加法程式」,要你輸入 a 和 b,然後它會運算 c = a + b,告訴你答案 c 是什麼。
那個程式內部,本身是沒有儲存任何 variable values(變數數值)。
例如,你輸入 3 和 7,程式就會輸出 10。
同一組 input(輸入),就會有同一個 output(輸出)。
無論你在任何時間,運用那個「加法程式」,只要你輸入 3 和 7,它就會輸出 10。
所以說,那個「加法程式」沒有「時間」。
不是任何程式也是沒有「時間」的。
例如,一個「銀行會計程式」有一個變數 x,用來代表我的戶口結餘。
因為我的戶口結餘會隨時間改變,所以在不同日子輸入指令「請問我的戶口結餘是多少?」,程式會輸出不同的答案。
雖然是同一個指令「請問我的戶口結餘是多少?」,但是在不同的時間,那個「銀行會計程式」會輸出不同的答案。
所以說,那個「銀行會計程式」有「時間」。
「有『時間』」是意思是,有 variable(變數)的數值改變。
同一個 variable x,不同的「時間」,有不同的數值。
即是話,不同的數值對應於不同的「時間」。
例如,對於那個「銀行會計程式」來說,同一個戶口,結餘的不同數值,就為之不同的「時間」。
— Me@2010.04.11
2010.04.12 Monday (c) All rights reserved by ACHK