⑴ c語言什麼時候誕生
1969-1973年在美國電話電報公司(AT&T)貝爾實驗室開始了C語言的最初研發。根據C語言的發明者丹尼斯·里奇 (Dennis Ritchie) 說,C 語言最重要的研發時期是在1972年。
C語言之所以命名為C,是因為C語言源自Ken Thompson發明的 B語言,而B語言則源自BCPL語言。
C語言的誕生是和UNIX操作系統的開發密不可分的,原先的UNIX操作系統都是用匯編語言寫的,1973年UNIX操作系統的核心用C語言改寫,從此以後,C語言成為編寫操作系統的主要語言。
⑵ c語言什麼時候誕生的
1972年。
C 語言里的 時間/日期 計算 起點,有個 unix timestamp(unix 時間圖章)是 Jan 1, 1970 UTC。所以 c 語言發明時間,應當是 1970年1月1日以後。
1969-1973年在美國電話電報公司(AT&T)貝爾實驗室開始了C語言的最初研發。根據C語言的發明者丹尼斯·里奇 (Dennis Ritchie) 說,C 語言最重要的研發時期是在1972年。
細節: 最初的Unix是用匯編語言編寫的,一些應用是由叫做B語言的解釋型語言和匯編語言混合編寫的,在移植的過程中遇到不少麻煩。早在對Multics項目調整過程中,就迫切需要一門高級計算機語言做工具,為了解決程序的可移植性問題,肯·湯普遜和丹尼斯·里奇決定對它進行簡單改進,形成 「New B」 語言。但 New B 在Unix的移植方面依然不盡人意,此後里奇又對 New B 語言做了改進,C語言誕生。
⑶ c語言的創始人
C語言創始人D.M.Ritchie
C語言之所以命名為C,是因為 C語言源自 Ken Thompson 發明的 B語言,而 B語言則源自BCPL語言。
1967年,劍橋大學的 Martin Richards 對CPL語言進行了簡化,於是產生了BCPL(Basic Combined Programming Language)語言。
20世紀60年代,美國AT&T公司貝爾實驗室(AT&T Bell Laboratory)的研究員Ken Thompson閑來無事,手癢難耐,想玩一個他自己編的,模擬在太陽系航行的電子游戲——Space Travel。他背著老闆,找到了台空閑的機器——PDP-7。但這台機器沒有操作系統,而游戲必須使用操作系統的一些功能,於是他著手為PDP-7開發操作系統。後來,這個操作系統被命名為——UNIX。
1970年,美國貝爾實驗室的 Ken Thompson。以BCPL語言為基礎,設計出很簡單且很接近硬體的B語言(取BCPL的首字母)。並且他用B語言寫了第一個UNIX操作系統。
1971年,同樣酷愛Space Travel的Dennis M.Ritchie為了能早點兒玩上游戲,加入了Thompson的開發項目,合作開發UNIX。他的主要工作是改造B語言,使其更成熟。
1972年,美國貝爾實驗室的 D.M.Ritchie 在B語言的基礎上最終設計出了一種新的語言,他取了BCPL的第二個字母作為這種語言的名字,這就是C語言。
1973年初,C語言的主體完成。Thompson和Ritchie迫不及待地開始用它完全重寫了UNIX。此時,編程的樂趣使他們已經完全忘記了那個"Space Travel",一門心思地投入到了UNIX和C語言的開發中。隨著UNIX的發展,C語言自身也在不斷地完善。直到今天,各種版本的UNIX內核和周邊工具仍然使用C語言作為最主要的開發語言,其中還有不少繼承Thompson和Ritchie之手的代碼。
在開發中,他們還考慮把UNIX移植到其他類型的計算機上使用。C語言強大的移植性(Portability)在此顯現。機器語言和匯編語言都不具有移植性,為x86開發的程序,不可能在Alpha,SPARC和ARM等機器上運行。而C語言程序則可以使用在任意架構的處理器上,只要那種架構的處理器具有對應的C語言編譯器和庫,然後將C源代碼編譯、連接成目標二進制文件之後即可運行。
1977年,Dennis M.Ritchie發表了不依賴於具體機器系統的C語言編譯文本《可移植的C語言編譯程序》。[1]
折疊K&RC
1978年由美國電話電報公司(AT&T)貝爾實驗室正式發表了C語言。Brian Kernighan 和 Dennis Ritchie 出版了一本書,名叫《The C Programming Language》。這本書被 C語言開發者們稱為"K&R",很多年來被當作 C語言的非正式的標准說明。人們稱這個版本的 C語言為"K&R C"。
折疊ANSI
1970到80年代,C語言被廣泛應用,從大型主機到小型微機,也衍生了C語言的很多不同版本。
1983年美國國家標准局 (American National Standards Institute,簡稱ANSI)成立了一個委員會,來制定 C語言標准。
1989年 C語言標准被批准,被稱為 ANSI X3.159-1989 "Programming Language C"。這個版本的C語言標准通常被稱為ANSI C。
折疊C99
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)」。[9]
1999年,ISO又對C語言標准進行修訂,在基本保留原來C語言特徵的基礎上,針對應該的需要,增加了一些功能,命名為ISO/IEC9899:1999。
在ANSI標准化後,C語言的標准在一段相當的時間內都保持不變,盡管C繼續在改進。(實際上,NormativeAmendment1在1995年已經開發了一個新的C語言版本。但是這個版本很少為人所知。)它被ANSI於2000年3月採用。
折疊C11
2001年和2004年先後進行了兩次技術修正。
2011年12月8日,ISO正式公布C語言新的國際標准草案:ISO/IEC 9899:2011,即C11
⑷ c語言的發明者是誰
丹尼斯·里奇,C語言之父,UNIX之父。曾擔任朗訊科技公司貝爾實驗室下屬的計算機科學研究中心系統軟體研究部的主任一職。1978年與布備逗萊恩·科爾尼干一起出版了名著《C程序設計語言(The C Programming Language)》,現在此書已翻譯成多種語言,成為C語言方面最權威的教材之一。2011年仿寬賣10月12日(北京時間為10月13日),丹尼斯·里奇去世,享年70歲。巧納
丹尼斯·里奇,美國計算機科學家,對C語言和其他編程語言、Multics和Unix等操作系統的發展做出了巨大貢獻。
⑸ C語言介紹
一、C語言的 歷史
C語言由丹尼斯·里奇(Dennis Ritchie)於1972年在位於美國的AT&T(美國電話電報公司)貝爾實驗室發明。C語言借鑒前輩語言的功能和優點,並且克服了它們存在的問題。可以說C語言是對當時現有語言的一次改進和總結,創造出一種在那個時代更加優秀的編程語言。直至當前,C語言還是一種比較重要的編程語言,在比較流行的編程語言排行榜上常年霸榜前幾名,經久不衰。很多計算機專業都是以C語言作為第一編程入門語言,可見C語言的影響和重要性。
圖一 編程語言趨勢&2021排行榜(部分)
二、C語言的特點
C語言是一種中級編程語言,相對於低級語言匯編,高級語言Java等現代語言。C語言可以直接訪問內存,分配內存,與硬體設備交互,具有低級語言的特點;相對於現代的面向對象編程,C語言是一種面向過程語言,面向過程語言也稱為結構化程序設計語言。通俗的講,面向對象編程是把對象當做一個基本編程單位/個體;面向過程編程,把一些功能劃分成一個單元稱之為函數,程序的執行就是函數順序逐步的執行。
三、C語言的應用
C語言有很多方面的應用。首先,C語言發明者使用C語言編寫了Unix操作系統。Linux操作系統也是使用C語言開發出來的。現代很多基礎軟體是使用C語言開發的,比如我們常用的wps辦公軟體等等桌面應用軟體,如果你仔細觀察,你可能發現平時電腦上使用的很多應用就是使用C語言開發出來的,是不是有點小驚訝。可見C語言的應用是很普遍的。C語言應用的領域有系統內核、驅動、基礎應用、桌面應用等等。不過有些領域並沒有使用C語言,Web開發並沒有使用C語言,然而,Web伺服器、中間件使用C語言開發是比較司空見慣的。
我們可以列舉日常使用的軟體有哪些是使用C語言開發的。谷歌瀏覽器部分使用C語言開發,一些規模比較大的軟體,並不是使用單一的編程語言開發出來。QQ、微信PC端也是使用CC++開發。還有wps等等,很大一部分日常使用的PC軟體都是使用CC++開發的。軟體開發領域使用的軟體應用有更多是使用CC++開發出來的。
⑹ C語言編程軟體的C語言之父
在眾多的國際互動論壇上,計算機愛好者們以特有的方式紀念這位編程語言的重要奠基人。許多網友的發帖中沒有片言隻字,僅僅留下一個分號「;」。在C語言中,分號標志著一行指令語句的結束,網友們以此來悼念「C語言之父」,美國著名計算機專家丹尼斯·里奇(Dennis Ritchie)所引領的時代悄然遠去。
在日益紛繁復雜的程序設計語言王國中,C語言因其簡潔、有效、通用的特性而始終占據一席之地。被譽為「C語言之父」,同時也是操作系統Unix之父的C語言發明人之一——丹尼斯·里奇10月9日以70歲之齡辭世。
生於1941年9月9日的丹尼斯·里奇曾在哈佛大學學習物理學和應用數學,1967年他進入貝爾實驗室,並曾經擔任朗訊技術公司系統軟體研究部門的領導人。
1983年,美國計算機協會將當年的圖靈獎破例頒給了作為軟體工程師的肯·湯普遜與里奇,獲獎原因是他們「研究發展了通用的操作系統理論,尤其是實現了Unix操作系統」。並且,美國計算機協會當年還決定新設立一個獎項——軟體系統獎,以獎勵那些優秀的軟體開發者,首個軟體系統獎當然也是非他們兩人莫屬。
盡管通過Unix拿獎拿到手軟,但令里奇引起最大關注和反響的則是C語言的問世。1999年,里奇和湯普遜為發展C語言和Unix操作系統一起獲得了美國國家技術獎章。
雖然在C語言之後,C++、Java等各式各樣計算機高級語言層出不窮,但不少程序員仍舊認為,C語言簡潔、高效、靈活的特性令其具有獨特魅力。「現在的程序編寫朝著越來越冗長龐大的方向發展,而C語言雖然屬於相對『低級』的編程語言,但它的簡潔之美是無可替代的。」一位電腦程序員道出了自己格外青睞C語言的原因。
和里奇所創造的C語言一樣,Unix系統也同樣具有簡潔、樸素、小巧的特性。但正如里奇自己所說的那樣,「Unix系統是一個簡單基本的操作系統,但學會欣賞簡潔需要天賦。」而里奇本人,盡管在軟體發展史上佔有舉足輕重的地位,也同樣在從事的領域辛勤而低調地耕耘近40年。
⑺ C語言是在哪年發明的~
C,是一種通用的程序設計語言,它主要用來進行系統程序設計。具有高效、靈活、功能豐富、表達力強和移植性好等的特點,在程序員中備受青睞。
C語言是由UNIX的研製者丹尼斯·里奇(Dennis Ritchie)和肯·湯普遜(Ken Thompson)於1970年研製出的B語言的基礎上發展和完善起來的。C語言可以廣泛應用於不同的操作系統,例如UNIX、MS-DOS、Microsoft Windows及Linux等。C語言是一種面向過程的語言,同時具有高級語言和匯編語言的優點。在C語言的基礎上發展起來的有支持多種程序設計風格的C++語言,網路上廣泛使用的Java、JavaScript,微軟的C#等。
1983年,美國國家標准委員會(ANSI)對C語言進行了標准化,於1983年頒布了第一個C語言標准草案(83 ANSI C),後來於1987年又頒布了另一個C語言標准草案(87 ANSI C)。最新的C語言標準是在1999年頒布並在2000年3月被ANSI採用的 C99 ,但由於未得到主流編譯器廠家的支持,直到2004年C99 並未被廣泛使用,增加了若干新特性後 C99 已經逐漸讓C語言和C++分道揚鑣。
⑻ C語言之父——丹尼斯·里奇
人們對里奇的紀念,遠不及對喬布斯鋪天蓋地的悼念。可是,里奇值得人們那樣去做。
還是有人出來說了句公道話。
「史蒂夫·喬布斯去世引發了巨大的反響,這當然合情合理。即便影響實際上更為廣泛,丹尼斯卻不為公眾所知」,羅伯·派克說。羅伯是一名在Google工作的程序員,作為業界的傳奇性人物,曾經與里奇在著名的貝爾實驗室共事20年。
周三晚間,派克在Google+上發表消息稱,在與病魔進行長久的抗爭後,里奇於上周末在新澤西的家中溘然長逝。雖然在技術圈內引起大量反響,但在主流媒體上,里奇卻沒有得到同巨大影響相稱的悼念。丹尼斯·里奇作為C語言之父,和貝爾實驗室資深研究員肯·湯姆森一起使用C語言開發了Unix,當今世界大量依賴的操作系統,其中包括史蒂夫·喬布斯治下的蘋果帝國。
「現下互聯網基本都在用這兩樣東西:C語言和UNIX」,派克對《連線》雜志稱,「瀏覽器是用C語言寫的。UNIX的內核——基本上是網際網路運作的基礎——也是用C寫的。Web伺服器也是用C語言寫的,如果不是的話,那就是用Java或者C++寫的,兩者都是C語言的派生;要不就是Python或者Ruby,用C語言實現的。然後我幾乎敢保證,運行這些程序的網路硬體,是用C語言開發的軟體驅動的。」
「幾乎很難誇大丹尼斯在信息經濟基礎設施方面無所不在的影響力。」
他補充說,Windows曾經也是用C語言編寫,而UNIX同時也支撐了蘋果桌面操作系統Mac OS X,以及iPhone與iPad的操作系統iOS。「如果說喬布斯是台前之王,那裡奇就是幕後之王。」MIT電氣工程與計算機系教授Martin Rinard如此評價道。Rinard也是計算機科學與人工智慧實驗室的成員。
「喬布斯的過人之處在於其品位獨特,打造人們為之著迷並引人注目的產品。而里奇卻擅長於開發一些技術人員使用的基礎設施,天天被人們使用卻不為人知。」
從B語言到C語言
為了更好開發UNIX,丹尼斯·里奇而發明了C語言。最初的UNIX內核使用匯編語言編寫,之後他們很快決定要用一種高級語言,讓他們更好的駕馭操作系統中的復雜數據。1970年左右,他們嘗試使用Fortran,不過沒有達到預期目標。接著,在湯姆森創立的B語言基礎上,里奇提出了一門新語言
不管你是從哪裡聽來的消息,B語言得名於湯姆森的妻子Bonnie,抑或是BCPL,一門劍橋於60年代中期開發的語言。
B語言是一種解釋性語言——意味著它由一個運行於CPU之上的中間件解釋執行——而C卻是一門編譯語言。它被翻譯成機器代碼,在CPU上直接執行。即便如此,C當時被認為是一門高級語言。C語言提供了里奇和湯姆森想要的靈活性,卻也很快。
關於里奇一直流傳的一個笑話是:C語言同時擁有了「匯編語言的強大能力以及...匯編語言的便利性」。換句話說,他承認C語言並不完美,並且十分接近硬體層次。如今C語言被認為是一門低級語言而不是高級語言。不過這個笑話並不公平。C語言提供了真正的數據結構概念,從這個角度來說已經足夠高級了。
「當你在編寫一個大型程序——比如UNIX——你必須管理好各種各樣模塊之間的交互:所有用戶、文件系統、磁碟、程序執行等等。而有效的管理則需要良好的數據表示,這就是所謂的數據結構」,派克說。
「在沒有數據結構組織的情況下,編寫一個與UNIX一樣一致和優雅的內核基本上是不可能的。需要一個機制組織好數據,而Fortran卻不擅長於此。」
在那個時候,寫一個操作系統並不多見,這也給了里奇和湯姆森機會,在70年代末把操作系統移植到其它平台。「從此UNIX洪水之門被打開」,派克說,「這全都多虧有了C語言。」
蘋果、微軟及其他
與此同時,C語言也開始傳播到全世界,從貝爾實驗室到全世界的大學,也到了微軟,一個在80年代異軍突起的軟體公司。「C語言的開發是一個重大的飛躍,是個很好的折衷...C語言達到了完美的平衡,讓你在較高層次高效率開發的同時,卻不失去對每處細節的控制」,NVIDIA和貝爾的首席科學家兼斯坦福大學工程系教授Bill Dally說。「它為之後數十年來軟體開發定下了基調。」
正如派克指出的那樣,C語言內置的數據結構後來發展出面向對象範式,被現代編程語言如C++和Java大量採用。
1973年,里奇發表了關於這門語言的論文,被認為是革命開始的標志。5年後,他和同事布萊恩·克尼漢(Brian Kernighan)發布了C語言的權威著作:《C程序設計語言》。該書最早是克尼漢為C語言編寫的教程,後來他拉著丹尼斯一起把書寫完。
當派克還在多倫多大學讀本科的時候,在一個因病返家的下午里讀到了這本書。「那本參考手冊相對於其他的手冊而言,簡直就是清晰和可讀的典範。毋庸置疑是一部經典之作。」,他說,「我生病躺床上翻一翻,沒想到竟讓我忘記了病痛。」
和許多大學生一樣,Pike那時已經開始使用C語言了。由於貝爾實驗室開始分發UNIX源代碼,它逐漸風靡大學校園。此外,UNIX還催生了現代開源運動。這並不是什麼言過其實,里奇的影響之大怎麼說都不為過。即便里奇在1983年獲得的圖靈獎和1998年獲得的國家技術勛章也不能完全彰顯他的貢獻。
在克尼漢和派克眼中,里奇是一個少有的孤僻的人。「我和他一同工作了超過20個年頭,但還是覺得不是很了解他這個人」,派克說。但這並不是他低調的理由。史蒂夫·喬布斯也是一個孤僻的人,只不過保持低調只使得人們對他的崇拜有增無減。
里奇所處的時代和工作環境與喬布斯千差萬別,這也許是他未得到應得紀念的原因。但是,他留下的遺產總有大佬能夠明白。「眾所周知牛頓說過他是站在巨人的肩膀上」,克尼漢說,「我們都站在丹尼斯的肩膀上。」
⑼ C++語言是誰發明的
C語言是美國Dennis Ritchie在1972年設計發明的,C語言主體誕生於1973年,正式發行於1977年。是一門面向過程、抽象化的通用程序設計語言,廣泛應用於底層開發。
C語言就是分析出解決問題所需要的步驟 ,然後利用函數一步步的實現,使用的時候一個一個依次調用就可以。
一種以事物本身為中心的編程思想,是把構成問題的事物分解成各個對象,同時建立對象的目的不是為了完成某一個步驟,而是為了描述某個事物在整個解決問題的步驟中的行為。
(9)c語言的發明著擴展閱讀
1、C語言經歷過幾個修訂版本,其中影響比較大的是1989年修訂的C89版與1999年修訂的C99版。C89版也是當代C語言通行的基礎版本。
2、C語言主要用於編寫操作系統內核、底層驅動程序、小型應用程序、資料庫等,藉助操作系統,C語言長期處於編程語言排行榜前幾位的位置。