遞歸自舉其它

程序員大概都知道什麼是遞歸吧。git

在程序裏,遞歸指一個程序直接或者間接的調用它本身。程序員

自舉,看字面的意思,本身把本身舉起來。bootstrap

在程序裏常看到的是編譯器的自舉,操做系統啓動的自舉。搜索引擎

新版本的編譯器是由老版本的編譯器編譯生成的。spa

操做系統在計算機加電的時候經過 bootloader 把本身加載進內存進而執行本身。操作系統

就像一我的提着本身的頭髮把本身提起來。翻譯

雖然在現實世界是不可能,可是在虛擬世界,倒是如此的有趣。debug

遞歸有不少有意思的地方,在程序裏,明明一樣的代碼,在不一樣的時間執行的數據卻有不一樣。orm

如下開始記流水帳了。遞歸

MIT 計算機科學系的系徽就是一個 lambda 遞歸的格式。

lambda 算子,Y 組合子,這些計算機科學相關的東西先不展開了。


installsheild 是用 installsheild 安裝的。

哪裏不對?好像是先有雞,還有先有蛋的感受。

初版本的 installsheild 如何來的呢?

不負責任的猜一下。

installsheild 一開始必定是其它語言寫成的。

這是自舉的一個前提,藉助第三方的程序來實現初版的本身。

第三方程序通常叫作樁程序,或者腳手架,bootloader, bootstrap 這類。

至於具體叫什麼,看我的喜愛。

總之,就是有這麼個第三方的程序。

好比,先用 C++ 寫初版的 installsheild。

以後,隨着它自身腳本的完善。

就能夠本身寫本身了。

系統調用的一些接口應該仍是會有一部分 C/C++ 代碼的吧。


重裝系統後沒有解壓軟件,就到網上下了個解壓軟件。

下載以後才發現是一個 rar 壓縮文件。

那麼請問,您是想讓我怎麼用這個解壓軟件呢?


寫一個程序,程序運行中刪除本身。

寫一個程序,程序運行中清除本身及系統中的一切數據。

這好像是某個病毒。


一條蛇咬住了本身的尾巴。

兩條蛇相互咬住了對方的尾巴。

蛇很餓,最後的結果是什麼呢?


忘記看的哪一個電影了,兩個師兄弟見而就是比鬥。

一人發明出吸功大法,遇功則吸。

一人發明也化功大法,遇功則化。

兩兄弟比鬥完再比鬥只能靠打麻將了。


小時候聽的評書:

項羽力大無窮,提早頭髮能把本身提起來。

某俠客左腳踩着右腳,右腳踩着左腳,飛出牆外。


keyboard not found, press any key to continue.


個人鍵盤上有一個按鍵壞了,這個的按鍵是()。

好吧,樣本足夠的時候仍是能夠推測出來的。


git 管理 git 的代碼。

在操做系統裏寫操做系統的代碼。

用 vs 寫 vs。

debuger debug debuger。


用編譯器編譯編譯器。

不負責任的猜一下。

C 編譯器的初版本是彙編寫的,寫好第一個版本後就能用 C 寫了。

第一個彙編器是用機器碼寫的。

不用機器碼也行,紙帶什麼的也能夠吧。

總之一個機器能直接執行就好。

雖然紙帶之類的也應該有譯碼器吧。

CPU 裏仍是少不了翻譯這一步。

硅,沙子,物理,數學。


少年,來吧,讓咱們從沙子裏建出個搜索引擎。


第一臺照像機的照片是第二臺或以後的照像機拍的。


高精度的機牀只能生成比它精度低的機牀。

那高精度的機牀是怎麼來的呢?


生產機器的機器。

運行系統的系統。

擬機裏面運行着一臺虛...


圖靈機


宇宙裏全部的計算機都運行在宇宙裏。

這麼說來,宇宙也是一臺大的計算機,母體?

這麼說來,大爆炸就是加電 bootloader ?

奇點就是沒開機了。


計算機真有意思啊!


42

相關文章
相關標籤/搜索