ฉันเข้าใจว่ารูปแบบคลาสสิคจากเอกสารแลมบ์ดานั้นไม่ถูกต้องสำหรับ Python
และการปิดไม่ใช่รูปแบบทางคณิตศาสตร์ของการใช้งานระบบ Python
แล้วมันเป็นรุ่นอะไร?
ฉันเข้าใจว่ารูปแบบคลาสสิคจากเอกสารแลมบ์ดานั้นไม่ถูกต้องสำหรับ Python
และการปิดไม่ใช่รูปแบบทางคณิตศาสตร์ของการใช้งานระบบ Python
แล้วมันเป็นรุ่นอะไร?
คำตอบ:
ความแตกต่างที่สำคัญระหว่าง Python และแบบจำลองจากเอกสารแบบคลาสสิกบนแคลคูลัสแลมบ์ดาคือ Python เป็นภาษาแบบหลายกระบวนทัศน์ เอกสารส่วนใหญ่ที่พิจารณาแคลคูลัสแลมบ์ดาพิจารณาภาษาบริสุทธิ์ที่ใช้งานได้โดยไม่มีความซับซ้อนที่เกี่ยวข้องโดยการเพิ่มกระบวนทัศน์อื่น ๆ (เช่น OOP หรือการเขียนโปรแกรมเชิงตรรกะ)
จากคำถามและความคิดเห็นของคุณฉันคิดว่าคุณมีความสนใจในรากฐานของภาษาหลายกระบวนทัศน์ ในกรณีที่ผมขอสามารถแนะนำแนวคิดเทคนิคและรูปแบบของการเขียนโปรแกรมคอมพิวเตอร์โดยปีเตอร์แวนรอยและ Seif Haridi หนังสือเล่มนี้เป็นหนังสือเกี่ยวกับภาษาโมสาร์ท / ออซซึ่งส่วนใหญ่เป็นภาษาเชิงวิชาการ อย่างไรก็ตามหนังสือเล่มนี้แสดงให้เห็นอย่างชัดเจนถึงวิธีการเริ่มต้นด้วยภาษาหลักที่มีขนาดเล็กมากและสร้างการวางแนววัตถุการทำงานและการเขียนโปรแกรมตรรกะด้านบนของมัน (และทั้งหมดภายในภาษาหลักเดียวกัน)
สำหรับแบบจำลองทางคณิตศาสตร์ที่เกิดขึ้นจริงภาษาการเขียนโปรแกรมส่วนใหญ่มีเพียงข้อกำหนดอย่างไม่เป็นทางการหรือกึ่งทางการ คุณไม่ค่อยพบคนที่มีทฤษฎีที่เหมาะสมเช่นแคลคูลัสแลมบ์ดาเป็นรากฐาน มีแบบจำลองทางคณิตศาสตร์ที่แตกต่างกันมากมายที่ถูกประดิษฐ์ขึ้นและมีผลบังคับใช้ไม่มากก็น้อย สิ่งที่น่าสนใจคือมีความแตกต่างทั่วไปในวิธีการที่แตกต่างกันในการจำลองความหมายของการเขียนโปรแกรม: ความหมายสามารถอธิบายความหมายเชิงลบการปฏิบัติหรือพีชคณิต หากคุณต้องการที่จะไปให้ลึกยิ่งขึ้นอ่านข้อมูลเกี่ยวกับUnifying Theory of Programmingเป็นเพียงการเริ่มต้นถึงแม้ว่าจะเป็นเรื่องที่ยากลำบากด้วยเส้นโค้งการเรียนรู้ที่สูงชัน