編譯語言
![本页使用了标题或全文手工转换](http://images.weserv.nl/?url=//upload.wikimedia.org/wikipedia/commons/thumb/c/cd/Zh_conversion_icon_m.svg/35px-Zh_conversion_icon_m.svg.png)
(重定向自编译型语言)
![](http://images.weserv.nl/?url=//upload.wikimedia.org/wikipedia/commons/thumb/c/c1/Anidados.jpg/220px-Anidados.jpg)
![](http://images.weserv.nl/?url=//upload.wikimedia.org/wikipedia/commons/thumb/7/7d/%22Image04%22.png/220px-%22Image04%22.png)
編譯語言(英語:Compiled language)是一種程式語言类型,通过編譯器來實作。它不像直譯語言一樣,由直譯器將程式碼一句一句執行,而是以編譯器,先將程式碼編譯為機器碼,再加以執行。理論上,任何程式語言都可以是編譯式,或直譯式的。它們之間的區別,僅與程式的應用有關。
優點與缺點
一般而言,用編譯語言寫成的程式,在執行期的執行速度,通常比用直譯語言寫的程式快。因為程式在編譯期,已經被預先編譯成機器碼,可以直接執行,不用像直譯語言一樣,還要多一道直譯程序。
但是要先進行編譯,之後才能執行程式,這也造成了編譯語言的缺點。一般而言,編譯語言的程式開發速度,以及除錯時間,都是比較長的。因為它不像直譯語言可以寫完一行,或一小段程式之後,馬上執行,馬上除錯。直譯語言通常讓程式開發的整體時間變少,在開發過程中,程式師也可以更彈性、快速的測試自己的想法。
為了改善編譯語言的效率而發展出的即時編譯技術,已經縮小了這兩種語言間的差距。這種技術混合了編譯語言與直譯語言的優點,它像編譯語言一樣,先把程式原始碼編譯成字節碼。到執行期時,再將字節碼直譯,之後執行。Java與LLVM是這種技術的代表產物。
編譯語言列表
- Ada
- ALGOL
- BASIC
- C
- C++
- C♯(轉位元組碼)
- Carbon
- CLEO
- COBOL
- Cobra
- Crystal
- D
- eC
- Eiffel
- Erlang(轉位元組碼)
- F♯(轉位元組碼)
- Factor(後期版本)
- Forth
- Fortran
- Go
- Haskell
- Haxe (轉位元組碼或C++)
- Java(轉位元組碼)
- JOVIAL
- Julia (through JIT)
- LabVIEW, G
- LISP
- Mercury
- ML
- Nim(轉C、C++或Objective-C)
- Pascal
- Objective-C
- PL/I
- RPG
- Rust
- Seed7
- SPITBOL
- Swift
- Vala
- Visual Foxpro
- Visual Prolog
- W
- Zig
相關條目
參考資料
- ^ Hickey, Rich. "Clojure is a compiled language",存取於2020-11-11.
|
![]() | 这是一篇關於電腦程式語言的小作品。您可以通过编辑或修订扩充其内容。 |