① 第一個 C 語言編譯器是用什麼語言編寫的
第一個C語言編譯器(簡單的編譯器)是用匯編完成的,後來的完整C語言編譯器是用C語言編寫的(也就是由簡單的編譯器編譯)。
② 歷史上出現過的主流C/C++ 編譯器都有哪些
最早的 通用的就是TC了
也就是所說的torboC
一個綠樹的圖標,很多人 在2000年之前學C語言的,都是先接觸的這個。
然後就是VC,從XP開始,VC就一直是主流中的主流,初學者大多用這個
再之後 VS 屬於VC的進階。
除了這幾個以外,還有真正專業級的主流,gcc/g++ 這個 只要用Linux的 沒有不知道的
在windows上 也有Mingwin devC++這些 底層用的也是gcc的編譯器。
③ 第一個 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 語言寫的?畢竟 很難確定什麼時候 C 自己變成了一門新語言……
④ C語言發明之前用什麼編程 C語言又是怎麼發明出來的
c語言
C語言的原型ALGOL 60語言。(也稱為A語言) 1963年,劍橋大學將ALGOL 60語言發展成為CPL(Combined Programming Language)語言。 1967年,劍橋大學的Martin Richards 對CPL語言進行了簡化,於是產生了BCPL語言。 1970年,美國貝爾實驗室的Ken Thompson將BCPL進行了修改,並為它起了一個有趣的名字「B語言」。意思是將CPL語言煮干,提煉出它的精華。並且他用B語言寫了第一個UNIX操作系統。 而在1972年,B語言也給人「煮」了一下,美國貝爾實驗室的D.M.Ritchie在B語言的基礎上最終設計出了一種新的語言,他取了BCPL的第二個字母作為這種語言的名字,這就是C語言。 為了使UNIX操作系統推廣,1977年Dennis M.Ritchie 發表了不依賴於具體機器系統的C語言編譯文本《可移植的C語言編譯程序》。 1978年由美國電話電報公司(AT&T)貝爾實驗室正式發表了C語言。同時由B.W.Kernighan和D.M.Ritchie合著 c語言程序設計
了著名的《The C Programming Language》一書。通常簡稱為《K&R》,也有人稱之為《K&R》標准。但是,在《K&R》中並沒有定義一個完整的標准C語言,後來由美國國家標准化協會(American National Standards Institute)在此基礎上制定了一個C語言標准,於一九八三年發表。通常稱之為ANSI C。 K&R第一版在很多語言細節上也不夠精確,對於pcc這個「參照編譯器」來說,它日益顯得不切實際;K&R甚至沒有很好表達它索要描述的語言,把後續擴展仍到了一邊。最後,C在早期項目中的使用受商業和政府合同支配,它意味著一個認可的正式標準是重要的。因此(在M. D. McIlroy的催促下),ANSI於1983年夏天,在CBEMA的領導下建立了X3J11委員會,目的是產生一個C標准。X3J11在1989年末提出了一個他們的報告[ANSI 89],後來這個標准被ISO接受為ISO/IEC 9899-1990。 1990年,國際標准化組織ISO(International Organization for Standards)接受了89 ANSI C 為I SO C 的標准(ISO9899-1990)。1994年,ISO修訂了C語言的標准。 目前流行的C語言編譯系統大多是以ANSI C為基礎進行開發的,但不同版本的C編譯系統所實現的語言功能和語法規則有略有差別。
⑤ C/C++歷史介紹 C和C++名稱由來
C/C++發展歷史簡單介紹
C語言之所以要起名為「C」,是因為它是主要參考那個時候的一門叫B的語言,它的設計者認為C語言是B語言的進步,所以就起名為C語言;但是B語言並不是因為之前還有個A語言,而是B語言的作者為了紀念他的妻子,他的妻子的第一個字母是B;
當C語言發展到頂峰的時刻,出現了一個版本叫C with Class,那就是C++最早的版本,在C語言中增加class關鍵字和類,那個時候有很多版本的C都希望在C語言中增加類的概念;後來C標准委員會決定為這個版本的C起個新的名字,那個時候徵集了很多種名字,最後採納了其中一個人的意見,以C語言中的++運算符來體現它是C語言的進步,所以就叫C++,也成立了C++標准委員會;
剛誕生的C++和現在我們使用的版本是有很大區別的,首先還沒有一個真正的C++編譯器,早期的C++代碼都是先轉化為C代碼,然後用C編譯器直接編譯的;而且,那時的C++沒有繼承,沒有private, protected, public這些關鍵字,沒有虛函數;虛函數是最後才被加入C++的主要特性;就這樣經過了N次演變,每次逐步增加一些新的關鍵字和新特性,最後才變成現在的樣子;
還有就是STL,它是C++自C語言發展以來,唯一一個憑空誕生的部分,之前沒有任何類似於STL的代碼,編譯器沒有模板,在實際的使用中也沒有這樣的呼聲;那完全得宜於STL的倡導者對C++標准委員會的游說,他的高瞻遠矚,令現在的無數人收益;是他在沒有任何基礎與實踐的前提下,提出要將模板加入C++的標准,並增加模板類庫;在該C++標准發布時,世面上沒有一個支持該標準的C++編譯器,它完全不是實踐經驗的總結,而是憑空的想像;