สิ่งหนึ่งที่สำคัญมากสำหรับคำถามนี้ (และคำตอบ) มีดังต่อไปนี้: อะไรคือการเขียนโปรแกรมที่ใช้งานได้และอะไรคือคุณสมบัติที่สำคัญที่สุดของมัน ฉันจะพยายามทำให้มุมมองของฉัน:
การเขียนโปรแกรมฟังก์ชั่นเป็นจำนวนมากเช่นการเขียนคณิตศาสตร์บนไวท์บอร์ด เมื่อคุณเขียนสมการบนไวท์บอร์ดคุณไม่ต้องคำนึงถึงลำดับการดำเนินการ ไม่มีการกลายพันธุ์ (โดยทั่วไป) คุณจะไม่กลับมาอีกวันหลังจากนั้นและดูมันและเมื่อคุณทำการคำนวณอีกครั้งคุณจะได้รับผลลัพธ์ที่แตกต่าง (หรือถ้าคุณมีกาแฟสดสักแก้ว :)) โดยพื้นฐานแล้วสิ่งที่อยู่บนกระดานอยู่ที่นั่นและคำตอบก็อยู่ที่นั่นแล้วเมื่อคุณเริ่มเขียนสิ่งต่าง ๆ ลงไปคุณก็ไม่ได้รู้เลยว่ามันคืออะไร
การเขียนโปรแกรมฟังก์ชั่นเป็นจำนวนมากเช่นนั้น คุณไม่เปลี่ยนแปลงสิ่งต่าง ๆ คุณเพียงแค่ประเมินสมการ (หรือในกรณีนี้ "โปรแกรม") และหาว่าคำตอบคืออะไร โปรแกรมยังคงอยู่ที่นั่นโดยไม่มีการแก้ไข เช่นเดียวกันกับข้อมูล
ฉันจะจัดอันดับต่อไปนี้เป็นคุณสมบัติที่สำคัญที่สุดของการเขียนโปรแกรมการทำงาน: a) ความโปร่งใสในการอ้างอิง - ถ้าคุณประเมินข้อความเดียวกันในเวลาและสถานที่อื่น ๆ แต่ด้วยค่าตัวแปรเดียวกันมันจะยังคงเหมือนเดิม b) ไม่มีผลข้างเคียง - ไม่ว่าคุณจะจ้องที่ไวท์บอร์ดนานแค่ไหนสมการที่อีกคนกำลังมองไปที่ไวท์บอร์ดอื่นจะไม่เปลี่ยนโดยไม่ได้ตั้งใจ c) ฟังก์ชั่นก็มีคุณค่าเช่นกัน ซึ่งสามารถส่งผ่านไปและนำไปใช้กับหรือตัวแปรอื่น ๆ d) องค์ประกอบของฟังก์ชันคุณสามารถทำ h = g · f และกำหนดฟังก์ชันใหม่ h (.. ) ซึ่งเทียบเท่ากับการเรียก g (f (.. ))
รายการนี้อยู่ในลำดับความสำคัญของฉันดังนั้นความโปร่งใสในการอ้างอิงเป็นสิ่งสำคัญที่สุดตามด้วยไม่มีผลข้างเคียง
ทีนี้ถ้าคุณผ่านไพ ธ อนและตรวจสอบว่าภาษาและไลบรารีสนับสนุนและรับประกันได้ดีเพียงใดแง่มุมเหล่านี้ - คุณก็พร้อมแล้วที่จะตอบคำถามของคุณเอง