Lập trình khai báo

Trong khoa học máy tính, lập trình khai báo (tiếng Anh: declarative programming) là một mẫu hình lập trình theo phong cách xây dựng cấu trúc và các yếu tố của chương trình máy tính để thể hiện tính logic của sự tính toán mà không mô tả luồng điều khiển của nó.[1]

Hầu hết các ngôn ngữ áp dụng kiểu này cố gắng giảm thiểu hoặc loại bỏ hiệu ứng lề bằng cách mô tả những gì chương trình phải hoàn thành về mặt miền vấn đề (problem domain), thay vì mô tả cách hoàn thành nó như thế nào như một chuỗi các thành phần cơ bản của ngôn ngữ lập trình[2] (còn như thế nào thì tùy thuộc vào hiện thực của ngôn ngữ). Điều này ngược với lập trình mệnh lệnh vốn hiện thực các giải thuật theo từng bước rõ ràng.

Lập trình khai báo thường xem chương trình như là lý thuyết của một logic hình thức, và tính toán như là suy luận trong không gian logic đó. Lập trình khai báo có thể giúp đơn giản hóa rất nhiều cho việc viết chương trình song song.[3]

Ngôn ngữ khai báo phổ biến bao gồm các ngôn ngữ truy vấn cơ sở dữ liệu (như SQL, XQuery), biểu thức chính quy, lập trình logic, lập trình hàm, và hệ thống quản lý cấu hình.

Định nghĩa

[sửa | sửa mã nguồn]

Lập trình khai báo thường được định nghĩa như kiểu lập trình không phải mệnh lệnh.

Mẫu hình con

[sửa | sửa mã nguồn]

Lập trình khai báo là một thuật ngữ chung (umbrella term) bao gồm một số mẫu hình lập trình nổi tiếng hơn.

Lập trình ràng buộc

[sửa | sửa mã nguồn]

Lập trình ràng buộc mô tả mối quan hệ giữa các biến dưới dạng các ràng buộc để chỉ ra thuộc tính của giải pháp đích. The set of constraints is solved by giving a value to each variable so that the solution is consistent with the maximum number of constraints. Constraint programming often complements other paradigms: functional, logical, or even imperative programming.

Ngôn ngữ miền chuyên biệt

[sửa | sửa mã nguồn]

Các ví dụ nổi tiếng về Ngôn ngữ miền chuyên biệt (domain-specific language, hay DSL) bao gồm yacc, QML, Make, Puppet, biểu thức chính quy, và một tập con của SQL (như câu lệnh truy vấn SELECT).

Ngôn ngữ lai

[sửa | sửa mã nguồn]

Lập trình logic

[sửa | sửa mã nguồn]

Ngôn ngữ lập trình logic như Prolog mô tả và truy vấn các quan hệ.

Tham khảo

[sửa | sửa mã nguồn]
  1. ^ Lloyd, J.W., Practical Advantages of Declarative Programming
  2. ^ Declarative language in The Free On-line Dictionary of Computing, Editor Denis Howe.
  3. ^ “DAMP 2009: Workshop on Declarative Aspects of Multicore Programming”. Cse.unsw.edu.au. ngày 20 tháng 1 năm 2009. Truy cập ngày 15 tháng 8 năm 2013.

Liên kết ngoài

[sửa | sửa mã nguồn]
Chúng tôi bán
Bài viết liên quan
Sự kiện sáp nhập Ukraine vào Nga năm 1654
Sự kiện sáp nhập Ukraine vào Nga năm 1654
Trong sự kiện Nga sáp nhập bán đảo Crimea, chúng ta thường hay nghe vụ Liên Xô cắt bán đảo Crimea cho Ukraine năm 1954
Sigewinne – Lối chơi, hướng build và đội hình
Sigewinne – Lối chơi, hướng build và đội hình
Sigewinne có đòn trọng kích đặc biệt, liên tục gây dmg thủy khi giữ trọng kích
Bộ kỹ năng của Chevreuse - Đội trưởng đội tuần tra đặc biệt của Fontaine
Bộ kỹ năng của Chevreuse - Đội trưởng đội tuần tra đặc biệt của Fontaine
Các thành viên trong đội hình, trừ Chevreuse, khi chịu ảnh hưởng từ thiên phú 1 của cô bé sẽ +6 năng lượng khi kích hoạt phản ứng Quá Tải.
Bốn nguyên tắc khi mở miệng của đàn ông
Bốn nguyên tắc khi mở miệng của đàn ông
Ăn nói thời nay không chỉ gói gọn trong giao tiếp, nó còn trực tiếp liên quan đến việc bạn kiếm tiền, xây dựng mối quan hệ cũng như là duy trì hạnh phúc cho mình