ความแตกต่างระหว่างการเขียนโปรแกรมเชิงประกาศและความจำเป็น

สารบัญ:

ความแตกต่างระหว่างการเขียนโปรแกรมเชิงประกาศและความจำเป็น
ความแตกต่างระหว่างการเขียนโปรแกรมเชิงประกาศและความจำเป็น

วีดีโอ: ความแตกต่างระหว่างการเขียนโปรแกรมเชิงประกาศและความจำเป็น

วีดีโอ: ความแตกต่างระหว่างการเขียนโปรแกรมเชิงประกาศและความจำเป็น
วีดีโอ: EP.9 : มาทำความรู้จักการเขียนโปรแกรมเชิงวัตถุกัน ( OOP Introduction ) 2024, กรกฎาคม
Anonim

ความแตกต่างที่สำคัญ – การเขียนโปรแกรมเชิงประกาศเทียบกับความจำเป็น

การเขียนโปรแกรมเชิงประกาศและเชิงบังคับเป็นกระบวนทัศน์การเขียนโปรแกรมทั่วไปสองแบบ ข้อแตกต่างที่สำคัญระหว่างโปรแกรม Declarative และ Imperative คือ โปรแกรม Declarative มุ่งเน้นไปที่สิ่งที่โปรแกรมควรทำในขณะที่โปรแกรม Imperative มุ่งเน้นไปที่วิธีที่โปรแกรมควรบรรลุผล

กระบวนทัศน์การเขียนโปรแกรมใช้เพื่อจำแนกภาษาการเขียนโปรแกรมขึ้นอยู่กับคุณสมบัติ นอกจากนี้ยังอนุญาตให้ทำตามรูปแบบหรือสไตล์บางอย่างเพื่อแก้ปัญหาเฉพาะ

Declarative Programming คืออะไร

สามารถอธิบายการเขียนโปรแกรมเชิงประกาศได้โดยใช้สถานการณ์จริง สมมติว่าผู้ใช้จำเป็นต้องตรวจสอบอีเมลใหม่ วิธีหนึ่งคือการเปิดใช้งานการแจ้งเตือนในกล่องจดหมาย ผู้ใช้ต้องเปิดใช้งานการแจ้งเตือนเพียงครั้งเดียว และทุกครั้งที่มีอีเมลใหม่เข้ามา เขาจะได้รับการแจ้งเตือนโดยอัตโนมัติ การเขียนโปรแกรมการประกาศจะคล้ายกับที่ มันให้ความเรียบง่าย โปรแกรม Declarative เป็นการแสดงออกถึงผลลัพธ์ที่ต้องการ มันอธิบายตรรกะของการคำนวณโดยไม่อธิบายโฟลว์การควบคุม

ความแตกต่างระหว่างการเขียนโปรแกรมเชิงประกาศและความจำเป็น
ความแตกต่างระหว่างการเขียนโปรแกรมเชิงประกาศและความจำเป็น

รูปที่ 01: กระบวนทัศน์การเขียนโปรแกรม

ตัวอย่างการเขียนโปรแกรมการประกาศมีดังนี้ เป็นการคูณตัวเลขของอาร์เรย์ด้วยค่าคงที่และเก็บไว้ในอาร์เรย์ใหม่

var ตัวเลข=[1, 2, 3];

var newnumbers=numbers.map(ฟังก์ชัน(หมายเลข){

ส่งคืนหมายเลข5;

});

Console.log(หมายเลขใหม่);

ในตัวอย่างข้างต้น 'แผนที่' จะให้คำแนะนำในการวนซ้ำแต่ละรายการในอาร์เรย์และเรียกใช้ฟังก์ชันการโทรกลับสำหรับแต่ละรายการและเพื่อเก็บค่าที่ส่งคืนไปยังอาร์เรย์ใหม่ สิ่งนี้จะให้ผลลัพธ์ 5, 10, 15 ในโปรแกรมนี้ วัตถุประสงค์หลักของการคูณตัวเลขด้วย 5 ทำได้สำเร็จโดยใช้ฟังก์ชันแผนที่ มันจะผ่านแต่ละองค์ประกอบและใช้ฟังก์ชันโทรกลับเพื่อคำนวณและเก็บค่าไว้ในอาร์เรย์ใหม่ ไม่จำเป็นต้องให้ขั้นตอนทั้งหมด เน้นไปที่สิ่งที่ควรทำ

โปรแกรมบังคับคืออะไร

การเขียนโปรแกรมเชิงบังคับสามารถอธิบายได้โดยใช้สถานการณ์จริงเหมือนเมื่อก่อน ในการตรวจสอบอีเมลใหม่ ผู้ใช้สามารถลงชื่อเข้าใช้ gmail และรีเฟรชหน้าต่อไปเพื่อตรวจสอบว่าได้รับอีเมลใหม่หรือไม่ซึ่งคล้ายกับการเขียนโปรแกรมที่จำเป็น มันอธิบายแต่ละขั้นตอนที่เกี่ยวข้องเพื่อให้บรรลุผล ใช้คำสั่งเพื่อแสดงการเปลี่ยนแปลงในสถานะของโปรแกรม

การคูณองค์ประกอบอาร์เรย์ด้วยค่าคงที่และจัดเก็บค่าลงในอาร์เรย์ใหม่ในการเขียนโปรแกรมที่จำเป็นมีดังต่อไปนี้

var ตัวเลข=[1, 2, 3];

var newnumbers=;

for(int i=0; i< numbers.length; i++) {

newnumbers.push(ตัวเลข5);

}

Console.log(หมายเลขใหม่);

ในตัวอย่างข้างต้น ตัวเลขคืออาร์เรย์ เมื่อวนซ้ำแต่ละหมายเลขจะถูกคูณด้วย 5 และเพิ่มลงในอาร์เรย์หมายเลขใหม่ หลังจบลูป เนื้อหาของเลขใหม่จะพิมพ์ออกมา คือ 5, 10, 15.

สังเกตได้ว่ารูปแบบความจำเป็นมีขั้นตอนทั้งหมดเพื่อให้งานสำเร็จลุล่วง มันแสดงวิธีการวนซ้ำผ่านอาร์เรย์โดยใช้ตัวแปรตัวนับ 'i' จำนวนครั้งที่วนซ้ำก่อนที่จะออกจากลูปและวิธีแทรกค่าที่คำนวณได้ไปยังอาร์เรย์ใหม่ ฯลฯ

ปัญหาเดียวกันนี้แก้ไขได้ด้วยการเขียนโปรแกรมเชิงประกาศและความจำเป็น

ความแตกต่างระหว่างการเขียนโปรแกรมเชิงประกาศและความจำเป็นคืออะไร

การประกาศ vs การเขียนโปรแกรมเชิงบังคับ

การเขียนโปรแกรมเชิงประกาศเป็นกระบวนทัศน์การเขียนโปรแกรมที่แสดงตรรกะของการคำนวณโดยไม่อธิบายขั้นตอนการควบคุม Imperative programming เป็นกระบวนทัศน์การเขียนโปรแกรมที่ใช้คำสั่งที่เปลี่ยนสถานะของโปรแกรม
โฟกัสหลัก
โปรแกรมการประกาศเน้นที่สิ่งที่โปรแกรมควรทำสำเร็จ โปรแกรมบังคับเน้นว่าโปรแกรมควรบรรลุผลอย่างไร
ความยืดหยุ่น
โปรแกรมการประกาศให้ความยืดหยุ่นน้อยลง การเขียนโปรแกรมที่จำเป็นให้ความยืดหยุ่นมากขึ้น
ความซับซ้อน
การประกาศโปรแกรมทำให้โปรแกรมง่ายขึ้น โปรแกรมที่จำเป็นสามารถเพิ่มความซับซ้อนของโปรแกรมได้
การจัดหมวดหมู่
ฟังก์ชัน ลอจิก คิวรีเขียนโปรแกรมอยู่ในโปรแกรมประกาศ การเขียนโปรแกรมเชิงขั้นตอนและเชิงวัตถุเป็นโปรแกรมที่จำเป็น

สรุป – Declarative vs Imperative Programming

บทความนี้กล่าวถึงความแตกต่างระหว่างกระบวนทัศน์การเขียนโปรแกรมหลัก 2 แบบคือการเขียนโปรแกรมเชิงประกาศและเชิงความจำเป็นข้อแตกต่างระหว่างการเขียนโปรแกรมเชิงประกาศและเชิงบังคับคือ Declarative Programming มุ่งเน้นไปที่สิ่งที่โปรแกรมควรทำให้สำเร็จ ในขณะที่ Imperative Programming มุ่งเน้นไปที่วิธีที่โปรแกรมควรบรรลุผล