Ngôn ngữ biên dịch

Ngôn ngữ biên dịch (tiếng Anh: compiled language) là ngôn ngữ lập trình có triển khai thường là trình biên dịch (bộ dịch tạo ra mã máy từ mã nguồn), chứ không phải trình thông dịch (bộ thực thi mã nguồn từng bước mà không cần dịch trước thời gian chạy).

Thuật ngữ này có vẻ mơ hồ. Về nguyên tắc, bất kỳ ngôn ngữ nào có thể được triển khai với trình biên dịch hay với trình thông dịch. Một sự kết hợp của cả hai giải pháp cũng rất phổ biến: trình biên dịch có thể dịch mã nguồn sang một số mã trung gian (thường được gọi là p-code hay bytecode), sau đó được chuyển đến trình thông dịch để thực thi nó.

Ưu điểm và nhược điểm

Chương trình được biên dịch thành mã gốc (native code) vào thời điểm biên dịch có xu hướng chạy nhanh hơn so với chương trình được dịch khi chạy, bởi chi phí của quá trình dịch.

Ngôn ngữ
Một số ngôn ngữ thường được coi là được biên dịch:

Ada
ALGOL
ALGOL 60
ALGOL 68
SMALL
BASIC
Visual Basic
PureBasic
C
C++
Objective-C
Swift
D
C# (to bytecode)
Java (to bytecode)
CLEO
COBOL
Cobra
Crystal
 eC
Eiffel
Sather
Ubercode
Erlang (to bytecode)
F# (to bytecode)
Factor (later versions)
Forth
Fortran
Go
Haskell
Haxe (to bytecode or C++)
JOVIAL
Julia
LabVIEW, G
Lisp
Common Lisp
Lush
Mercury
ML
Standard ML
Alice
OCaml
Nim (to C, C++, or Objective-C)
Open-URQ
Pascal
Object Pascal
Delphi
Modula-2
Modula-3
Oberon
PL/I
RPG
Rust
Seed7
SPITBOL
Visual Foxpro
Visual Prolog
W

Công cụ
ANTLR
CodeWorker
Lex
Flex
GNU bison
Yacc

Xem thêm
Trình biên dịch
Danh sách ngôn ngữ biên dịch
Trình thông dịch
Ngôn ngữ thông dịch

Tham khảo

Liên kết ngoài
 

Hệ thống phân loại ngôn ngữ lập trình