自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

編譯器和編程語言的雞和蛋的問題

開發(fā) 前端
對于哲學(xué)問題先有雞還是先有蛋一直是人們爭論的焦點,但是從語言學(xué)定義來說,沒有雞如何定義雞蛋,然而不管是先有雞蛋還是先有雞,因為它們的循環(huán)依賴,導(dǎo)致了彼此的共生。

 對于哲學(xué)問題先有雞還是先有蛋一直是人們爭論的焦點,但是從語言學(xué)定義來說,沒有雞如何定義雞蛋,然而不管是先有雞蛋還是先有雞,因為它們的循環(huán)依賴,導(dǎo)致了彼此的共生。

對于軟件行業(yè)來說,編程語言和編譯器就很類似雞和雞蛋的關(guān)系。

 

[[348475]]

 

用編程語言寫出了編譯器,反過來用編譯器對編程語言進行了編譯。

表面上來看,編譯器和編程語言是彼此依賴的,但是更高層面上來講它們是不斷進化的。一開始的編程語言不完善,寫出的編譯器也是不完整的,然后我們用不完整的編譯器編譯了編程語言,讓它逐漸變得完整,同時我們又用變得完整的編程語言,寫出了更加完整的編譯器。

究竟誰是最先產(chǎn)生的?

對于這個問題,一定是現(xiàn)有的編程語言,因為最早的編程語言我們可以認為它們不需要編譯,因為它們可以直接來操作硬件,所以應(yīng)該是先有A編程語言,然后用A編程語言編寫了一個編譯器,這個編譯器可以編譯B語言,然后B編程語言可以自己編寫出自己的編譯器來編譯自己。

自舉

一個人再有力氣也無法給自己舉起來,但是在軟件編程里面,編譯語言卻可以用自己編寫的編譯器編譯自己,這就叫做自舉。

完成自舉的過程。

 

編譯器和編程語言的雞和蛋的問題

 

  • 用X語言把那個Y語言編譯器寫出來。
  • 用Y語言把編譯器編寫出來,用上面的編譯器進行編譯。
  • Y編譯出來的編譯器對Y進行編譯,得到新的編譯器。
  • 新的編譯器進行用例測試,沒問題的話,用Y語言寫的新的編譯器就可以對Y語言編譯,實現(xiàn)編譯器自舉。

現(xiàn)實中的例子

做一個打鐵工具,然后用這個打鐵工具又可以做出打鐵工具。

用編程語言寫出編輯器,反過來再用編輯器去寫編程語言。

 

編譯器和編程語言的雞和蛋的問題

 

有錢了去投資,投資之后有了錢再去投資。

總結(jié)

編譯器本身是一種將一種語言翻譯成另一種語言的工具,至于它本身是如何編寫的,我們其實并不太關(guān)心,只要它可以準(zhǔn)確快速地幫我們完成翻譯的工作就可以了。

先有雞還是先有蛋并不重要,重要的是我們既可以吃雞,又可以吃雞蛋。

責(zé)任編輯:華軒 來源: 今日頭條
相關(guān)推薦

2010-05-28 14:55:17

Linux編程工具

2013-07-22 10:35:32

用戶需求技術(shù)創(chuàng)新產(chǎn)品

2020-11-09 09:52:11

程序數(shù)據(jù)

2016-11-02 00:22:13

數(shù)字化改造數(shù)字化

2010-05-28 15:34:14

Linux編程工具

2010-01-18 10:34:21

C++編譯器

2018-08-23 05:07:36

神經(jīng)架構(gòu)深度學(xué)習(xí)神經(jīng)網(wǎng)絡(luò)

2015-08-14 09:49:25

u3dc#

2010-06-04 17:37:45

Linux編程工具

2017-09-01 11:35:37

C++語言編譯器

2011-07-20 16:43:33

iPhone Bug Xcode

2020-11-03 10:32:22

編譯器工具代碼

2010-10-20 13:43:37

C++編譯器

2010-03-23 11:17:16

Python 動態(tài)編譯

2022-05-18 09:31:42

編譯器開源代碼生成

2014-03-03 10:00:53

編譯器集成開發(fā)環(huán)境

2012-06-06 09:04:54

Roslyn

2011-10-20 15:06:47

Project Ros

2024-05-22 15:29:32

2010-01-12 16:42:59

C++編譯器
點贊
收藏

51CTO技術(shù)棧公眾號