เรื่องราวเบื้องหลังการนำ Pattern Matching เข้ามาใน Python
(ryanking13.github.io)-
ความต้องการเกี่ยวกับ Pattern Matching
-
ประวัติของแนวคิด Pattern Matching
-
การปรากฏตัวของ PEP 622
-
ข้อถกเถียงที่ตามมา
-
PEP 622 v2
-
PEP 622 ได้ตายไปแล้ว, PEP 634, 635, 636 จงเจริญ
-
Hello, Pattern Matching!
-
เรื่องราวที่ยังไม่จบ
4 ความคิดเห็น
ไม่เคยรู้มาก่อนเลยว่ามีเบื้องหลังแบบนี้อยู่ด้วย อ่านได้สนุกมากจริง ๆ
ตอนอ่านคำพูดที่ยกมาในบทความว่า "Point(x,0) มีความหมายใหม่ทั้งหมดที่ไม่ได้เรียก
Point.__new__และก็ไม่ได้ค้นหาตัวแปรชื่อ x ด้วย ซึ่งมันไม่เป็นธรรมชาติในเชิงสัญชาตญาณ" ผมก็เคยเห็นด้วยกับความเห็นที่ว่าภาษา Python ไม่ค่อยเหมาะกับไวยากรณ์ pattern matching แต่พอได้อ่าน PEP 634~636 แล้วก็รู้สึกว่า pattern matching เองก็ดูเข้าท่าเหมือนกันภาษาตระกูล ML นั้นเป็นธรรมชาติอยู่แล้วเพราะมีการคำนึงถึง pattern matching ตั้งแต่ตอนออกแบบภาษา แต่ใน Python นั้น "Point" ถูกใช้เหมือนเป็น constructor ของคลาสอยู่ก่อนแล้ว ก็เลยเคยคิดว่าต้องสับสนมากแน่ ๆ — แต่พออ่านตัวอย่างโค้ดที่อยู่ใน PEP แล้ว กลับไม่รู้สึกสับสนเลยครับ
เป็นบทความของผมเองครับ ขอบคุณที่แนะนำ
พอได้ตามหาประเด็นเบื้องหลังแบบนี้ ก็ยิ่งรู้สึกว่าการตัดสินใจในประเด็นที่ความเห็นแตกต่างกันอย่างรุนแรงนั้นเป็นเรื่องที่ยากมากจริง ๆ
ก่อนหน้านี้ผมไม่ค่อยเข้าใจว่าทำไมถึงมีการพูดถึงประเด็นต่าง ๆ เกี่ยวกับการเพิ่ม pattern matching แต่บทความนี้ช่วยให้เข้าใจได้มากขึ้น ขอบคุณสำหรับบทความดี ๆ ครับ!!