13 điểm bởi xguru 2021-03-07 | 4 bình luận | Chia sẻ qua WhatsApp
  • 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

 
minji 2021-03-08

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ị.

 
dynalloc 2021-03-08

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ọi Point.__new__ cũng không phải là tìm một biến tên x, 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.

 
sihadan 2021-03-07

Đó 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ó.

 
xguru 2021-03-07

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!!