6
ฟังก์ชั่นการเขียนโปรแกรมเป็นชุดของวัตถุที่มุ่งเน้น?
ยิ่งฉันเขียนโปรแกรมที่ใช้งานได้มากเท่าไหร่ฉันก็ยิ่งรู้สึกว่ามันเพิ่มเลเยอร์สิ่งที่เป็นนามธรรมซึ่งดูเหมือนว่าเลเยอร์ของหอมหัวใหญ่เป็นอย่างไรรวมไปถึงเลเยอร์ก่อนหน้า ฉันไม่รู้ว่านี่เป็นความจริงหรือเปล่าดังนั้นเพื่อปิดหลักการ OOP ที่ฉันเคยทำมานานหลายปีแล้วใครจะอธิบายได้ว่าการทำงานหรือไม่สามารถอธิบายสิ่งเหล่านี้ได้อย่างถูกต้อง: Encapsulation, Abstraction, Inheritance, Polymorphism ฉันคิดว่าเราทุกคนสามารถพูดได้ใช่มันมีการห่อหุ้มผ่านทูเปิลหรือสิ่งอันดับนับเป็นเทคนิคในความเป็นจริงของ "การเขียนโปรแกรมฟังก์ชั่น" หรือพวกเขาเป็นเพียงยูทิลิตี้ของภาษา? ฉันรู้ว่า Haskell สามารถตอบสนองความต้องการ "อินเทอร์เฟซ" แต่อีกครั้งไม่แน่ใจว่ามันเป็นวิธีการทำงานจริงหรือไม่ ฉันคาดเดาว่าความจริงที่ว่า functors มีพื้นฐานทางคณิตศาสตร์ที่คุณสามารถบอกได้ว่าสิ่งเหล่านี้เป็นสิ่งที่แน่นอนในการคาดหวังการทำงาน โปรดให้รายละเอียดว่าคุณคิดว่าการทำงานทำหน้าที่หรือไม่ปฏิบัติตาม 4 หลักการของ OOP แก้ไข: ฉันเข้าใจความแตกต่างระหว่างกระบวนทัศน์การทำงานและกระบวนทัศน์เชิงวัตถุได้ดีและตระหนักว่ามีหลายภาษาหลายภาษาในทุกวันนี้ซึ่งสามารถทำได้ทั้งสองอย่าง ฉันแค่กำลังมองหาคำจำกัดความของวิธีการที่ fp ทันที (คิดว่าคนพิถีพิถันเช่น haskell) สามารถทำสิ่งใดสิ่งหนึ่งในสี่รายการที่ระบุไว้หรือทำไมมันไม่สามารถทำใด ๆ ของพวกเขา เช่น "การห่อหุ้มสามารถทำได้ด้วยการปิด" (หรือถ้าฉันผิดในความเชื่อนี้โปรดระบุสาเหตุ)