最早的編譯器
Ⅰ c語言的ide這個ide從何而來
C語言不靠IDE。
你寫在記事本,里用命令行一樣可以編譯出程序來。
明白樓主的意思了。
最早的匯編編譯器是用機器碼寫的,最早的C編譯器是匯編寫的。最早的C++編譯器是用C寫的。之後所有的基本都是C/C++寫的。
Ⅱ 最早的編程軟體是怎麼來的
最早的沒有現在意義上的編譯器,是靠打孔器打紙帶編程。大型機靠讀紙帶執行程序。
由於機器語言由0、1組成,難以閱讀。所以在機器語言的基礎上開發了匯編語言。最早的匯編語言編譯器應該是機器語言編寫的。一旦第一個匯編語言編譯器開發出來以後,以後的版本都可以用匯編語言來編寫了。
由於匯編語言還是很難使用,所以開發出高級語言。也可以預見,第一個高級語言編譯器是由匯編語言編寫的。有了第一個高級語言編譯器,以後的高級語言編譯器便可以用這個高級語言編譯器生成。
也就是說,現在我們使用的C++語言編譯器,可以用C++語言來編寫。
Ⅲ 匯編出現在操作系統之前 最早的匯編編譯器應該是匯編寫的吧、(滿意答案多加分)
你講的那個時候就沒有操作系統。計算機最早的情況是利用插線孔的形式來選擇的計算電路。cpu執行二進製程序,這個時候還就是用機器語言來進行編程的,機器語言就是cpu的指令集。匯編語言的編譯器開始就是用機器語言來進行寫的。那時是復雜指令系統,每條指令都比較簡單,不像精簡指令集,一條指令可以表示多重意思。
Ⅳ 編譯器的歷史
20世紀50年代,IBM的John Backus帶領一個研究小組對FORTRAN語言及其編譯器進行開發。但由於當時人們對編譯理論了解不多,開發工作變得既復雜又艱苦。與此同時,Noam Chomsky開始了他對自然語言結構的研究。他的發現最終使得編譯器的結構異常簡單,甚至還帶有了一些自動化。Chomsky的研究導致了根據語言文法的難易程度以及識別它們所需要的演算法來對語言分類。正如Chomsky架構(Chomsky Hierarchy),它包括了文法的四個層次:0型文法、1型文法、2型文法和3型文法,且其中的每一個都是其前者的特殊情況。2型文法(或上下文無關文法)被證明是程序設計語言中最有用的,而且今天它已代表著程序設計語言結構的標准方式。分析問題(parsing problem,用於上下文無關文法識別的有效演算法)的研究是在60年代和70年代,它相當完善的解決了這個問題。它已是編譯原理中的一個標准部分。
有限狀態自動機(Finite Automation)和正則表達式(Regular Expression)同上下文無關文法緊密相關,它們與Chomsky的3型文法相對應。對它們的研究與Chomsky的研究幾乎同時開始,並且引出了表示程序設計語言的單詞的符號方式。
人們接著又深化了生成有效目標代碼的方法,這就是最初的編譯器,它們被一直使用至今。人們通常將其稱為優化技術(Optimization Technique),但因其從未真正地得到過被優化了的目標代碼而僅僅改進了它的有效性,因此實際上應稱作代碼改進技術(Code Improvement Technique)。
當分析問題變得好懂起來時,人們就在開發程序上花費了很大的功夫來研究這一部分的編譯器自動構造。這些程序最初被稱為編譯器的編譯器(Compiler-compiler),但更確切地應稱為分析程序生成器(Parser Generator),這是因為它們僅僅能夠自動處理編譯的一部分。這些程序中最著名的是Yacc(Yet Another Compiler-compiler),它是由Steve Johnson在1975年為Unix系統編寫的。類似的,有限狀態自動機的研究也發展了一種稱為掃描程序生成器(Scanner Generator)的工具,Lex(與Yacc同時,由Mike Lesk為Unix系統開發)是這其中的佼佼者。
在20世紀70年代後期和80年代早期,大量的項目都貫注於編譯器其它部分的生成自動化,這其中就包括了代碼生成。這些嘗試並未取得多少成功,這大概是因為操作太復雜而人們又對其不甚了解。
編譯器設計最近的發展包括:首先,編譯器包括了更加復雜演算法的應用程序它用於推斷或簡化程序中的信息;這又與更為復雜的程序設計語言的發展結合在一起。其中典型的有用於函數語言編譯的Hindley-Milner類型檢查的統一演算法。其次,編譯器已越來越成為基於窗口的交互開發環境(Interactive Development Environment,IDE)的一部分,它包括了編輯器、連接程序、調試程序以及項目管理程序。這樣的IDE標准並沒有多少,但是對標準的窗口環境進行開發已成為方向。另一方面,盡管在編譯原理領域進行了大量的研究,但是基本的編譯器設計原理在近20年中都沒有多大的改變,它正迅速地成為計算機科學課程中的中心環節。
在20世紀90年代,作為GNU項目或其它開放源代碼項目標一部分,許多免費編譯器和編譯器開發工具被開發出來。這些工具可用來編譯所有的計算機程序語言。它們中的一些項目被認為是高質量的,而且對現代編譯理論感興趣的人可以很容易的得到它們的免費源代碼。
大約在1999年,SGI公布了他們的一個工業化的並行化優化編譯器Pro64的源代碼,後被全世界多個編譯器研究小組用來做研究平台,並命名為Open64。Open64的設計結構好,分析優化全面,是編譯器高級研究的理想平台。
編譯器相關專業術語: 1. compiler編譯器;編譯程序 2. on-line compiler 連線編譯器 3. precompiler 預編譯器 4. serial compiler 串列編譯器 5. system-specific compiler 特殊系統編譯器 6. Information Presentation Facility Compiler 信息展示設施編譯器 7. Compiler Monitor System 編譯器監視系統
Ⅳ 像c++這樣的編程語言是怎麼創造出來的
編程語言的發展是隨著硬體一起發展的,最初沒有當前成熟的101鍵盤前,技術人員是無法用字母輸入命令和語句的,顯然也不存在任何高級語言的。
機械計算機我就不談了,太遙遠,第一台電子計算機是ENIAC是1946年製造的,開始用的是連接線,後來用的是打孔機,以紙帶作為輸入,一根紙帶邊上是齒孔用於步進電機帶動紙帶,類似現在的針式列印機的紙張,當然紙帶比針式列印機紙張窄,編程人員事先寫好二進制指令的編碼和數據,逐一在紙帶上打孔,比如一個指令和數據是8位,如果是1,則打一個孔,如果是0則不打孔,打完一個位元組讓步進電機進一格,打後面一個數據。所有程序代碼和數據打完,將紙帶裝到計算機的讀入設備中並逐一讀入並運行,當時還沒有存儲器,所以執行完如果需要再運算一遍,要復位重新裝紙帶。當然如果程序要改寫就得重新打一卷紙帶。
這就是電子計算機最原始的編程(機械計算機則還要麻煩),後來有了存儲器,還是用紙帶輸入程序,然後可以重復運算,因為輸入的指令和數據都存入存儲器了,不需要再跑一遍(真正意義的跑)。此時程序員編寫的程序都是機器語言,形式就是二進制碼
類似這樣
01010100
11001101
01101010
...
後來人們覺得這樣很麻煩,考慮到一種CPU的指令都是固定,如果有一種簡單容易能幫助記憶符號來代替一串二進制就方便多了,因此設計出了匯編語言,因此匯編指令稱為助記符,比如MOV,ADD,JMP等等。這時候就需要一種新的輸入設備代替打孔機,而且能直接連接在計算機上,之後隨著晶體管的發展,單片機出現,一個按鈕代表一個指令,同時結合數碼鍵(0-9,A-F)輸入16進制數據,讓設備轉成二進制數據,這應該算最早的編譯器了,屬於硬體編譯器。
再之後,人們發現計算機不僅可以處理數據,還可以處理文本,因此有了ASC碼,ASC碼也發展了好幾代,既然可以處理文本,隨著計算機設備的發展,把打字機鍵盤復制過來,擴展單片機的按鈕,這樣計算機鍵盤的雛形出現了,取消了專用匯編指令鍵,而改用程序來翻譯輸入的文本,比如單個匯編指令MOV改用鍵盤輸入這三個字母的文本,由翻譯程序翻譯成二級制碼,這應該是最早的源代碼了,而這個翻譯程序最先當然還是用單片機開發的,而這個翻譯程序就是最早的匯編指令編譯器了。
有了匯編指令編譯器,人們可以直接通過鍵盤輸入匯編指令,由編譯器編譯成二級制碼執行程序,有了匯編編譯器,人們不僅直接用於各種科研運算,而且開發了更高級的語言了,那麼後來各種語言蓬勃發展起來了,在C語言前還有A,B,以及其他高級語言陸續出現,比如1954年的Fortran。
所以你可以看到,技術都是迭代發展的,你只要學習到足夠的知識,可以用任何語言開發你的編譯器,當然這可是件不簡單的任務,同時,所開發的編譯器受你所用的語言限制。
Ⅵ 請問,編譯軟體最早是由誰發明出來的
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.
Ⅶ 最早的pascal編譯器怎麼來的
pascal語言是由瑞士的沃斯教授於1971年提出來的,它的命名是為了紀念法國數學家pascal。
PASCAL語言是系統地體現由戴克斯特拉和霍爾定義的結構化程序設計概念的第一個語言。
Ⅷ 世界上第一個編譯器是用什麼編譯器編譯出來的
最初的語言 就是01代碼
也就是機器語言
是不需要編譯的
第一個編譯器 就是這樣一點點寫出來的,是匯編到二進制的編譯器
所以 第一個編譯器本身不需要編譯,直接運行即可。
Ⅸ 編程需要開發工具,那麼開發工具是怎麼做出來的
一般開發工具簡單理解一般是一個文本編輯器+一個編譯器.
文本編輯器沒什麼好解釋的.window系統自帶的記事本都能寫代碼.
核心部分為編譯器,編譯器為編譯器編譯而成.
術語叫自展技術.
那麼最早的編譯器怎麼來的呢?
1,首先用機器語言或者匯編寫一個最簡單的編譯器.(這就是最早編譯器)
2,然後用這個編譯器寫出更強大的編譯器.
3,用新的編譯器編寫更強大的編譯器.