Câu chuyện đằng sau việc đưa pattern matching vào Python
(ryanking13.github.io)-
Nhu cầu về pattern matching
-
Lịch sử của ý tưởng pattern matching
-
Sự xuất hiện của PEP 622
-
Những tranh luận nối tiếp
-
PEP 622 v2
-
PEP 622 đã chết, PEP 634, 635, 636 muôn năm
-
Hello, Pattern Matching!
-
Câu chuyện vẫn chưa kết thúc
4 bình luận
Tôi chưa biết đằng sau lại có câu chuyện như thế này, đọc thực sự rất thú vị.
Khi đọc trích dẫn trong bài "Việc
Point(x,0)mang một ý nghĩa hoàn toàn mới, không hề gọiPoint.__new__cũng không phải là tìm một biến tênx, là điều không trực quan.", lúc đó tôi đã đồng cảm với ý kiến rằng cú pháp pattern matching không hợp với Python, nhưng sau khi đọc PEP 634~636 thì tôi lại thấy pattern matching trong Python cũng ổn đấy chứ.Các ngôn ngữ họ ML đã tính đến pattern matching ngay từ khi được tạo ra nên thấy tự nhiên, còn trong Python thì "Point" vốn đã được dùng như một constructor của class nên tôi từng nghĩ chắc sẽ cực kỳ khó hiểu — nhưng khi đọc các ví dụ mã trong PEP, tôi lại thấy hoàn toàn không hề rối.
Đó là bài viết của tôi, cảm ơn vì đã giới thiệu.
Càng tìm hiểu những câu chuyện hậu trường như thế này, tôi càng cảm nhận được rằng việc đưa ra quyết định về những chủ đề có ý kiến chia rẽ gay gắt thực sự là một việc rất khó.
Trước đây tôi không hiểu rõ vì sao lại có nhiều tranh luận xung quanh việc bổ sung pattern matching, nhưng bài viết này đã giúp tôi hiểu hơn. Cảm ơn vì bài viết hay!!