編譯語言(英語:Compiled language)是一種程式語言類型,通過編譯器來實作。它不像直譯語言一樣,由直譯器將程式碼一句一句執行,而是以編譯器,先將程式碼編譯為機械碼,再加以執行。理論上,任何程式語言都可以是編譯式,或直譯式的。它們之間的區別,僅與程式的應用有關。
優點與缺點
一般而言,用編譯語言寫成的程式,在執行期的執行速度,通常比用直譯語言寫的程式快。因為程式在編譯期,已經被預先編譯成機械碼,可以直接執行,不用像直譯語言一樣,還要多一道直譯程式。
但是要先進行編譯,之後才能執行程式,這也造成了編譯語言的缺點。一般而言,編譯語言的程式開發速度,以及除錯時間,都是比較長的。因為它不像直譯語言可以寫完一行,或一小段程式之後,馬上執行,馬上除錯。直譯語言通常讓程式開發的整體時間變少,在開發過程中,程式師也可以更彈性、快速的測試自己的想法。
為了改善編譯語言的效率而發展出的即時編譯技術,已經縮小了這兩種語言間的差距。這種技術混合了編譯語言與直譯語言的優點,它像編譯語言一樣,先把程式原始碼編譯成位元組碼。到執行期時,再將位元組碼直譯,之後執行。Java與LLVM是這種技術的代表產物。
編譯語言列表
- Ada
- ALGOL
- BASIC
- PowerBasic
- Visual Basic(轉位元組碼)
- PureBasic
- C
- C++
- C♯(轉位元組碼)
- Carbon
- CLEO
- COBOL
- Cobra
- Crystal
- D
- eC
- Eiffel
- Sather
- Ubercode
- Erlang(轉位元組碼)
- F♯(轉位元組碼)
- Factor(後期版本)
- Forth
- Fortran
- Go
- Haskell
- Haxe (轉位元組碼或C++)
- Java(轉位元組碼)
- Clojure[1]
- Scala
- Kotlin
- JOVIAL
- Julia (through JIT)
- LabVIEW, G
- LISP
- Mercury
- ML
- Standard ML
- Alice
- OCaml
- Standard ML
- Nim(轉C、C++或Objective-C)
- Pascal
- Object Pascal
- Delphi
- Free Pascal / Lazarus
- Modula-2
- Modula-3
- Oberon
- Object Pascal
- Objective-C
- PL/I
- RPG
- Rust
- Seed7
- SPITBOL
- Swift
- Vala
- Visual Foxpro
- Visual Prolog
- W
- Zig
相關條目
參考資料
Wikiwand in your browser!
Seamless Wikipedia browsing. On steroids.
Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.
Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.