如果有一天,所有的 編譯器都消失了,人類應該如何最快恢復?

Bootstrap是基礎編譯器(比如C編譯器)的重要概念,那麼:

如果有一天,所有的 編譯器都消失了,人類應該如何最快恢復?當然大家會開始造編譯器,重點是,如何快速重造?如何不致損失已經花費巨大精力開發的軟體和服務?如何快速恢復正常運作?

注意??當然是要重新寫編譯器,但是從何處開始最快?完全用機器碼重寫一個c/c++應該是可以的,但是需要花不短時間。gcc源碼就在眼前,怎麼快速的用起來?

進階問題:如果有一天,所有的可執行程序都消失了,人類應該如何最快恢復?

我知道這個設定條件不夠嚴謹(比如定義什麼算是編譯器,什麼算是可執行程序),有請大神完善設定並解答

-------------------

嗯大家既然都發現解釋器還在,那就設定編譯器解釋器都不存在了....那麼問題來了,bash算不算解釋器呢?能否用shell快速實現一個簡單的某種語言解釋器,然後逐步構建大廈呢?

另外注意回答進階問題!


建議程序員們組織起來,組個工會,要挾漲工資,不加班,否則就不給重寫。不過要防止項目經理利用程序員內部矛盾,拉攏space派,打擊tab派,要分清誰是我們的朋友,誰是我們的敵人

其實也是個好事,很多語言存在了幾十年的歷史包袱可以在重寫時甩掉了。比如某著名十幾天設計完的網路前端編程語言,我看就乾脆重新定標準為好。

另外問題不嚴謹,沒了編譯器,還有解釋器啊。


只要懂得這些技術的人還在,即使人不在了,但是總還有論文和書籍,總有一天還會重新發展起來的,有可能還會發展的更快更好,不會需要六七十年才能發展到現在的水平。開發人員可能從一開始就會應用最新最好的編譯器開發技術或者規避掉現有語言積重難返的一些弊端。

其實更有趣的是如果將現有的程序全部刪除,並且將懂得這些技術的人全部關起來,然後毀掉所有的相關的知識資料,從零做起,看技術會朝向哪個方向發展?是不是我們現有的技術架構就是最優的?


寫lisp,最簡單


終於可以嘚瑟了,你們這群XX腳本狗。整天嘲笑我造輪子。說我十天半個月寫不出一個完整的程序。整天嘚瑟這個那個模板,庫。拿著別人寫好的東西招搖撞騙。你們這群API的奴隸。顫抖吧蛤蛤蛤蛤。


別怕,還有Jeff 大神,碼農把想法告訴Jeff大神,Jeff就能給出二進位代碼。


看來大四的時候為了寫JIT點的徒手碼機器碼技能,還是有用的(雖然現在code是什麼都忘了,反正只要有書


肯定就是機碼的又一黃金時代咯。

肯定又得出一堆計算機界的泰鬥了。。。。

不過……這麼說的話,倒不如來一個優點非常多的語言。

沒準還可以Javc++ Javphp cphp 甚至JavC

以上純屬瞎bb


找到他!

很久以前,那還是我用win98的時候有次我系統崩潰了,因為我是電腦白痴,我朋友給我介紹了一個高手來幫我修電腦。

  他看了一下電腦,問我有沒有98的盤,我說沒有。

  他想了一下,叫我把固定電話拿給他,我想修電腦要電話幹什麼,但人家是高手,我也不好說什麼,就把電話拔下來給他了。

  他把電話線空著的一頭接在電腦的一個插孔內,然後進入了dos,然後就開始在電話上不停的按著鍵,他按鍵的速度非常快,但是只按0,1兩個鍵,我搞不懂這有什麼用,但也不敢問,看了半個多小時,他還是不停的按這兩個鍵,我漸漸的有些困,我問他這東西要搞多久,他說要幾個小時,我給他倒了杯茶,就一個人去隔壁睡覺了。

  醒來的時候,一看已經過了4個多小時,我起身到隔壁,看見他正在98裡面調試,過了一會兒,他說,你試試,我坐上椅子用了一下,真的好了,我當時也不懂電腦,謝過人家就走了。

  後來我慢慢對電腦有了了解,終於了解,原來當時那位高手是用機器語言編了一個98系統,我後來問我朋友那位高手的下落,我朋友說前幾年去了美國之後,杳無音訊....

很久以前,那還是我用winXP的時候有次我系統崩潰了,因為我是電腦白吃,我朋友給我介紹了一個高手來幫我修電腦。

  他看了一下電腦,問我有沒有XP的安裝盤,我說沒有。

  他想了一下,叫我把一張空的DVD刻錄盤和一根針拿給他,我想修電腦要刻錄盤和針幹什麼,但人家是高手,我也不好說什麼,就把DVD刻錄盤拿一張來給他了。

  他把針頭對著刻錄盤戳,他戳的速度非常快,但是只戳深或淺,我搞不懂這有什麼用,但也不敢問,看了半個多小時,他還是不停的戳著DVD刻錄盤,我漸漸的有些困,我問他這東西要搞多久,他說要幾個小時,我給他倒了杯茶,就一個人去隔壁睡覺了。

  醒來的時候,一看已經過了4個多小時,我起身到隔壁,看見他正在Xp裡面調試,還裝上了office、photoshop、迅雷、魔獸世界等軟體……過了一會兒,他說,你試試,我坐上椅子用了一下,真的好了,我當時也不懂電腦,謝過人家就走了。

  後來我慢慢對電腦有了了解,終於了解,原來當時那位高手是針頭刻了一個單面雙層的DVD,在裡面刻上了Xp、office、photoshop、魔獸世界的安裝程序,我後來問我朋友那位高手的下落,我朋友說前幾年去了德國之後,杳無音訊....

很久以前,那還是我用winXP的時候有次我不小心把D盤格了,因為我是電腦白吃,我朋友給我介紹了一個高手來幫我恢複數據。

  他看了一下電腦,問我有沒有備份過Ghost,我說沒有。

  他想了一下,叫我把一塊磁鐵拿給他,還問我D盤裡有什麼東西,我想修電腦要磁鐵幹什麼,但人家是高手,我也不好說什麼,就把磁鐵給他了,還告訴他我D盤裡全是火影忍者的動畫。

  他把硬碟拆了,用磁鐵在上面畫圈,他畫圈的速度非常快,但是只有碰到或不碰到,我搞不懂這有什麼用,但也不敢問,看了半個多小時,他還是不停的在硬碟上畫著圈,我漸漸的有些困,我問他這東西要搞多久,他說要幾個小時,我給他倒了杯茶,就一個人去隔壁睡覺了。

  醒來的時候,一看已經過了4個多小時,我起身到隔壁,看見他正在D盤裡面調試,裡面全是火影忍者的動畫片,過了一會兒,他說,你試試,我坐上椅子用了一下,真的好了,我當時也不懂電腦,謝過人家就走了。

  後來我慢慢對電腦有了了解,終於了解,原來當時那位高手是用磁鐵直接在硬碟上寫數據,憑著驚人的記憶力將火影忍者的動畫片都寫入了硬碟,我後來問我朋友那位高手的下落,我朋友說前幾年去了英國之後,杳無音訊....

(轉自網路:求一個笑話,和電腦有關的。如有知道作者是誰的,求私信作者的聯繫方式)


幾千年後,php解釋器被譽為人類IT技術的火種


底層彙編狗將拯救世界(逃


先用01010101寫一個彙編編譯器,再用彙編寫一個C編譯器..接下來應該就什麼都有了

感覺還是歷史重演一遍快一點


billg在飛去非洲的路上手擼一個basic解釋器,然後用微軟保存的源碼一路拽鞋帶把最新的編譯器都build出來。

考慮到要找源碼什麼比較費時,至少也得兩三個禮拜吧。


重新寫一個編譯器啊,或許就沒這麼多語言了~樓主可以看看編譯原理,不是太難


問題是源碼還在

所以重寫編譯器必須相容??


來,同學們,打開機箱,看看CPU是啥牌子的。嗯,Intel,太好了,拿Intel的手冊來。

看,指令分兩種:後面加操作數的,和不加操作數的純指令。

好,看手冊,我們把字元ADD自動翻譯為加法指令0000001,把字元MOV自動翻譯為移動指令0001000……

好了,最簡單的彙編編譯器完成。讓世界繼續發展吧。希望不再有C++


世界給了我一個成為蓋茨的機會啊,吼吼哈哈。


編譯器消失了,源代碼沒丟吧?

那簡單,先用最快的腳本語言擼一個沒任何優化的編譯器,把爛的GCC代碼編譯一下。

然後遞歸編譯到最新的。

然後我們又失業了。


重新造輪子。


先讓我查查什麼是編譯器


我早就備份了好多編譯器以及開發環境,用了兩個硬碟2次備份,到時你們找到我就行了


推薦閱讀:

編譯後的c/c++ 程序, 如何判斷一個函數 是否 真的inline了(如果不看反彙編話)?
Swift,Haskell這種可以自定義運算符的語言(不僅僅是重載),在實現編譯器時跟其他語言又什麼區別嗎?
新版本編譯器是用自己(新版本編譯器)重新編譯後發布還是用舊版本編譯器編譯發布?
用new申請的內存如果使用free函數來釋放會有怎樣的結果?

TAG:操作系統 | 計算機 | GCC | 編譯器 |