หลังจากเรียนรู้ Haskell และภาษา FP อื่น ๆ ที่ไม่บริสุทธิ์ฉันก็ตัดสินใจอ่านเกี่ยวกับทฤษฎีหมวดหมู่ หลังจากได้รับความเข้าใจที่ดีเกี่ยวกับทฤษฎีหมวดฉันเริ่มคิดเกี่ยวกับแนวคิดของทฤษฎีหมวดหมู่ที่สามารถใช้ในการคิดเกี่ยวกับการออกแบบโปรแกรมแต่ไม่ว่าฉันจะพยายามอย่างหนักเพียงใดดูเหมือนว่านี่ไม่ใช่วิธีที่จะไป
หลังจากใช้ความพยายามไม่สำเร็จหลายครั้งเพื่อเชื่อมโยงทฤษฎีหมวดหมู่กับโปรแกรมการออกแบบฉันได้ข้อสรุปว่า:
- หมวดหมู่ทฤษฎีจะเป็นประโยชน์เมื่อการออกแบบภาษาการเขียนโปรแกรม
- ทฤษฎีหมวดหมู่ไม่ใช่สิ่งที่คุณใช้เมื่อออกแบบโปรแกรม (แม้เมื่อใช้ภาษาที่ได้รับการออกแบบตามหลักการหมวดหมู่) ตัวอย่างเช่น: เมื่อการเขียนโปรแกรมใน Haskell คุณจะใช้ชนิดตัวสร้างประเภทฟังก์ชั่นฟังก์ชั่นการสั่งซื้อที่สูงขึ้น ฯลฯ เพื่อออกแบบโปรแกรมของคุณไม่ใช่แนวคิดทฤษฎีหมวดหมู่
โดยสรุปเรามีระบบเลเยอร์ด้านล่าง (คำสั่งซื้อต่ำถึงสูง):
หมวดหมู่ทฤษฎี -> ภาษาการเขียนโปรแกรม -> โปรแกรม
ที่ชั้นโดยเฉพาะอย่างยิ่งคุณใช้แนวคิดของชั้นพื้นฐานทันที
ความเข้าใจนี้ถูกต้องหรือไม่ ถ้าไม่ใช่และคุณเชื่อว่าในการออกแบบโปรแกรมเราสามารถใช้แนวคิดทฤษฎีหมวดหมู่ได้โดยตรงโปรดอ้างอิงบทความหรือบทความในบล็อกที่แสดงให้เห็น
หมายเหตุ: โดยการออกแบบโปรแกรมฉันหมายถึงการออกแบบโปรแกรมตามแนวคิดที่แตกต่างกันเช่นการทำงานพร้อมกัน, การขนาน, ปฏิกิริยา, การส่งข้อความเป็นต้น