c語言的設計與演化
㈠ c語言是誰發明的/
C語言的祖先是BCPL語言。 1967年,劍橋大學的Martin Richards 對CPL語言進行了簡化,於是產生了BCPL(Basic Combined Pogramming Language)語言。 1970年,美國貝爾實驗室的Ken Thompson。以BCPL語言為基礎,設計出很簡單且很接近硬體的B語言(取BCPL的首字母)。並且他用B語言寫了第一個UNIX操作系統。 在1972年,美國貝爾實驗室的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語言的標准。 1995年,ISO對C90做了一些修訂,即「1995基準增補1(ISO/IEC/9899/AMD1:1995)」。1999年,ISO有對C語言標准進行修訂,在基本保留原來C語言特徵的基礎上,針對應該的需要,增加了一些功能,尤其是對C++中的一些功能,命名為ISO/IEC9899:1999。 2001年和2004年先後進行了兩次技術修正。 目前流行的C語言編譯系統大多是以ANSI C為基礎進行開發的,但不同版本的C編譯系統所實現的語言功能和語法規則有略有差別。
㈡ c語言產生的歷史背景是怎樣的
C語言出現的歷史背景
C語言是國際上廣泛流行的計算機高級語言,既可用來寫系統軟體,也可用來寫應用軟體。 C語言是在B語言的基礎上發展起來的,它的根源可以追溯到ALGOL 60。1960年出現的ALGOL 60是一種面向問題的高級語言,它離硬體比較遠,不宜用來編寫系統程序。1963年英國的劍橋大學推出了CPL (combined programming language)語言。CPL語言在ALGOL 60的基礎上接近硬體一些,但規模比較大,難以實現。1967年英國劍橋大學的Matin Richards對CPL語言做了簡化,推出了BCPL (basic combined programming language) 語言。1970年美國貝爾實驗室的Ken Thompson 以BCPL語言為基礎, 又做了進一步簡化, 設計出了很簡單的而且很接近硬體的B語言 (取BCPL的第一個字母), 並用B語言寫了第一個UNIX操作系統,在PDP7上實現。1971年在PDP11/20上實現了B語言,並寫了UNIX操作系統。但B語言過於簡單,功能有限。 1972年至1973年間,貝爾實驗室的D.M.Ritchie 在B語言的基礎上設計出了C語言(取BCPL的第二個字母)。C語言既保持了BCPL和B語言的優點(精練,接近硬體),又克服了它們的缺點(過於簡單,數據無類型等)。最初的C語言只是為描述和實現UNIX操作系統提供一種工作語言而設計的。1973年,K.Thompson和D.M.Ritchie兩人合作把UNIX的90%以上用C改寫,即UNIX第5版。原來的UNIX 操作系統是1969年由美國的貝爾實驗室的K.Thompson和D.M.Ritchie開發成功的,是用匯編語言寫的。 1972年至1973年間,貝爾實驗室的D.M.Ritchie 在B語言的基礎上設計出了C語言(取BCPL的第二個字母)。C語言既保持了BCPL和B語言的優點(精練,接近硬體),又克服了它們的缺點(過於簡單,數據無類型等)。最初的C語言只是為描述和實現UNIX操作系統提供一種工作語言而設計的。1973年,K.Thompson和D.M.Ritchie兩人合作把UNIX的90%以上用C改寫,即UNIX第5版。原來的UNIX 操作系統是1969年由美國的貝爾實驗室的K.Thompson和D.M.Ritchie開發成功的,是用匯編語言寫的。
後來,C語言多次做了改進,但主要還是在貝爾實驗室內部使用。直到1975年UNIX第6版公布後,C語言的突出優點才引起人們的普遍注意。1977年出現了不依賴於具體機器的C語言編譯文本《可移植C語言編譯程序》,使C移植到其他機器時所需做的工作大大簡化了,這也推動了UNIX操作系統迅速地在各種機器上實現。例如VAX、 AT&T等計算機系統都相繼開發了UNIX。隨著UNIX的日益廣泛使用,C語言也迅速得到推廣。C語言和UNIX可以說是一對孿生兄弟,在發展過程中相輔相成。1978年以後,C語言已先後移植到大、中、小、微型機上,已獨立於UNIX和PDP了。現在C語言已風靡全世界,成為世界上應用最廣泛的幾種計算機語言之一。以1978年發表的UNIX第7版中的C編譯程序為基礎,Brian W.Kernighan和Dennis M.Ritchie (合稱K&R)合著了影響深遠的名著《The C Programming Language》,這本書中介紹的C語言成為後來廣泛使用的C語言版本的基礎,它被稱為標准C。1983年,美國國家標准化協會(ANSI)根據C語言問世以來各種版本對C的發展和擴充,制定了新的標准,稱為ANSI C。 ANSI C比原來的標准C有了很大的發展。K & R在1988年修改了他們的經典著作《The C Programming Language》,按照 ANSI C 標准重新寫了該書。1987年,ANSI又公布了新標准——87 ANSIC。
1990年,國際標准化組織ISO(International Standard Organization) 接受87 ANSI C為ISO C 的標准(ISO 9899—1990)。目前流行的C編譯系統都是以它為基礎的。本書的敘述基本上以ANSI C 為基礎。目前廣泛流行的各種版本C語言編譯系統雖然基本部分是相同的,但也有一些不同。在微型機上使用的有Microsoft C、 Turbo C、 Quick C、BORLAND C等,它們的不同版本又略有差異。因此,讀者應了解所用的計算機系統所配置的C編譯系統的特點和規定
㈢ 編程語言(比如C語言、JAVA)是怎麼被設計出來的設計的過程又是怎樣的
參考一些資料,可以看一些發展歷史。C語言歷史
早期的操作系統等系統軟體主要是用匯編語言編寫的,如UNIX操作系統。由於匯編語言
依賴於計算機硬體,程序的可讀性和可移植性都比較差。為了提高可讀性和可移植性,最好
改用高級語言,但一般高級語言難以實現匯編語言的某些功能,而匯編語言可以直接對硬體
進行操作,例如,對內存地址的操作、位(bit)操作等。人們設想能否找到一種既具有一般
高級語言特性,又具有低級語言特性的語言,集它們的優點於一身。於是,C語言就在這種
情況下應運而生了,之後成為國際上廣泛流行的計算機高級語言。它適合於作為系統描述語
言,即用來寫系統軟體,也可用來寫應用軟體。
C語言是在B語言的基礎上發展起來的,它的根源可以追溯到ALGOL 60。1960年出現的
ALGOL 60是一種面向問題的高級語言,它離硬體比較遠,不宜用來編寫系統程序,1963年英
國的劍橋大學推出了CPL(Combined Programming Language)語言。CPL語言在ALGOL 60的基
礎上接近硬體一些,但規模比較大,難以實現。1967年英國劍橋大學的Matin Richards對
CPL語言作了簡化,推出了BCPL(Basic Combined Programming Language)語言。1970年美國
貝爾實驗室的Ken Thompson以BCPL語言為基礎,又作了進一步簡化,它使得BCPL能擠壓在
8K內存中運行,這個很簡單的而且很接近硬體的語言就是B語言(取BCPL的第一個字母),並
用它寫了第一個UNIX操作系統,在DEC PDP-7上實現。1971年在PDP-11/20上實現了B語言,
並寫了UNIX操作系統。但B語言過於簡單,功能有限,並且和BCPL都是「無類型」的語言。
1972年至1973年間,貝爾實驗室的D.M.Ritchie在B語言的基礎上設計出了C語言(取BCPL的
第二個字母)。C語言既保持了BCPL和B語言的優點(精練,接近硬體),又克服了它們的缺點
(過於簡單,數據無類型等)。最初的C語言只是為描述和實現UNIX操作系統提供一種工具語
言而設計的。1973年,K.Thompson和D.M.Ritchie兩人合作把UNIX的90%以上用C改寫,
即UNIX第5版。原來的UNIX操作系統是1969年由美國的貝爾實驗室的K.Thompson和
D.M.Ritchie開發成功的,是用匯編語言寫的,這樣,Unix使分散的計算系統之間的大規
模聯網以及互聯網成為可能。
後來,C語言多次作了改進,但主要還是在貝爾實驗室內部使用。直到1975年UNIX第6版
公布後,C語言的突出優點才引起人們普遍注意。1977年出現了不依賴於具體機器的C語言編
譯文本《可移植C語言編譯程序》,使C移植到其它機器時所需做的工作大大簡化了,這也推
動了UNIX操作系統迅速地在各種機器上實現。例如,VAX,AT&T等計算機系統都相繼開發了
UNIX。隨著UNIX的日益廣泛使用,C語言也迅速得到推廣。C語言和UNIX可以說是一對孿生兄
弟,在發展過程中相輔相成。1978年以後,C語言已先後移植到大、中、小、微型機上,如
IBM System/370、Honeywell 6000和Interdata 8/32,已獨立於UNIX和PDP了。現在C語言已
風靡全世界,成為世界上應用最廣泛的幾種計算機語言之一。
以1978年由美國電話電報公司(AT&T)貝爾實驗室正式發表的UNIX第7版中的C編譯程序為
基礎,Brian W.Kernighan(柯尼漢)和Dennis M.Ritchie(里奇)合著了影響深遠的名著
《The C Programming Language》,常常稱它為『K&R』,也有人稱之為『K&R標准』或『白
皮書』(white book),它成為後來廣泛使用的C語言版本的基礎,但在『K&R』中並沒有定義
一個完整的標准C語言。為此,1983年,美國國家標准化協會(ANSl)X3J11 委員會根據C語言
問世以來各種版本對C的發展和擴充,制定了新的標准,稱為ANSI C,ANSI C比原來的標准C
有了很大的發展:K&R在1988年修改了他們的經典著作《The C Programming Language》,
按照ANSI C標准重新寫了該書。1987年,ANSI又公布了新標准——87 ANSI C。目前流行的C
編譯系統都是以它為基礎的。當時廣泛流行的各種版本C語言編譯系統雖然基本部分是相同
的,但也有一些不同。在微型機上使用的有Microsoft C(MS C),Borland Turbo C,Quick C
和AT&T C等,它們的不同版本又略有差異。到後來的Java、C++、C#都是以C語言為基礎發展
起來的。