Danh sách ngôn ngữ lập trình theo loại

Đâ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 hợp, một ngôn ngữ sẽ được liệt kê dưới nhiều tiêu đề.

## Ngôn ngữ mảng

Ngôn ngữ lập trình mảng, còn được gọi là *vector* hay *đa chiều* (*multidimensional*) tổng quát hóa các hoạt động trên vô hướng (scalar) để áp dụng trong suốt cho vector, ma trận, và mảng đa chiều.

* A+
* Analytica
* APL
* Chapel
* Fortran 90
* Freemat
* GAUSS
* IDL
* J
* Julia
* K
* MATLAB
* Octave

* Q
* R
* S
* S-Lang
* SequenceL
* Wolfram Language
* X10
* ZPL

## Hợp ngữ

Hợp ngữ giao tiếp trực tiếp với ngôn ngữ máy nên các lệnh mã máy xuất hiện dưới dạng dễ hiểu bởi con người. Hợp ngữ cho phép lập trình viên sử dụng các địa chỉ ký hiệu, mà trình hợp dịch (assembler) chuyển đổi thành địa chỉ tuyệt đối. Hầu hết các trình hợp dịch đều hỗ trợ macro và hằng số ký hiệu.

## Ngôn ngữ trứ tác

Ngôn ngữ trứ tác là một loại ngôn ngữ lập trình được sử dụng để tạo hướng dẫn, trang web, và các chương trình máy tính tương tác khác.

* DITA
* Lasso
* PILOT
* TUTOR

## Ngôn ngữ lập trình ràng buộc

Ngôn ngữ lập trình ràng buộc là một ngôn ngữ lập trình khai báo trong đó mối quan hệ giữa các biến được thể hiện dưới dạng ràng buộc. Việc thực thi được tiến hành bằng cách cố gắng tìm ra các giá trị cho các biến thỏa mãn ràng buộc đã khai báo.

## Ngôn ngữ giao diện dòng lệnh
Ngôn ngữ Giao diện dòng lệnh (CLI), còn được gọi là ngôn ngữ batch (batch language) hoặc ngôn ngữ kiểm soát công việc. Ví dụ:

* 4DOS (shell dòng lệnh mở rộng cho IBM PC)
* bash (viết tắt của *Bourne-Again shell* từ GNU/FSF)
* CLIST (MVS Command List)
* CMS EXEC
* csh và tcsh (shell giống như C từ Bill Joy tại UC Berkeley)
* DCL DIGITAL Command Language – ngôn ngữ CLI tiêu chuẩn cho VMS (DEC, Compaq, HP)
* Ngôn ngữ batch DOS (ngôn ngữ CLI/batch tiêu chuẩn cho IBM PC chạy hệ điều hành DOS, phổ biến trước Windows)
* EXEC 2
* Expect (công cụ kiểm tra và tự động hóa cho Unix)
* fish (một shell của Unix)
* Hamilton C shell (một shell C cho Windows)
* JCL (ngôn ngữ điều khiển batch hướng thẻ bấm lỗ cho máy trạm gia đình IBM System/360)
* ksh (shell tiêu chuẩn Unix, được viết bởi David Korn)
* Rc (shell dòng lệnh cho Plan 9)
* REXX
* sh (shell tiêu chuẩn của Unix, được viết bởi Stephen R. Bourne)
* TACL (Tandem Advanced Command Language)
* Ngôn ngữ batch Windows (Ngôn ngữ batch Windows theo cách hiểu của COMMAND.COM và CMD.EXE)
* Windows PowerShell (CLI dựa trên Microsoft .NET)
* zsh (một shell Unix)

## Ngôn ngữ biên dịch
Đây là những ngôn ngữ thường được xử lý bởi trình biên dịch, mặc dù về mặt lý thuyết, bất kỳ ngôn ngữ nào cũng có thể được biên dịch hoặc thông dịch. See also compiled language.

* ActionScript
* Ada (ngôn ngữ đa dụng)
* ALGOL (thiết kế ngôn ngữ cực kỳ có ảnh hưởng – trình biên dịch ngôn ngữ cấp cao thứ hai)
** SMALL Machine Algol Like Language
* Ballerina (được biên dịch thành bytecode cụ thể cho Ballerina Runtime (BVM))
* BASIC (some dialects, including the first version of Dartmouth BASIC)
* BCPL
* C (một trong những ngôn ngữ lập trình thủ tục được sử dụng rộng rãi nhất)
* C++ (Ngôn ngữ hướng đối tượng được sử dụng rộng rãi được sử dụng trong phần mềm hiệu suất cao, quy mô lớn, phức tạp)
* C# (được biên dịch thành CIL, sinh ra ảnh gốc khi chạy)
* Ceylon (được biên dịch thành bytecode JVM)
* CHILL
* CLIPPER 5.3 (Ngôn ngữ lập trình cho phần mềm dựa trên DOS)
* CLEO (Clear Language for Expressing Orders) cho máy tính Leo của Anh
* COBOL
* Cobra
* Common Lisp
* Crystal
* Curl
* D (dựa trên việc tái cấu trúc C++)
* DASL được biên dịch thành Java, JavaScript, JSP, Flex... dưới dạng tập tin .war
* Delphi (hệ thống phát triển Object Pascal của Borland)
* DIBOL (Digital Interactive Business Oriented Language)
* Dylan
* eC
* Eiffel (ngô ngữ lập trình hướng đối tượng được phát triển bởi Bertrand Meyer)
** Sather
** Ubercode
* Elm
* Emacs Lisp
* Erlang
* F# (được biên dịch thành CIL, để sinh ra ảnh thời gian chạy
* Factor
* Forth (hệ thống chuyên nghiệp, như VFX và SwiftForth)
* Fortran (ngôn ngữ biên dịch, cấp cao đầu tiên từ John Backus của IBM)
* GAUSS
* Go
* Gosu (được biên dịch thành bytecode JVM)
* Groovy (được biên dịch thành bytecode JVM)
* Haskell
* Harbour
* Java (thường được biên dịch thành bytecode JVM mặc dù vẫn có trình biên dịch ahead-of-time (AOT) để biên dịch thành mã máy)
* JOVIAL
* LabVIEW
* Mercury
* Mesa
* Nemerle (được biên dịch thành bytecode ngôn ngữ trung gian)
* Nim
* Objective-C
* P
* Pascal (được hiện thực nhiều nhất)
* PL/I (ngôn ngữ đa dụng lớn nhất, ban đầu dành cho máy trạm của IBM)
* Plus
* Python (được biên dịch thành bytecode trung gian máy ảo)
* RPG (Report Program Generator)
* Rust
* Scala (được biên dịch thành bytecode JVM)
* Scheme (một số hiện thực như Gambit)
* SequenceL – hàm thuần túy, song song tự động và race-free
* Simula (ngôn ngữ hướng đối tượng đầu tiên, được phát triển bởi Ole-Johan Dahl và Kristen Nygaard)
* Smalltalk thường được biên dịch sang bytecode độc lập  nền tảng để chạy trên máy ảo
* Swift
* ML
** Standard ML (SML)
*** Alice
** OCaml
* Turing
* Vala (Trình biên dịch cho hệ thống kiểu GObject)
* Visual Basic (Sử dụng CIL là JIT được biên dịch thành runtime gốc.)
* Visual FoxPro
* Visual Prolog
* Xojo

## Lập trình tương tranh

## Ngôn ngữ dựa trên XML
Đây là những ngôn ngữ dựa trên hoặc hoạt động trên XML. 

* Ant
* Cω
* ECMAScript for XML
* MXML
* LZX
* XAML
* XPath
* XQuery
* XProc
* XSLT

## Xem thêm
* Mẫu hình lập trình
* IEC 61131-3 – một tiêu chuẩn cho ngôn ngữ lập trình PLC
* Ngôn ngữ lập trình giáo dục
* Ngôn ngữ lập trình esoteric

## Ghi chú

## Tham khảo