第一個編譯器是什麼
⑴ 最早的C語言編譯器是什麼做的
匯編。這真的是最早最早的。
准確的來說,這和編譯器的開發有關,不用說太細,很麻煩怕你不懂。你現在假設第一個編譯器是用會變寫出來的,它的功能很簡單,就是解釋簡單一種類似於C語言的高級語言,但是這種所謂的高級語言還沒有完全擁有C語言的所有特性。只有比較簡單核心功能,比如能把文本文件的高級語言轉換成機器代碼並且執行。
有了這個原型之後,就可以用這個編譯器來解釋簡單C程序,就可以用C重寫編寫一個新的編譯器,這樣就有更多的C的功能。於是,從此之後就用現有的編譯器解釋更復雜的語言,用更復雜的語言寫出更好的編譯器,然後不斷這樣迭代。這確實是編譯器的演變。
然後最後一個問題就是當一個新的CPU發明過後,怎麼辦,需要重寫又從匯編開始寫編譯器嗎?答案是不用。假設你有一個CPU A執行一些代碼,你用匯編寫了一個基礎的C編譯器,然後用C寫出了更復雜的編譯器,接受更復雜的C功能,然後不斷循環演化。現在你有了CPU B,CPU B和CPU A執行兩套完全不同的代碼,那如何讓CPU B的機器也可以變異C語言呢?因為現在A上面已經可以運行非常復雜的C語言程序了,所以你可以在A上面開發一個編譯器把C語言程序轉化為CPU B的執行代碼。然後用這個程序,直接編譯你的C語言編譯器,再把這個程序轉換到有B命令集的電腦上面,這樣你就開發出了B電腦需要的C語言編譯器。
所以除非你真的是活在非常早起的人類。否在現在的編譯器基本上都利用這種原理直接編譯已經用C語言或者其它高級語言寫好的代碼來產生新的編譯器就行了。理論上可以只使用C語言來開發C的編譯器,不過處於一些歷史原因和底層效率等因素的考量,部分代碼還是使用匯編來實現的。
我舉得不過是一個例子,不一定是真實的C語言編譯的進化,何況有這么多不同的C語言編譯器,每一個的發展歷史都有小的不同。但是基本上都是利用了這種編譯器編譯新的編譯器的思想來實現了。而這樣回溯回去,最早的編譯器只能使用匯編來些。而其實最早的匯編語言的編譯器就只能使用機器語言來寫了。不過都是先處理簡單的轉換任務,有了這個核心功能過後,就可以寫程序轉換更復雜的語法。然後越來越復雜。就有了各種各樣的高級語言編譯器了。
⑵ 編譯技術的發展歷程
1954年至1957年間,IBM的John Backus帶領一個小組開發FORTRAN語言及其編譯器,使得上面的擔憂不必要了。
但由於當時處理中所涉及到的大多數程序設計語言的翻譯並不為人所掌握,所以這個項目的成功也伴隨著巨大的辛勞。
幾乎與此同時,人們也在開發著第一個編譯器,Noam Chomsky開始自然語言結構的研究。使得編譯器結構異常簡單,甚至還帶有了一些自動化。
Chomsky的研究導致了根據語言文法(grammar,結構規則)的難易程度以及識別它們所需的演算法來為語言分類。文法有4個層次:0型、1型、2型和3型文法,且其中的每一個都是其前者的專門化。2型(或上下文無關文法context-free grammar)是程序設計語言中最有用的,代表著程序設計語言結構的標准方式。
人們接著又深化了生成有效的目標代碼的方法,這就是最初的編譯器,它們被一直使用至今。人們通常將其誤稱為優化技術(optimization technique),但因其從未真正地得到過被優化了的目標代碼而僅僅改進了它的有效性,因此實際上應稱作代碼改進技術(code improvement technique)。
在70年代後期和80年代早期,大量的項目都關注於編譯器其他部分的生成自動化,這其中就包括了代碼生成。這些嘗試並未取得多少成功,這大概是因為操作太復雜而人們又對其不甚了解。
⑶ 電腦軟體是誰發明的
格雷斯??霍波是傑出的女數學家和計算機語言領域的帶頭人
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語言編寫的,由此可見這個語言對計算機應用發展所起的作用。在電腦軟體的進展中,格雷斯?霍波女士做出了很大的貢獻。她的努力使電腦在商用化和產業化方面取得長足的進步。
⑷ 最早的編程軟體是怎麼來的
最早的沒有現在意義上的編譯器,是靠打孔器打紙帶編程。大型機靠讀紙帶執行程序。
由於機器語言由0、1組成,難以閱讀。所以在機器語言的基礎上開發了匯編語言。最早的匯編語言編譯器應該是機器語言編寫的。一旦第一個匯編語言編譯器開發出來以後,以後的版本都可以用匯編語言來編寫了。
由於匯編語言還是很難使用,所以開發出高級語言。也可以預見,第一個高級語言編譯器是由匯編語言編寫的。有了第一個高級語言編譯器,以後的高級語言編譯器便可以用這個高級語言編譯器生成。
也就是說,現在我們使用的C++語言編譯器,可以用C++語言來編寫。
⑸ 第一個編譯器是靠什麼編出來的
linux自帶了gcc編譯器,直接使用gcc
test.c命令編譯生成a.out可執行文件,或者使用命令gcc
-
o
test
test.c編譯生成test可執行文件,這樣避免了覆蓋前面的a.out,新手就先用自帶的練手了,很方便的,我也是剛學的,共勉哈
⑹ 請問編寫軟體的第一個語言程序是如何誕生的
早期的計算機軟體都是用匯編語言直接編寫的,這種狀況持續了數年。當人們發現為不同類型的CPU編寫可重用軟體的開銷要明顯高於編寫編譯器時,人們發明了高級編程語言。由於早期的計算機的內存很少,當大家實現編譯器時,遇到了許多前源技術難題。
大約在20世紀50年代末期,與機器無關的編程語言被首次提出。隨後,人們開發了幾種實驗性質的編譯器。第一個編譯器是由Grace Hopper於1952年為A-0語言編寫的。通常認為,1957年由IBM的約翰·巴科斯領導的FORTRAN團隊介紹了第一個完整的編譯器。1960年,COBOL成為一種較早的能在多種架構下被編譯的語言。
高級語言在許多領域流行起來。由於新的編程語言支持的功能越來越多,計算機的架構越來越復雜,這使得編譯器也越來越復雜。
早期的編譯器是用匯編語言編寫的。首個能編譯自己源程序的編譯器啟悔簡是在1962年由麻省理工學院的Hart和Levin製作的。從20世紀70年代起,實現能編譯自己源程序的編譯器變得越來越可行,不過還是用Pascal和C語言來實現編譯器更加流行。製作某種語言的第一個能編譯器,要麼需要用其它語言來編寫,要麼就像Hart和Levin製作Lisp編譯器那樣,悄褲用解釋器來運行編譯器。
引自 : 維基網路
⑺ 世界上第一個編譯器是用什麼編譯器編譯出來的
最初的語言 就是01代碼
也就是機器語言
是不需要編譯的
第一個編譯器 就是這樣一點點寫出來的,是匯編到二進制的編譯器
所以 第一個編譯器本身不需要編譯,直接運行即可。
⑻ 第一個 C 語言編譯器是怎樣編寫的
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語法後,用B語言寫的
這個是C語言的前身。
當時B語言已經比較成熟 只不過 沒有C強大
於是 發明了C語言
之所以叫C,其實也是因為在B基礎上加一。
後續的C編譯器 就都是用C寫的了。
⑽ 請問,編譯軟體最早是由誰發明出來的
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.