Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Lập Trình

Khác biệt giữa ngôn ngữ thủ tục (Procedural) và phi thủ tục (Non-procedural)


Hiểu sự khác biệt giữa procedural và non-procedural languages.

Procedural language

  • Mã chương trình viết thành chuỗi lệnh tuần tự.
  • Người dùng chỉ định làm gì và làm như thế nào (bước بخطوات).
  • Command-driven language.
  • Làm việc với trạng thái máy.
  • Semantics phức tạp hơn các paradigm khác.
  • Kích thước chương trình lớn.
  • Thực thi tuần tự.
  • Trả về kiểu dữ liệu hạn chế, giá trị cho phép nhất định.
  • Hiệu quả tổng thể cao.
  • Viết lệnh giải quyết bài toán cụ thể.
  • Ví dụ: BASIC, FORTRAN, ALGOL, C, COBOL, Pascal.
  • Không phù hợp ứng dụng thời gian thực critical.
  • Dùng vòng lặp lặp và đệ quy.

Non-procedural Language

  • Người dùng chỉ định làm gì nhưng không đi vào làm như thế nào.
  • Applicative/functional language.
  • Phát triển function dựa trên function khác để xây dựng chức năng phức tạp.
  • Làm việc với hàm toán học.
  • Semantics đơn giản hơn procedural.
  • Ví dụ: LISP, SQL, PROLOG.
  • Function-driven language.
  • Có thể trả về bất kỳ datatype/giá trị nào.
  • Hiệu quả tổng thể thấp hơn procedural.
  • Chương trình nhỏ gọn.
  • Phù hợp ứng dụng time-critical.
  • Dùng đệ quy.