✨Ngôn ngữ biên dịch

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

👁️ 1 | 🔗 | 💖 | ✨ | 🌍 | ⌚
**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
phải|Biểu đồ hoạt động của một trình biên dịch lý tưởng. **Trình biên dịch** () hay **phần mềm biên dịch** là một chương trình máy tính làm công việc dịch một chuỗi các câu lệnh
Đây là danh sách các ngôn ngữ lập trình đáng chú ý, được nhóm theo loại. Vì không có sơ đồ phân loại bao quát cho các ngôn ngữ lập trình, nên trong nhiều trường
**Java** (phiên âm Tiếng Việt: "_Gia-va_") là một ngôn ngữ lập trình hướng đối tượng, dựa trên lớp được thiết kế để có càng ít phụ thuộc thực thi càng tốt. Nó là ngôn ngữ
**D** là một ngôn ngữ lập trình hệ thống hướng đối tượng, dùng câu lệnh, đa mẫu hình do Walter Bright của Digital Mars tạo ra và phát hành năm 2001. Quá trình thiết kế
**Ngôn ngữ LGBT** là môn nghiên cứu từ ngữ của cộng đồng LGBT. Các thuật ngữ liên quan hoặc đồng nghĩa phát triển bởi William Leap vào những năm 1990, bao gồm **ngôn ngữ màu
**Ngôn ngữ** là một hệ thống giao tiếp có cấu trúc được sử dụng bởi con người. Cấu trúc của ngôn ngữ được gọi là ngữ pháp, còn các thành phần tự do của nó
nhỏ|Tấm biển tại [[Ung Hòa cung tại Bắc Kinh, Trung Quốc, từ phải sang trái viết bằng tiếng Mãn, tiếng Hán, tiếng Tạng, tiếng Mông Cổ.]] nhỏ|phải|Biểu trưng của chính quyền Liên bang [[Thụy Sĩ,
**Nhập nhằng** trong ngôn ngữ học là hiện tượng thường gặp, trong giao tiếp hàng ngày con người ít để ý đến nó bởi vì họ xử lý tốt hiện tượng này. Nhưng trong các
**Một ngôn ngữ có nguy cơ tuyệt chủng**, hoặc **ngôn ngữ moribund**, là một ngôn ngữ có nguy cơ bị mất sử dụng khi người nói của nó chết hoặc chuyển sang nói một ngôn
**Pascal** là một ngôn ngữ lập trình cho máy tính thuộc dạng mệnh lệnh và thủ tục, được Niklaus Wirth phát triển vào năm 1970. Pascal là ngôn ngữ lập trình đặc biệt thích hợp
phải|nhỏ|402x402px|[[Mã nguồn của một chương trình máy tính đơn giản được viết bằng ngôn ngữ lập trình C. Khi được biên dịch và chạy, nó sẽ cho kết quả "Hello, world!".]] **Ngôn ngữ lập trình**
**C** là một ngôn ngữ mệnh lệnh được phát triển từ đầu thập niên 1970 bởi Dennis Ritchie để dùng trong hệ điều hành UNIX. Từ đó, ngôn ngữ này đã lan rộng ra nhiều
nhỏ|Cbmain Trong khoa học máy tính, một **ngôn ngữ lập trình bậc cao** (tiếng Anh: _high-level programming language_) là một ngôn ngữ lập trình có sự trừu tượng hóa mạnh mẽ khỏi các chi tiết
**C#** (**C Sharp**, đọc là _"xi-sáp"_) là một ngôn ngữ lập trình hướng đối tượng đa năng, mạnh mẽ được phát triển bởi Microsoft, C# là phần khởi đầu cho kế hoạch .NET của họ.
**Python** () là ngôn ngữ lập trình bậc cao đa năng. Triết lý thiết kế của nó nhấn mạnh khả năng đọc mã bằng cách sử dụng thụt lề đáng kể. Python có kiểu động
**Cú pháp ngôn ngữ (lập trình) C** là tập hợp các quy tắc nhằm xác định cách thức để viết và dịch trong ngôn ngữ lập trình C. :Thí dụ:
 // Dòng này sẽ
nhỏ|Mô hình ngôn ngữ máy được lập nên bởi nhà toán học, nhà thủy văn và lập trình viên Vladimir Mikhailovich Kazakov, nhân viên Máy tính của Viện Energosetproekt năm 1962-1972. **Ngôn ngữ máy** (còn
**Ngôn ngữ trung gian chung **hoặc **Ngôn ngữ trung gian dùng chung** (**Common Intermediate Language - CLI**), là ngôn ngữ lập trình có thể đọc được của con người ở mức thấp nhất được xác
Trong lập trình máy tính, một **triển khai của ngôn ngữ lập trình** là một hệ thống để thực thi chương trình máy tính. Có hai cách tiếp cận chung để triển khai một ngôn
**Ruby** là một ngôn ngữ lập trình hướng đối tượng, có khả năng phản ứng. Theo tác giả, Ruby chịu ảnh hưởng bởi Perl, Smalltalk, Eiffel, Ada và Lisp. Ruby cung cấp nhiều mẫu hình
thumb|**[[Phép tính lambda** là một hệ thống hình thức để định nghĩa hàm, ứng dụng hàm và đệ quy được Alonzo Church đề xuất vào những năm 193x.]] **Lý thuyết ngôn ngữ lập trình** (thường
**Dịch tự động** hay còn gọi là **dịch máy** (tiếng Anh: _machine translation_) là một nhánh của xử lý ngôn ngữ tự nhiên thuộc phân ngành trí tuệ nhân tạo, nó là sự kết hợp
phải|Bản đồ ngôn ngữ của châu Âu (đơn giản hóa). **Ngôn ngữ học châu Âu** là ngành ngôn ngữ học khá mới mẻ, nghiên cứu về các ngôn ngữ tại châu Âu. Tuy nhiên, ở
_Tiền đề trong việc xây dựng lý thuyết Automata là ngôn ngữ hình thức_ Trong toán học và khoa học máy tính, một **ngôn ngữ hình thức** (_formal language_) được định nghĩa là một tập
**Kotlin** là một ngôn ngữ lập trình kiểu tĩnh chạy trên máy ảo Java (JVM) và có thể được biên dịch sang mã nguồn Java hay sử dụng cơ sở hạ tầng trình biên dịch
**Ngôn ngữ học** hay **ngữ lý học** là bộ môn nghiên cứu về ngôn ngữ. Người nghiên cứu bộ môn này được gọi là nhà ngôn ngữ học. Nói theo nghĩa rộng, nó bao gồm
thumb|thumbtime=5|_Preservation of the Sign Language_ (1913) nhỏ|Juan Pablo Bonet, _Reducción de las letras y arte para enseñar a hablar a los mudos_ (Madrid, 1620). **Ngôn ngữ ký hiệu** hay **ngôn ngữ dấu hiệu**, **thủ ngữ**
**Go** là một ngôn ngữ lập trình mới do Google thiết kế và phát triển. Nó được kỳ vọng sẽ giúp ngành công nghiệp phần mềm khai thác tối đa nền tảng đa lõi của
**Ngôn ngữ của cộng đồng Hoa** **kiều** ở nước ngoài ảnh hưởng bởi rất nhiều yếu tố, bao gồm tổ tiên, xuất xứ, sự đồng hóa qua nhiều thế hệ, và các chính sách chính
Trung Quốc có tới hàng trăm ngôn ngữ khác nhau. Ngôn ngữ chủ yếu là tiếng Hán tiêu chuẩn, dựa trên tiếng Quan Thoại là trung tâm, nhưng tiếng Trung Quốc có hàng trăm ngôn
nhỏ|Giao tiếp phi ngôn ngữ giữa hai người tại [[Tây An, Trung Quốc.]] **Giao tiếp phi ngôn ngữ** giữa con người là sự giao tiếp bằng cách gửi và nhận những tín hiệu phi ngôn
thumb|Các ngôn ngữ ở Hồng Kông Luật Cơ bản của Hồng Kông quy định tiếng Anh và tiếng Trung là hai ngôn ngữ chính thức của Hồng Kông. Trong thời kỳ thuộc địa của Anh,
Trong khoa học máy tính, **ngôn ngữ máy tính** là hệ thống giao tiếp với máy tính. Các ngôn ngữ như vậy được sử dụng để tạo **mã máy tính** hoặc **mã** **chương trình**, tập
**Ada** là ngôn ngữ lập trình xuất xứ từ Bộ quốc phòng Mỹ vào khoảng nửa đầu thập niên 80 của thế kỷ 20. Ngôn ngữ này được đặt tên theo Ada Augusta nữ bá
[[Tập tin:SQL data types.png|nhỏ|Các kiểu dữ liệu trong ngôn ngữ SQL, một trong những ngôn ngữ truy vấn phổ biến nhất với các lập trình viên. ]] **_Ngôn ngữ truy vấn_** () là tên gọi
**Xử lý ngôn ngữ tự nhiên** (_natural language processing_ - NLP) là một nhánh của trí tuệ nhân tạo tập trung vào các ứng dụng trên ngôn ngữ của con người. Trong trí tuệ nhân
thumb|right|Hai người phụ nữ nói chuyện với nhau. Chú ý người phụ nữ mặc áo xanh khép một cánh tay co sát cơ thể, trong khi người kia sử dụng tay mình để biểu thị,
**Ngôn ngữ thứ hai** của một người (thường viết tắt là **L2** theo tiếng Anh: _Second language_) là ngôn ngữ không phải là tiếng mẹ đẻ (ngôn ngữ thứ nhất hoặc L1) của người nói,
**R** là một ngôn ngữ lập trình và môi trường phần mềm dành cho tính toán và đồ họa thống kê. Đây là một bản hiện thực ngôn ngữ lập trình S với ngữ nghĩa
**Nhóm ngôn ngữ Đài Loan** hay **nhóm ngôn ngữ Formosa** là một nhóm gồm những ngôn ngữ của thổ dân Đài Loan. Thổ dân Đài Loan chiếm khoảng 2,3% dân số toàn đảo Đài Loan.
**N****gôn ngữ toán học** là hệ thống ngôn ngữ được sử dụng bởi các nhà toán học để truyền đạt ý tưởng toán học với nhau. Ngôn ngữ này bao gồm một nền tảng từ
**Nhóm ngôn ngữ Pamir** là một nhóm mang tính địa lý-dân tộc trong nhóm ngôn ngữ Đông Iran, nói bởi người dân tại dãy núi Pamir, chủ yếu dọc theo sông Panj và các chi
**Sinh ngôn ngữ tự nhiên** (hay còn gọi là **sản sinh ngôn ngữ tự nhiên**, **tạo sinh ngôn ngữ tự nhiên**, **phát sinh ngôn ngữ tự nhiên**, tiếng Anh: **natural-language generation**, viết tắt **NLG**) là
Một **ngôn ngữ phụ trợ quốc tế** (trong tiếng Anh đôi khi được viết tắt là **IAL** hoặc **auxlang**) hoặc **interl Language** là một ngôn ngữ có nghĩa là để giao tiếp giữa những người
**Ngôn ngữ tại Phần Lan** bao gồm hai ngôn ngữ chính thức (tiếng Phần Lan và tiếng Thụy Điển) cùng với một vài ngôn ngữ thiểu số như tiếng Sami, tiếng Di-gan, tiếng Karelia và
**Dylan** là một ngôn ngữ lập trình đa mẫu hình có hỗ trợ hàm, lập trình hướng đối tượng (OOP), động và phục hồi trong khi cung cấp một mô hình lập trình được thiết
phải|nhỏ|371x371px|Một trang từ [[Geniza|Cairo Geniza, một phần trong đó được viết bằng ngôn ngữ Ả Rập Do Thái]] **Nhóm ngôn ngữ Ả Rập Do Thái** (; ע) là một cụm phương ngữ tiếng Ả Rập
**Scala** ( ) là một ngôn ngữ lập trình đa mẫu hình, được thiết kế để tích hợp các tính năng của lập trình hướng đối tượng với lập trình hàm Nó cũng có thể
**Olympic Ngôn ngữ học Quốc tế** (tiếng Nga: **Международна олимпиада по лингвистика**, tiếng Anh: **International Linguistics Olympiad**, viết tắt: **IOL** (tên chính thức, chú ý không phải là _ILO_)) là một trong những kỳ thi