Ngôn ngữ lập trình (Programming language) là gì?
Ngôn ngữ lập trình là một dạng ngôn ngữ máy tính, được dùng để viết ra phần mềm, tập lệnh hoặc các hướng dẫn cho máy tính làm theo.
Hiện nay có rất nhiều ngôn ngữ lập trình đang được sử dụng. Mặc dù các ngôn ngữ cũng có điểm chung tương đồng nhưng mỗi ngôn ngữ lại có các cú pháp sử dụng riêng. Công việc của các lập trình viên là họ phải học các quy tắc, cú pháp và cấu trúc ngôn ngữ rồi thực hiện viết mã nguồn trong một trình soạn thảo hoặc IDE và biên dịch code thành ngôn ngữ máy để máy tính có thể hiểu được. Các ngôn ngữ script không yêu cầu trình biên dịch mà sử dụng các trình thông dịch để thực thi script.
Xem nhanh thông tin cơ bản về ngôn ngữ lập trình
Các loại ngôn ngữ lập trình
Các ngôn ngữ lập trình có thể được chia thành một số mô hình sau đây. Mỗi ngôn ngữ có thể thuộc nhiều loại.
- Ngôn ngữ Bậc cao (High-level) - Ngôn ngữ Bậc thấp (Low-level)
- Lập trình Khai báo (Declarative) - Lập trình Mệnh lệnh (Imperative) - Lập trình Thủ tục (Procedural)
- Lập trình Đa năng (General-purpose) - Lập trình Chuyên biệt (Domain-specific)
- Lập trình Hướng đối tượng (Object-oriented) - Lập trình Đồng thời (Concurrent)
- Ngôn ngữ Dòng lệnh (Command) - Ngôn ngữ Biên dịch (Compiled) - Ngôn ngữ Thông dịch
Chú ý: Còn rất nhiều mô hình khác có thể được sử dụng để phân loại ngôn ngữ lập trình. Ở đây Quantrimang.com chỉ liệt kê những mô hình phổ biến và nổi bật nhất.
Danh sách ngôn ngữ lập trình máy tính
Ngày nay, có hàng trăm ngôn ngữ lập trình khác nhau. Quantrimang.com xin liệt kê những cái tên nổi bật nhất.
A-C | D-K | L-Q | R-Z |
ActionScript | D | LeLisp | R |
ALGOL | DarkBASIC | Lisp | Racket |
Ada | Dart | LiveScript | Reia |
AIML * | Datalog | LOGO | RPG |
Altair BASIC | dBASE | Lua | Ruby |
Assembly | Dylan | MACLISP | Rust |
AutoHotkey | EuLisp | Matlab | Scala |
Babel | Elixir | Metro | Scheme |
BASIC | F | MUMPS | Scratch |
Batch file | F# | Nim | SGML |
BCPL | FORTRAN | Objective-C | Simula |
BeanShell | FoxPro | OCaml | Smalltalk |
Brooks | Franz Lisp | Pascal | SPL |
C | Go | Perl | SQL |
C# | GW Basic | PHP | Stanford LISP |
C++ | Haskell | Pick | Swift |
CL | HDML * | PureBasic | Tcl |
Clojure | HTML * | Python | Turbo Pascal |
COBOL | InterLisp | Prolog | True BASIC |
CoffeeScript | ksh | QBasic | VHDL |
Common Lisp | Java | Visual Basic | |
CPL | JavaScript | Visual FoxPro | |
CSS * | JCL | WML | |
Curl | Julia | WHTML | |
Curry | Kotlin | XLISP | |
XML | |||
YAML | |||
ZetaLisp |
Lưu ý: Các ngôn ngữ được đánh dấu hoa thị (*) trong danh sách trên không phải là ngôn ngữ lập trình; chúng có thể là ngôn ngữ đánh dấu (markup), ngôn ngữ định kiểu (style sheet) hoặc là ngôn ngữ quản lý cơ sở dữ liệu (database management), nhưng vẫn được liệt kê trong danh sách vì một số trường hợp có thể coi chúng là ngôn ngữ lập trình.
Nhìn danh sách trên, có thể bạn sẽ cảm thấy khá choáng ngợp về sự "đông đảo" của các ngôn ngữ, và thật khó để tìm "nơi tình yêu bắt đầu" nếu bạn là một người đang mong muốn bước chân vào lĩnh vực lập trình máy tính. Vì vậy, hãy tiếp tục theo dõi, Quantrimang sẽ phân loại một số lĩnh vực lập trình khác nhau và các ngôn ngữ sử dụng cho từng lĩnh vực.
Phát triển Ứng dụng và chương trình máy tính
Các ứng dụng và chương trình máy tính là những thứ bạn sử dụng để làm việc, học tập, giải trí hằng ngày. Ví dụ: trình duyệt Internet bạn đang sử dụng để xem trang web này được coi là một chương trình. Nếu quan tâm đến việc phát triển một chương trình, ứng dụng, bạn nên xem xét các ngôn ngữ sau:
- C
- C#
- C++
- D
- Java
- Swift
- Tcl
- Visual Basic
Phát triển Trí tuệ nhân tạo
Lĩnh vực này liên quan đến Trí tuệ nhân tạo, hay hướng tới tạo ra các nhân vật có thể tương tác trong các trò chơi máy tính, các chương trình đưa ra quyết định, chatbot... Nếu bạn quan tâm đến việc phát triển AI và lĩnh vực này, hãy xem xét các ngôn ngữ sau:
- AIML
- C
- C#
- C++
- Prolog
- Python
Phát triển Cơ sở dữ liệu
Dành cho các nhà phát triển, nghiên cứu, duy trì cơ sở dữ liệu. Nếu bạn quan tâm đến cơ sở dữ liệu, hãy xem xét các ngôn ngữ sau đây:
- DBASE
- FoxPro
- MySQL
- SQL
- Visual FoxPro
Phát triển chương trình game
Phát triển trò chơi liên quan đến việc tạo trò chơi trên máy tính hoặc phần mềm giải trí khác. Nếu bạn quan tâm đến việc phát triển trò chơi, nên xem xét các ngôn ngữ sau:
- C
- C#
- C++
- DarkBASIC
- Java
Phát triển Driver máy tính
Nếu bạn quan tâm đến việc phát triển driver hoặc giao diện phần mềm cho các thiết bị phần cứng, bạn nên xem xét các ngôn ngữ sau:
- Assembly
- C
Phát triển website và Internet
Phát triển Internet và trang web là bản chất của Internet. Không có những nhà phát triển, Internet sẽ không tồn tại. Nếu bạn quan tâm đến việc tạo các trang web, ứng dụng Internet hoặc các tác vụ khác liên quan đến Internet, bạn nên xem xét các ngôn ngữ sau:
- HDML
- HTML
- Java
- JavaScript
- Perl
- PHP
- Python
- XML
Phát triển Script
Mặc dù việc nghiên cứu, phát triển script không có khả năng trở thành một nghề nghiệp chính, nhưng nếu bạn biết cách tạo và phát triển các tập lệnh, bạn có thể dễ dàng tăng năng suất cho bản thân và công ty của mình, giúp tiết kiệm vô số thời gian. Nếu bạn quan tâm đến việc phát triển các script, hãy xem xét các ngôn ngữ sau:
- AutoHotkey
- awk
- bash
- Batch file
- Perl
- Python
- Tcl
Có bao nhiêu ngôn ngữ lập trình?
Khi khoa học máy tính ngày một phát triển, rất nhiều ngôn ngữ lập trình được tạo ra để đáp ứng cho từng lĩnh vực khác nhau. Ở đây Quantrimang.com mới chỉ liệt kê được vài chục cái tên, còn đâu đó ngoài kia vẫn còn hàng trăm ngôn ngữ khác chưa được nhắc tới. Bạn có thể truy cập vào Bộ sưu tập Hello World (helloworldcollection.de) để mở rộng tầm mắt với các bản demo về cách viết "Hello World" bằng 591 ngôn ngữ lập trình khác nhau. Cũng rất thú vị đấy!
Ngôn ngữ lập trình nào phổ biến nhất?
Có rất nhiều đáp án khác nhau để trả lời câu hỏi này. Tuy nhiên, phương pháp tốt nhất là dựa vào dữ liệu từ GitHub - dịch vụ lưu trữ hơn 96 triệu dự án phần mềm khác nhau để có kết quả chính xác nhất. Trong biểu đồ dưới đây, GitHub đưa ra 10 cái tên hàng đầu dành cho ngôn ngữ lập trình phổ biến nhất từ năm 2014 đến 2018.
Trong biểu đồ trên, bạn có thể thấy 10 ngôn ngữ hàng đầu là: JavaScript, Java, Python, PHP, C++, C#, TypeScript, Shell, C và Ruby.
Tuy nhiên, nếu bạn đang học lập trình, khuyên bạn nên học ngôn ngữ phù hợp với nhu cầu của bản thân hoặc ngành nghề của mình thay vì chọn những ngôn ngữ phổ biến nhất! Hãy có những lựa chọn thông minh cho tương lai của mình!
Chúc bạn học lập trình thật vui!