計算的本質是什麼?
謝 @曹昊 邀。
計算的本質是
用符號模擬現實世界
計算機的本質
是透過不斷執行計算來模擬現實世界
程式設計的本質
是和計算機溝通,將人的想法告訴計算機。
程式的本質
是任務清單,計算機根據這個任務清單逐步完成
計算機語言的本質
是程式設計人員與計算機溝通的一種工具,人和計算機思維方式不同,所以溝通工具也不同。普通人是透過視覺化介面與計算機溝通,而程式設計人員是透過計算機語言與計算機溝通。
函式的本質
是可重複利用單元。它的具體化是由引數變數的具體化所決定。
變數的本質
是某類東西的一種抽象,對其賦值是將其具體化。
面向物件的本質
是裡面的變數按現實物體組合方式分類進行抽象。
如果對你有幫助,希望點個贊來支援答主。
相關回答:
有哪些事實沒有一定計算機知識的人不會相信?
計算機生態圈是怎麼樣的?
Ai醬:論面向物件和運算子過載思想
國內計算機研究生怎麼讀?
計算機相關專業大學課程第一門叫“計算機導論“就是講這個,沒有多麼玄妙,計算機很多方面是偏工程學科。相關教材也可以買到,推薦這本:
https://
book。douban。com/subject
/4027938/
說到本質一般很簡單,但是過於簡單就沒有用了。比如計算機本質上是大規模閘電路模擬離散數學,閘電路多簡單呀,兩個輸入一個輸出就是一個門了。我們寫程式不可能從閘電路開始思考。
另一方面,過於追究本質就會超過本學科的範圍,到達另一個複雜的領域。還是用上面的閘電路舉例,其實閘電路用真空管,電子管,直到現在的半導體,閘電路也不是直接就是0和1,它還有工作上限下限,電流效應,溫度效應。我們去糾結它本質就會達到電子學的範圍。
說到極端的情況,比如說數學,歷史上有多次數學危機,都是科學家對數學探索達到了其本質,遇到了數學自己無法說明的問題,或者說最後變成了科學之科學的哲學。
所以,如果不是對計算學科做學術探索,計算機導論的水平已經夠我們使用了。
是數學。
1。 先人為定義一個集合
2。 定義運算規則
3。 用電路設計實現這種運算
4。 每一種運算都被封裝為指令,形成指令集
5。 透過組合語言去呼叫各種指令
6。 透過高階語言轉譯為組合語言
7。 透過IDE來寫高階語言,如 C 語言
8。 透過高階語言來實現模組編寫
9。 透過介面來實現模組間的呼叫
10。 透過各個模組的關聯實現一個軟體系統
11。 各個軟體系統組成一個作業系統的皮
12。 加上作業系統的核心(一個特殊的軟體)組成完整的作業系統
13。 各個作業系統可組成一個龐大的雲平臺
14。 雲計算就這麼 xjb 出來了……
15。 扯遠了(╯‵□′)╯︵┻━┻
舉個例子(快點贊):
1。 定義一個自然數集合(0-9)
2。 定義一個運算(加法)
3。 透過數位電路設計的異或門實現,如:1001 + 0001 = 1010
4。 將該操作封裝為指令,如:00111100 11000011 00001001 00000001,第一位表示操作指令加法 ADD(人定義的),第二位表示結果儲存的地址,第三四位表示傳入的值。01寫多了人就會變懶,開始簡寫為:ADD 11000011 00001001 00000001,或者 ADD 0xC3 9 1
5。 將加法、乘法、與、或、非等等都實現一遍,稱為指令集,並提供簡寫的方式(彙編)給人編寫程式碼使用
6。 設計一門高階語言將東西翻譯為彙編,然後翻譯為二進位制(0101)就能被計算機執行了
7。 高階語言千千萬,大家都得變01
有人說 python 這種解釋型語言不需要,呵呵,還不是被其他語言轉譯為二進位制才能執行,皮再怎麼換,核還是電路門。
哎。碼字好累,希望能幫到你。我起床了!
是字串替換
計算本質上就是人類智慧的“外化”,一種新的思維方式。也許某種意義上計算還是世界的本體,宇宙就是一個計算過程。
程式本質上是計算思維的實現,人類的精神透過程式已經遍佈在全球各種的資訊基礎設施中。我們已經迷失在程式營造的虛擬空間。
計算機系統本質是一組離散的狀態空間及其變化規則,從系統角度,程式是符合規則的一組變化動作的組合。
計算機語言本質則是人類-計算機系統之間的共有的交流媒體,從語言角度,程式是用文字記載的計算過程。
程式設計本質是一種“以言行事”的技術,用程式驅動計算機系統,而計算機系統又透過數字訊號影響外部世界。所以在他們的世界,程式設計師就是“上帝”。如同《聖經》中上帝創世一般,程式設計師透過程式設計創造和改變世界。
為了應對日益複雜的問題,計算機語言的抽象級不斷提高,機器語言-組合語言-高階語言。這個時候就要利用“抽象”武器,抽象的基本手段是對一組基本單元進行組合,然後給予命名和引數化。
比如在機器層面,用“地址”指示某一個記憶體單元,而在高階語言裡用“變數”來抽象。“變數”是對“地址”的命名,同時還有很多方便程式設計的屬性,比如對這個記憶體位置儲存的資訊內容的一種約束(所謂“型別”)。又比如在機器層面,用“指令”代表一個基本動作,一組可以被重複利用的指令在高階語言中被抽象成”過程“。“過程”還可以引數化,接受一組輸入,從而定製它的計算過程。
“物件”是一種更高的抽象,來自於現實物理/生物世界的隱喻。一個細胞在生物體環境中可以有各種行為,類似,一個“物件”是計算機系統中縮微版的“小計算機”,它有自己的區域性狀態空間,可以接受外部的各種訊息,物件介面就是對其內部狀態空間的變化規則的描繪。
上一篇:超詳細的暑假英語學習安排!
下一篇:怎麼用四十天快速自我提升?