ปฏิกิริยาการเขียนโปรแกรมคืออะไร?

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

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

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

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