變量是什么?


變量是什么?

在現實世界里,有着變量和常量的概念。顧名思義,變量和常量都是量。量是人們對現實世界中事物隨時間演變中的不同狀態和事物之間相互作用關系的一種描述。這些事物狀態和作用關系獨立存在,可以稱為規律,不以人的意志為轉移,當他們落入人的眼中,人便用量來描述它。簡而言之,通過對現實世界的觀察和分析,人構建了一個精神世界,這個精神世界盡可能的反映現實世界,是現實世界的投影,精神世界中的量和現實世界中的規律相對應。人的一生都在觀察現實世界,用自己的精神世界和其他人的精神世界溝通來完善自己的世界,這是一個追求真理,追求“道”的過程。在一段時間內事物狀態和事物之間作用關系變化劇烈,人用變量來描述,沒有變化,用常量來描述。運動(變化)是永恆的,是絕對的,靜止(不變)是相對的,靜止是運動的一種特殊狀態。所以,變量是絕對的,常量是相對的,常量是一種特殊的變量。
上面是人的精神世界和現實世界之間的關系,說了這么多,它和程序設計語言有什么關系?
程序設計語言的目的是為了更好地寫程序,人寫程序的過程就是前面提到的追求“道”的過程的一種表現形式,是一部分認識現實世界、改造現實世界的過程,這部分人我們成為程序設計師。這和我們通常意義上改造世界的方法不太一樣,它利用人類的智慧,搭建了另一個虛擬世界,成為程序世界。至此,存在三個世界,現實世界、人類精神世界、程序世界。程序世界由人類創造,是人類智慧的延申,是人類改造世界的工具,它被設計用來對現實世界建模分析,使人類智慧擺脫肉體的桎梏,肉體會腐朽,但精神永長存。
人的精神世界是現實世界的投影,程序世界是人的精神世界的投影。程序世界又反過來改造現實世界,進而改造人的精神世界,改造程序世界,循環往復。借助於程序世界,人的精神世界可以更好、更快地摹刻現實世界,可以在風華正茂的年紀揮灑智慧,推動文明進步。
現實世界中的事物要想投影道程序世界,需要經過兩層轉換,要先轉到人的精神世界,再轉換到程序世界。在轉換過程中,就可能出現錯誤,如由於對現實世界的觀察和分析不足,人的精神世界中存在的量無法真實反映現實世界中的規律,這樣的錯誤傳遞到程序世界里,程序也無法模擬現實世界中的規律,對現實世界的改造也自然發生錯誤,脫離了人的控制,這種錯誤我們一般成為邏輯錯誤,要從人的身上找原因。另外一種錯誤叫做語法錯誤,是由於程序設計語言有缺陷或者程序設計師對語言的語法理解能力不足,無法將自己的精神世界投影到程序世界。在生活中,我們常常聽人抱怨說自己不適合編程,如果是上面所說的第二種情況,那沒什么大不了的,離開程序設計,在其他領域也能有大作為,如果是第一種,情況怕是有點糟糕了。
現實世界是物質的世界,現實世界中的規律是有載體的,而人的精神世界是沒有載體的(超脫於大腦,可能是有載體的,但我現在更傾向於沒有,想象力是無窮的),程序世界又是有載體的,依托於計算機硬件,不可能像人類超脫大腦一樣超脫於計算機硬件。這里有一個假設,如果程序世界真的超脫了計算機硬件,他們就能夠越過人類精神世界,從而直接觀察分析現實世界,他們就成為一個全新的族群,和現在的人類一樣。
人類精神世界里的量對應現實世界里的事物狀態和相互作用關系,精神世界無形無相,基本上可以不同考慮這個狀態存儲在哪里(就是想考慮也考慮不出來)。從信息的角度上看,現實世界中的規律就是信息,無形無相,投影到人的精神世界就有形無相,載體就是人大腦中的電信號,再投影到程序世界,就只剩下電信號了,這些信號又作用在現實世界中,被人類轉換成可以理解的數據並從中提取信息。
程序世界里的量和人的精神世界里的量不同。程序世界里的量指的是一塊存儲空間,這里面保存了精神世界里的量對應的數據(或信號)。一個存儲空間里的值會隨着時間變化,它就是變量,不隨着時間變化,它就是常量。常量是變量的一種,為了方便程序設計師使用,這塊空間有一個名字,叫變量名。這塊存儲空間一定存儲了一個有意義的數據(在人類看來),這個數據叫做變量值。這塊空間在整個存儲空間有一個唯一的位置,叫做變量地址。這個存儲空間保存的值沒有意義的時候(不能反映人的精神世界,沒有利用價值),存儲空間就會被回收,這個過程叫做變量的生存周期。這個變量在什么條件是反映人的精神世界的,什么條件下是無法反映人的精神世界的,這叫做作用域,這個變量還有其他的使用場景,叫做變量屬性,生存周期和作用域是變量屬性的一種。
綜上所述,在程序世界里,變量是一塊空間,和值沒有半點關系。這塊空間沒有意義,有意義的是它其中存儲的值,所以很自然地,我們使用變量名來指代變量存儲的值,但變量不是變量值


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM