แบบจำลองทางคณิตศาสตร์ของคลาส Python คืออะไร?


10

ฉันเข้าใจว่ารูปแบบคลาสสิคจากเอกสารแลมบ์ดานั้นไม่ถูกต้องสำหรับ Python

และการปิดไม่ใช่รูปแบบทางคณิตศาสตร์ของการใช้งานระบบ Python

แล้วมันเป็นรุ่นอะไร?


ถ้าฉันรู้โมเดลฉันคิดว่าฉันสามารถหาหนังสือที่มีรายละเอียด (เช่น sicp สำหรับ lisps) ซึ่งจะอธิบายกระบวนการสร้างระบบตั้งแต่เริ่มต้น
alinsoar

4
ที่เกี่ยวข้อง: stackoverflow.com/q/2469824 ฉันลบคำถามที่สองของคุณออกจากเนื้อหาของโพสต์ของคุณ (วิธีสร้างระบบ Python ตั้งแต่ต้น) เนื่องจากไม่มีคำตอบที่นี่ หากคุณต้องการทราบวิธีการพัฒนาภาษาการเขียนโปรแกรมที่ใช้งานจริงคุณควรตรวจสอบสิ่งต่างๆเช่น parsers, lexers และ compilers
Robert Harvey

ขอบคุณมาก! คำถามที่สองนั้นเทียบเท่ากับคำถามแรก! ถ้าฉันรู้โมเดลฉันสามารถหาเอกสารที่อธิบายได้จริงดังนั้นจะแสดงวิธีสร้างเคอร์เนลของระบบ!
alinsoar

เป็นคำถามที่ดีมาก !!! :)
Maxood

คำตอบ:


7

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

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

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

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.