A. 第一個 C 語言編譯器是怎樣編寫的
第一個C語言編譯器
是先制定了簡單的C語法後,用B語言寫的
這個是C語言的前身。
當時B語言已經比較成熟 只不過 沒有C強大
於是 發明了C語言
之所以叫C,其實也是因為在B基礎上加一。
後續的C編譯器 就都是用C寫的了。
B. 編程語言Python是怎麼發明出來的
自從20世紀90年代初Python語言誕生至今,它已被逐漸廣泛應用於系統管理任務的處理和Web編程。 Python的創始人為Guido van Rossum。
1989年聖誕節期間,在阿姆斯特丹,Guido為了打發聖誕節的無趣,決心開發一個新的腳本解釋程序,做為ABC 語言的一種繼承。
C. 請問編寫軟體的第一個語言程序是如何誕生的
早期的計算機軟體都是用匯編語言直接編寫的,這種狀況持續了數年。當人們發現為不同類型的CPU編寫可重用軟體的開銷要明顯高於編寫編譯器時,人們發明了高級編程語言。由於早期的計算機的內存很少,當大家實現編譯器時,遇到了許多技術難題。
大約在20世紀50年代末期,與機器無關的編程語言被首次提出。隨後,人們開發了幾種實驗性質的編譯器。第一個編譯器是由Grace Hopper於1952年為A-0語言編寫的。通常認為,1957年由IBM的約翰·巴科斯領導的FORTRAN團隊介紹了第一個完整的編譯器。1960年,COBOL成為一種較早的能在多種架構下被編譯的語言。
高級語言在許多領域流行起來。由於新的編程語言支持的功能越來越多,計算機的架構越來越復雜,這使得編譯器也越來越復雜。
早期的編譯器是用匯編語言編寫的。首個能編譯自己源程序的編譯器是在1962年由麻省理工學院的Hart和Levin製作的。從20世紀70年代起,實現能編譯自己源程序的編譯器變得越來越可行,不過還是用Pascal和C語言來實現編譯器更加流行。製作某種語言的第一個能編譯器,要麼需要用其它語言來編寫,要麼就像Hart和Levin製作Lisp編譯器那樣,用解釋器來運行編譯器。
引自 : 維基網路
D. 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編譯系統所實現的語言功能和語法規則有略有差別。
E. 電腦軟體是誰發明的
格雷斯??霍波是傑出的女數學家和計算機語言領域的帶頭人
1949年,霍波離開哈佛,加盟由第一台電子計算機eniac發明人埃克特和莫齊利開辦的電腦公司,為第一台儲存程序的商業電子計算機univac編寫軟體。這期間,她開發出了世界上第一個將高級符號語言轉變為機器語言的編譯器a—0(1952年),第一個處理數學計算的編譯器a—2(1953年),第一個自動翻譯英語的數據處理語言的編譯器b—0(也叫flow-matic.1957年)。這是第一個用於商業數據處理的類似英語的語言。後來以flow-matic為基礎開發cobol語言,於1959年問世,它是第一批高級程序設計語言之一,廣泛用於大型機和小型機電腦的高級商業程序設計。cobol文本誕生後,霍波又率先實現了cobol的第一個編譯器,因此,有人把霍波叫做「cobol之母」。據20世紀80年代初的統計,全美國在運行中的程序有80%是用cobol語言編寫的,由此可見這個語言對計算機應用發展所起的作用。在電腦軟體的進展中,格雷斯?霍波女士做出了很大的貢獻。她的努力使電腦在商用化和產業化方面取得長足的進步。
F. bug的由來跟下面哪個人物有關
bug的由來跟下面哪個人物有關:答案是:從電腦誕生之日起,就有了電腦BUG。第一個有記載的bug是美國海軍的編程員,編譯器的發明者格蕾斯·哈珀(GraceHopper)發現的。哈珀後來成了美國海軍的一個將軍,領導了著名計算機語言Cobol的開發。Bug一詞的原意是「臭蟲」或「蟲子」。但是現在,在電腦系統或程序中,如果隱藏著的一些未被發現的缺陷或問題,人們也叫它「Bug」,這是怎麼回事呢? 原來,第一代的計算機是由許多龐大且昂貴的真空管組成,並利用大量的電力來使真空管發光。可能正是由於計算機運行產生的光和熱,引得一隻小蟲子?Bug?鑽進了一支真空管內,導致整個計算機無法工作。研究人員費了半天時間,總算發現原因所在,把這只小蟲子從真空管中取出後,計算機又恢復正常。後來,Bug這個名詞就沿用下來,表示電腦系統或程序中隱藏的錯誤、缺陷或問題。與Bug相對應,人們將發現Bug並加以糾正的過程叫做「Debug」,意即「捉蟲子」或「殺蟲子」。遺憾的是,在中文裡面,至今仍沒有與「Bug」准確對應的詞彙,於是只能直接引用「Bug」一詞。雖然也有人使用「臭蟲」一詞替代「Bug」,但容易產生歧義,所以推廣不開。 所謂「(Bug)」,是指電腦系統的硬體、系統軟體(如操作系統)或應用軟體(如文字處理軟體)出錯。硬體的出錯有兩個原因,一是設計錯誤,一是硬體部件老化失效等。軟體的錯誤全是廠家設計錯誤。那種說用戶執行了非法操作的提示,是軟體廠商不負責的胡說八道。用戶可能會執行不正確的操作,比如本來是做加法但按了減法鍵。這樣用戶會得到一個不正確的結果,但不會引起bug發作。軟體廠商在設計產品時的一個基本要求,就是不允許用戶做非法的操作。只要允許用戶做的,都是合法的。用戶根本就沒有辦法知道廠家心裡是怎麼想的,哪些操作序列是非法的。
G. 最早的編程軟體是怎麼來的
最早的沒有現在意義上的編譯器,是靠打孔器打紙帶編程。大型機靠讀紙帶執行程序。
由於機器語言由0、1組成,難以閱讀。所以在機器語言的基礎上開發了匯編語言。最早的匯編語言編譯器應該是機器語言編寫的。一旦第一個匯編語言編譯器開發出來以後,以後的版本都可以用匯編語言來編寫了。
由於匯編語言還是很難使用,所以開發出高級語言。也可以預見,第一個高級語言編譯器是由匯編語言編寫的。有了第一個高級語言編譯器,以後的高級語言編譯器便可以用這個高級語言編譯器生成。
也就是說,現在我們使用的C++語言編譯器,可以用C++語言來編寫。
H. 編譯器是怎麼被編譯出來的
我們要在Y系統上做一個C語言的編譯器,假定:X與Y是不同的兩種計算機,其指令系統不兼容。考慮以下幾種情況:
Case 1: Y上沒有C語言編譯器,但X系統上有。
那麼我們可以先在X系統上開發一個針對Y系統的C語言交叉編譯器。然後用這個交叉編譯器重新編譯已有的這個C編譯器的源代碼,就可以得到能在Y系統上運行的C語言編譯器了。(交叉編譯器:在X系統上運行的編譯器,但編譯出來的目標代碼在Y系統上運行。嵌入式平台上的程序基本都是交叉編譯得到的,因為嵌入式平台上很少會有自己的編譯器)
Case 2: X,Y上都沒有C語言編譯器,但有另一種語言的編譯器。
a.我們可以先劃出C語言的一個子集,這個子集必須滿足兩個條件:首先,必須足夠簡單,簡單到可以用另一種語言來編寫接受這個子集的編譯器;其次,必須足夠強大,強大到用這個語言子集就可以編寫出接受C語言的編譯器。(你一定奇怪為什麼一個語言的子集就能寫出接收整個語言的編譯器,呵呵。我猜是因為一個語言的很多復雜特性都是由簡單特性構成的,就像一個struct結構完全可以用幾個定義在一起的簡單變數代替實現;而且,編譯器的實現往往不會用到這個語言的高級特性,需要用的都加到那個子集里就行。)
b.再用另一種語言編寫一個能接受這個C語言子集的編譯器,只要保證可以在Y系統上正確運行就行,並不對其效率作要求,因為基本上它只被用一次。
c.然後,用C語言的子集編寫一個在Y系統上的C語言編譯器,用上一步得到的編譯器編譯得到可用的Y系統上的C編譯器。
I. 請問,編譯軟體最早是由誰發明出來的
Grave of Grace
後記
Grace Hopper是個非常amazing的人 (常被稱為Amazing Grace),崇拜她的人相當多。雖然她的事跡很多,但是還有很多有類似事跡的人並沒有像她這樣受到眾人的崇拜。由其中一點我們可以看出來:從1947年開始 (二戰結束後第二年),她獲得了第一個榮譽博士學位 (賓州大學),從那以後,她先後被40多所大學授予榮譽博士學位,其中包括芝加哥大學、華盛頓大學、馬里蘭大學等知名學府。各種婦女社會團體和學術組織都曾授予Grace各種稱號和獎勵。1991年,布希總統在白宮授予她的「美國國家技術獎」 (National Medal of Technology) 是其中的最高獎項,她也是至今惟一獲此殊榮的美國女性。她的名言有很多,她自己最喜歡的,也是她最喜歡對所謂的「年輕人」說的 (在她年老時,她所謂的年輕人就是「年齡不到我的一半的人就叫做年輕人」),這句話是:
「A ship in port is safe, but that is not what ships are built for.」
語錄
下面Grace的語錄中有幾句比較有意思的話。
From then on, when anything went wrong with a computer, we said it had bugs in it.
The most dangerous phrase in the language is, 「We』ve always done it this way.」
Humans are allergic to change. They love to say, 「We』ve always done it this way.」 I try to fight that. That』s why I have a clock on my wall that runs counter-clockwise.
Leadership is a two-way street, loyalty up and loyalty down. Respect for one』s superiors; care for one』s crew.
One accurate measurement is worth a thousand expert opinions.
Someday, on the corporate balance sheet, there will be an entry which reads, 「Information」; For in most cases, the information is more valuable than the hardware which processes it.
We』re flooding people with information. We need to feed it through a processor. A human must turn information into intelligence or knowledge. We』ve tended to forget that no computer will ever ask a new question.
To me programming is more than an important practical art. It is also a gigantic undertaking in the foundations of knowledge.
They told me computers could only do arithmetic.
In pioneer days they used oxen for heavy pulling, and when one ox couldn』t budge a log, they didn』t try to grow a larger ox. We shouldn』t be trying for bigger computers, but for more systems of computers.
Life was simple before World War II. After that, we had systems.
We went overboard on management and forgot about leadership. It might help if we ran the MBAs out of Washington.
At any given moment, there is always a line representing what your boss will believe. If you step over it, you will not get your budget. Go as close to that line as you can.
I seem to do a lot of retiring.
I handed my passport to the immigration officer, and he looked at it and looked at me and said, 「What are you?」
參考
維基網路:
http://en.wikipedia.org/wiki/Grace_Hopper
國立中央大學數學系:
http://li.math.ncu.e.tw/bcc16/pool/3.06.shtml
耶魯大學計算機系:
http://cs-www.cs.yale.e/homes/tap/Files/hopper-story.html
計算機先驅:
http://202.207.0.245:9001/jisuanjifazhanshi/xianqu/18.htm
This entry was posted in網路3Cand taggedcompiler,debug,Grace Murray Hopper,傳記,發明,編譯器,起源. Bookmark thepermalink.Post a commentor leave a trackback:Trackback URL.