參考 Dennis M. Ritchie 寫的 The Development of the C Language:Chistory,C 語言誕生的基本過程就是 Ken Thomson 不滿意 BCPL,於是設計了 B 語言,並且用 BCPL 為 B 語言寫了一個編譯器,然後從這個編譯器開始自舉寫新的 B 語言編譯器。貝爾實驗室的眾人在 PDP-7 上用 B 語言寫了各種各樣的東西后又不滿意 B 語言了,於是 1971 年 DMR 開始在新買的 PDP-11 上用 B 給 B 寫擴充套件,稱之為 NB (new B,此處省略吐槽若干),擴充套件著擴充套件著離 B 的畫風越來越遠了,就取了一個新名字變成了一門新語言—— C 語言。 1973 年夏天他們用手頭的編譯器和語言給 PDP-11 重寫了一個 Unix Kernel。C 語言大約就是這個時期成型的。所以,可以說第一個 C 語言的編譯器是用 B 語言,或者說是擴充套件過的 B 語言(NB)寫的。因為是一邊改進語言一邊用改進了的編譯器這樣滾雪球寫出來的,也可以看成是 C 語言寫的?畢竟 DMR 也說了,很難確定什麼時候 C 自己變成了一門新語言……
參考 Dennis M. Ritchie 寫的 The Development of the C Language:Chistory,C 語言誕生的基本過程就是 Ken Thomson 不滿意 BCPL,於是設計了 B 語言,並且用 BCPL 為 B 語言寫了一個編譯器,然後從這個編譯器開始自舉寫新的 B 語言編譯器。貝爾實驗室的眾人在 PDP-7 上用 B 語言寫了各種各樣的東西后又不滿意 B 語言了,於是 1971 年 DMR 開始在新買的 PDP-11 上用 B 給 B 寫擴充套件,稱之為 NB (new B,此處省略吐槽若干),擴充套件著擴充套件著離 B 的畫風越來越遠了,就取了一個新名字變成了一門新語言—— C 語言。 1973 年夏天他們用手頭的編譯器和語言給 PDP-11 重寫了一個 Unix Kernel。C 語言大約就是這個時期成型的。所以,可以說第一個 C 語言的編譯器是用 B 語言,或者說是擴充套件過的 B 語言(NB)寫的。因為是一邊改進語言一邊用改進了的編譯器這樣滾雪球寫出來的,也可以看成是 C 語言寫的?畢竟 DMR 也說了,很難確定什麼時候 C 自己變成了一門新語言……