Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> การเขียนโปรแกรม

ความแตกต่างระหว่าง Procedural และ Non-procedural Language

ในโพสต์นี้ เราจะทำความเข้าใจความแตกต่างระหว่าง procedural และ non-procedural languages -

Procedural language

  • โค้ดเขียนเป็น sequence of instructions
  • ผู้ใช้ระบุ ما to do และ how to do แบบขั้นตอน
  • Command-driven language
  • ทำงานกับ state of machine
  • Semantics ยากกว่า paradigms อื่น
  • ขนาดโปรแกรมใหญ่
  • Execute แบบ sequential
  • Return restricted data types และค่าที่อนุญาตเท่านั้น
  • Overall efficiency สูง
  • Instructions แก้ปัญหาเฉพาะเจาะจง
  • ตัวอย่าง: BASIC, FORTRAN, ALGOL, C, COBOL, Pascal
  • ไม่เหมาะสำหรับ time-critical applications
  • ใช้ iterative loops และ recursive calls

Non-procedural Language

  • ผู้ใช้ระบุ what to do แต่ไม่ระบุ how to do
  • รู้จักว่า applicative หรือ functional language
  • พัฒนา functions จาก functions อื่นๆ เพื่อสร้าง functionalities ที่ซับซ้อน
  • ทำงานด้วย mathematical functions
  • Semantics เรียบง่ายกว่า procedural
  • ตัวอย่าง: LISP, SQL, PROLOG
  • Function-driven language
  • Return any datatype หรือ value ได้
  • Overall efficiency ต่ำกว่า procedural
  • โปรแกรมขนาดเล็ก
  • เหมาะสำหรับ time-critical applications
  • ใช้ recursive calls