編譯器與直譯器

更新於 發佈於 閱讀時間約 3 分鐘
前言
如果你只是來尋求編譯器跟直譯器的解答的話,可以直接套過前言,話說,我除了是一個準備多益的人,還是一個就讀電子系的學生,在念工科的期間發現有的觀念其實只要理解就會直接在腦海扎根,而終於吃完兩天中秋烤肉的我決定要來補圖就可以發出之前寫好的稿子了!
為甚麼需要編譯器、直譯器:
在電腦的世界裡,01是他們主要的語言,這邊稱為電腦語言,而我們所打的程式碼是方便我們去寫出功能的語言,這邊稱為程式語言,當我們完成程式碼想給電腦執行,但因為電腦只知道電腦語言看不懂程式語言而需要翻譯,這個翻譯官就叫做編譯器、直譯器。
編譯器 vs. 直譯器:
這兩者都是我們與電腦之間的翻譯官,它們的差別如下:
編譯器 - 寫完程式碼後,全部一起翻譯,翻譯完後才能執行。
直譯器 - 寫完程式碼後,每翻譯一行程式就立刻執行這一行程式,然後繼續翻譯下一行再執行。
可以注意的是因為編譯是一次翻譯好再執行,直譯是邊翻譯邊執行,因此論執行時間採用直譯的程式速度比採用編譯的程式速度較慢,但是編譯程度也有缺點除錯的時間可能較久,因為寫好一段程式碼必須全部再翻譯一次執行才會知道錯在哪。
不同的程式語言擁有不同的方式,C、C++是使用編譯器,JavaScript、Python使用直譯器。
衍生
在編譯與直譯都有優缺點的情況下,發展出即時編譯的技術,第一個採用編譯語言的特性會先將全部程式碼翻譯成中介碼,第二個採用直譯語言特性到執行期再將中介碼直譯後再執行,使用該方式的程式有Java。
複習問題
(1) 解釋編譯與直譯的最主要差別與代表程式
(2) 為甚麼我們需要編譯器或直譯器
(3) 在執行期間需要較多時間的為採用編譯器語言還是直譯器語言,原因為何?
參考資料
PC icon <div>Icons made by <a href="https://www.flaticon.com/authors/smashicons" title="Smashicons">Smashicons</a> from <a href="https://www.flaticon.com/" title="Flaticon">www.flaticon.com</a></div>
person icon <div>Icons made by <a href="https://www.freepik.com" title="Freepik">Freepik</a> from <a href="https://www.flaticon.com/" title="Flaticon">www.flaticon.com</a></div>
為什麼會看到廣告
avatar-img
10會員
17內容數
關於多益的單字整理、記憶方法、心路歷程、英文的基礎概念。
留言0
查看全部
avatar-img
發表第一個留言支持創作者!
薰魚的沙龍 的其他內容
物件導向的概念,以python程式為範例。
用python寫出應用筆電相機儲存照片。
物件導向的概念,以python程式為範例。
用python寫出應用筆電相機儲存照片。
你可能也想看
Google News 追蹤
Thumbnail
改稿真的不是一件需要太多情緒的事,把錯的挑出來、改掉,就這麼簡單!很少有什麼「大錯」需要去爭執誰對誰錯。不過真的滿多時候鬼遮眼或是偶爾真的會發生某種「明明前一版是對的,這一版居然是錯的」的鬼故事,把問題找出來解決就好!
“所有人寫的程式會變成指令 每一道指令是由CPU執行 而CPU所能理解的指令類型有限”
機器其實不是像人類這樣一的單字對應一個單字去翻譯, 而是使用「編碼器 Encoder」與「解碼器 Decoder」來做語言之間的翻譯。 其中編碼器的任務,是「閱讀 Read」與「處理 Process」完整的文本, 而解碼器的任務,則是「產生 Produced」翻譯過後的文本。
據我的觀察,一個有強烈企圖心又有組稿和撰稿能力的編輯,在離開出版社以後,他們多半會嚐試編纂或編譯工作,以此克服眼高手低的困境。與此同時,如果真能實現意到筆到如意所至的話,那麼這位編書高手其實力已不遜於普通的作家了。   毋需贅言,這種說法只是普通常識,不過,我知道好鬥和投機者仍要提出反駁的。文友
Thumbnail
可以的話,把「編輯」視為一個「統籌」的職務!你會要把關一本書從文字、圖檔、編排、印刷所有的細節,你要有能力統籌你所需要有人協助你一起完成的事!在那之前,除了「文字能力」外,請強化你所有在這個專業上的能力,那會使你工作、做書更有趣!
Thumbnail
電腦只做一件事情: 運算。 我們所看到的任何酷酷的應用: 不論是網頁動畫、遊戲特效、甚至是 AI 說的話,全部都 是由電腦的運算結果組合而成的。 首先我們來梳理一下各個名詞之間的關聯: 1. 運算分成兩個部分: 運算子 (運算的名稱,如: 加法) 和運算元 (運算的對象,如: 8)。運算就是對資
Thumbnail
編輯,真的不是只要看得懂字就可以當滴!
對於程序式編程來說,程式是由一系列的指令組成,例如計算數值、印出訊息、修改變數、呼叫子程序、配置變數的記憶體空間等。定義函式是為了讓一些程序可以重複利用,因此稱為子程序,其中參數為子程序中特別的變數,讓我們能夠透過它們控制子程序的行為。函式的回傳值只是一種方便將結果帶回來的方法,但一般只能回傳一個值
Thumbnail
改稿真的不是一件需要太多情緒的事,把錯的挑出來、改掉,就這麼簡單!很少有什麼「大錯」需要去爭執誰對誰錯。不過真的滿多時候鬼遮眼或是偶爾真的會發生某種「明明前一版是對的,這一版居然是錯的」的鬼故事,把問題找出來解決就好!
“所有人寫的程式會變成指令 每一道指令是由CPU執行 而CPU所能理解的指令類型有限”
機器其實不是像人類這樣一的單字對應一個單字去翻譯, 而是使用「編碼器 Encoder」與「解碼器 Decoder」來做語言之間的翻譯。 其中編碼器的任務,是「閱讀 Read」與「處理 Process」完整的文本, 而解碼器的任務,則是「產生 Produced」翻譯過後的文本。
據我的觀察,一個有強烈企圖心又有組稿和撰稿能力的編輯,在離開出版社以後,他們多半會嚐試編纂或編譯工作,以此克服眼高手低的困境。與此同時,如果真能實現意到筆到如意所至的話,那麼這位編書高手其實力已不遜於普通的作家了。   毋需贅言,這種說法只是普通常識,不過,我知道好鬥和投機者仍要提出反駁的。文友
Thumbnail
可以的話,把「編輯」視為一個「統籌」的職務!你會要把關一本書從文字、圖檔、編排、印刷所有的細節,你要有能力統籌你所需要有人協助你一起完成的事!在那之前,除了「文字能力」外,請強化你所有在這個專業上的能力,那會使你工作、做書更有趣!
Thumbnail
電腦只做一件事情: 運算。 我們所看到的任何酷酷的應用: 不論是網頁動畫、遊戲特效、甚至是 AI 說的話,全部都 是由電腦的運算結果組合而成的。 首先我們來梳理一下各個名詞之間的關聯: 1. 運算分成兩個部分: 運算子 (運算的名稱,如: 加法) 和運算元 (運算的對象,如: 8)。運算就是對資
Thumbnail
編輯,真的不是只要看得懂字就可以當滴!
對於程序式編程來說,程式是由一系列的指令組成,例如計算數值、印出訊息、修改變數、呼叫子程序、配置變數的記憶體空間等。定義函式是為了讓一些程序可以重複利用,因此稱為子程序,其中參數為子程序中特別的變數,讓我們能夠透過它們控制子程序的行為。函式的回傳值只是一種方便將結果帶回來的方法,但一般只能回傳一個值