隨著現實世界的逐漸毀滅,林易東所在的遊戲世界也在逐漸毀滅。


    而在現實世界徹底毀滅之前,林易東所在的遊戲時間便先一步徹底毀滅了。


    四周到處都是“0”和“1”,以及世界毀滅後留下的一堆殘渣。


    林易東隨手撿起一塊塗鴉轉頭,而後將其捏成了一堆的“0”和“1”。


    林易東隨手撈起一把“0”和“1”,而後看著它們在手裏靜靜地躺著。


    事實證明,“0”和“1”並不是沙子。


    但也正因為如此,林易東心想,也許自己可以用“0”和“1”整點啥。


    整根火柴?


    不對,應該先弄一些基本構造。


    如此想著,林易東開始試著撿起一些“0”和“1”,並將他們拚湊在一起。


    “0”後麵加個“1”,“1”後麵加個“0”,“0”後麵加個“0”,“1”後麵加個“1”,諸如此類。


    “0”是0,“00”是0,“000”是0;“0”是0,“01”是1,“011”是3;“1”是1,“10”是1,“100”是1;諸如此類。


    “計算機語言?”


    林易東眼前一亮,


    “二進製?!”


    林易東開始在自己腦子裏不斷地尋找著,


    “也許我真的可以整點啥。”


    林易東清楚的記得,計算機能處理二進製,二進製是處理器的“母語”。


    或者說,它們隻能理解二進製,這叫“機器語言“或“機器碼“。


    在計算機早期階段,人們必須用機器碼寫程序。


    具體來講,會先在紙上寫一個“高層次版”。


    比如,偽代碼。


    而在紙上寫好後,他們便會用“操作碼表”把偽代碼轉成二進製機器碼。


    一頓操作後,他們便可以將自己想要的程序喂入計算機並運行。


    但這麽實在過於繁瑣,所以人們很快就厭煩了。


    於是,人們整出了“助記符”。


    “助記符”後麵緊跟數據,形成完整指令。


    當然,cpu表示:


    “我根本不能理解文字,我隻能理解二進製。”


    但這不是問題,人們很快就解決了它。


    人們意識到,他們可以寫二進製程序來幫忙。


    它可以讀懂文字指令,自動轉成二進製指令。


    這種程序呢,它就叫匯編器。


    匯編器讀取用“匯編語言”寫的程序,然後轉成“機器碼”。


    隨著時間推移,匯編器有越來越多功能,讓編程更容易。


    林易東記得,其中一個功能是自動分析jump地址。


    然而,即使匯編器有這些厲害功能,比如自動跳轉。


    但是,匯編隻是修飾了一下機器碼。


    想著想著,林易東想到了更多東西。


    林易東想到了紡織業,以及雅卡爾織布機。


    當時的人如果隻想織一塊紅色大桌布,可以直接放紅線進織布機。


    但如果想要圖案怎麽辦?


    比如條紋或者方格。


    這時,工人就需要每隔一會兒調整一次織布機。


    因為非常消耗勞動力,所以圖案紡織品很貴。


    而特定位置有沒有穿孔,決定了線是高是低,橫線是從上還是從下穿過。


    為了讓每行圖案不同,紙卡連成長條,形成連續指令。


    而這,也許就是最早的編程。


    事實證明,穿孔紙卡便宜、可靠、也易懂。


    近一個世紀後,穿孔紙卡被廣泛用於人口普查。


    一張卡存一個人的信息,比如性別、婚姻狀況、子女數量、出生地等等。


    針對每個問題,人口普查工作者會在對應位置打孔。


    當卡片插入匯總機,孔會讓對應總和值“+1”。


    可以插入整個國家人口的卡片,在結束後得到各個總值。


    值得注意的是,早期匯總機不算計算機,因為它們隻做一件事。


    那就是匯總數據,操作固定,不能編程。


    穿孔紙卡存的也不是程序,而是數據。


    之後很多年,這些機器被不斷加強。


    可以做減、乘、除,甚至可以做一些小決定。


    舉個例子,比如決定何時執行某指令。


    為了正確執行不同計算,程序員發現自己需要某種控製麵板。


    他們構思了一種控製麵板,在這塊麵板上有很多小插孔。


    他們希望自己可以插電線,讓機器的不同部分互相傳數據和信號。


    但不幸的是,這意味著運行不同程序要重新接線。


    所以程序員們不斷改善著“插線板”,並最終使它變成了可拔插的。


    這一創舉,讓編程更方便,也可以給機器插入不同程序。


    比如,一個插線板算銷售稅,另一個算工資單。


    某段時間內,這樣做非常的流行。


    但因為早期計算機非常昂貴,停機幾個星期隻為換程序,這一點人們完全無法接受。


    因此,人們急需更快、更靈活的新方式來編程。


    “是什麽呢?”


    一邊迴想著自己當初上課時看的書,林易東的雙手一邊也在無意識的撥動著,


    “到底是什麽呢?”


    對了,是因為內存變得價格下降,容量上升。


    於是人們發現,與其把程序存在插線板,存在內存似乎可行。


    而且這樣做,程序也更易於修改、也更方便cpu快速讀取。


    而這類機器,似乎叫做“存儲程序計算機”。


    如果內存足夠,不僅可以存要運行的程序,還可以存程序需要的數據。


    包括程序運行時產生的新數據,程序和數據都存在一個地方。


    “叫啥來著?”


    林易東撓了撓下巴,


    “啥啥諾啥啥曼結構?”


    命名好像是來自一個傑出的數學家和物理學家,那位老兄好像曾說過:


    “我在思考比炸彈重要得多的東西,計算機。”


    “我在思考比計算機重要得多的東西,造物。”


    如此想著,林易東看向了自己身前這台筆記本。


    打開筆記本後,林易東發現裏麵啥都沒有。


    撓了撓頭皮後,林易東把筆記本合上了。


    林易東很清楚,編程的目的是完成既定的需求。


    換言之,編程的過程就是一個不斷遇到問題、解決問題並最終滿足需求的過程。


    而在完成需求的過程中所遇到的問題,它們被稱為風險。


    一名程序員如果可以提前識別風險,並會在真正開始編碼之前解決掉風險,那麽他就算是邁入了架構師的門檻。


    解決複雜問題的一個重要途徑是對問題進行拆解,將其轉換為簡單問題或已知問題,並逐一解決。


    人類目前所有的知識體係,都是建立在人類對這個世界的認知中。


    計算機的整個知識體係,自然也不例外。


    這也就意味著在編程中所遇到的問題,基本上都是在認知範圍內可以解決的。


    甚至可以借鑒一些特別樸素的生活經驗,來幫助人們尋找解決問題的方向。


    想到這裏,林易東再次想到了“一生二、二生三、三生萬物”。


    古人觀察到自然界中各種對立又相聯的現象,如天地、日月、晝夜、男女、上下等,以哲學的思維方式,抽象出“陰陽”的概念。


    在如今科技飛速發展的時代,u看書wuukashu人們對事物的認知越發理性化。


    有一種與“陰陽”相同的事物一直被人們所使用,那便是二進製。


    乾卦,表示111;兌卦,表示110;


    離卦,表示101;震卦,表示100;


    巽卦,表示011;坎卦,表示010;


    艮卦,表示001;坤卦,表示000。


    正所謂:


    “太極生兩儀,兩儀生四象,四象生八卦......”


    簡簡單單的陽爻和陰爻,似乎就能夠組成世間萬物。


    “也許,我可以靠著簡簡單單的‘1’和‘0’創造一個世界?


    屬於我的世界?”

章節目錄

閱讀記錄

玩家之上所有內容均來自互聯網,繁體小說網隻為原作者遊戲搬運工的小說進行宣傳。歡迎各位書友支持遊戲搬運工並收藏玩家之上最新章節