Python 3.0 có tương thích ngược không?

Ngôn ngữ Python thường không cung cấp khả năng tương thích ngược. Khả năng phá vỡ sự thiếu hiệu quả và sửa chữa các lựa chọn thiết kế sai là những lý do chính khiến Python vẫn hoạt động hiệu quả trong những thập kỷ qua. Tuy nhiên, tiêu chuẩn PEP 387 thảo luận rằng các vấn đề không tương thích cần được cân nhắc kỹ lưỡng

Đây là chính sách cơ bản khi tính không tương thích ngược có thể được đưa ra vì lợi ích của tính hiệu quả của ngôn ngữ lập trình

  • Sự thay đổi sẽ có một lợi ích lớn đối với tỷ lệ vỡ, tôi. e. , lợi ích tương đối cao và xác suất phá mã cũ thấp
  • Thay đổi dẫn đến không tương thích nên dễ khắc phục
  • Thay đổi không được dẫn đến thay đổi ngữ nghĩa của một API nhất định vì những loại thay đổi đó cực kỳ khó tìm
  • Một ngoại lệ đối với quy tắc trước đó là nếu một người trải qua thời gian khấu hao hai năm

Các quy tắc này không cố định 100%—ví dụ: hội đồng chỉ đạo có thể cấp ngoại lệ cho những quy tắc đó

Dưới đây là hai trích dẫn liên quan đến chính sách của Python đối với khả năng tương thích ngược

“Để luôn phù hợp và hữu ích, Python phải phát triển thường xuyên; . ” —

“Tôi không tin rằng cách để Python duy trì sự phù hợp và hữu ích trong 10 năm tới là chấm dứt mọi quá trình phát triển ngôn ngữ. Ai biết được bối cảnh điện toán sẽ như thế nào sau 5 năm chứ đừng nói đến 10 năm? . ” — Barry Warszawa

Tóm tắt. chính sách về khả năng tương thích ngược của phiên bản Python là nên tránh nếu có thể nhưng không được đảm bảo

Chris

Trong khi làm việc với tư cách là một nhà nghiên cứu trong các hệ thống phân tán, Dr. Christian Mayer tìm thấy tình yêu của mình với việc dạy sinh viên khoa học máy tính

Để giúp sinh viên đạt được mức độ thành công Python cao hơn, anh ấy đã thành lập trang web giáo dục lập trình Finxter. com. Ông là tác giả của cuốn sách lập trình nổi tiếng Python One-Liners [NoStarch 2020], đồng tác giả của loạt sách tự xuất bản Coffee Break Python, người đam mê khoa học máy tính, cộng tác viên tự do và chủ sở hữu của một trong 10 blog Python lớn nhất thế giới

Niềm đam mê của anh ấy là viết, đọc và mã hóa. Nhưng niềm đam mê lớn nhất của anh ấy là phục vụ các lập trình viên đầy tham vọng thông qua Finxter và giúp họ nâng cao kỹ năng của mình. Bạn có thể tham gia học viện email miễn phí của anh ấy tại đây

Cộng đồng phát triển Python đang hướng tới một phiên bản ngôn ngữ mới, không tương thích ngược, phiên bản 3. 0, dự kiến ​​phát hành vào đầu năm 2009.

"Chúng tôi sẽ phá vỡ khá nhiều mã. Gần như mọi chương trình sẽ cần thay đổi," Anthony Baxter, giám đốc phát hành Python và kỹ sư phần mềm cao cấp tại Google Australia cho biết. Bất kỳ mô-đun mở rộng nào, bao gồm cả mô-đun của nhà cung cấp độc quyền, cũng sẽ cần được viết lại.

Python là một ngôn ngữ mã nguồn mở được sử dụng bởi một số tổ chức bao gồm cả Google. Mặc dù không nói chi tiết về số lượng mã Python đang được sử dụng tại Google, nhưng Baxter ước tính rằng Python chiếm khoảng 15% cơ sở mã của Google.

Trăn 3. 0 sẽ là phiên bản đầu tiên phá vỡ khả năng tương thích ngược. Các nhà phát triển chương trình, đứng đầu là người tạo ra ngôn ngữ Guido Van Rossum, đã quyết định viết lại ngôn ngữ để loại bỏ "phần thừa" tích lũy, nhằm đơn giản hóa ngôn ngữ để dạy và sử dụng dễ dàng hơn.

3. 0 sẽ giải quyết một số vấn đề bao gồm cả "sự hỗn loạn" hiện tại khi trộn các chuỗi unicode và không phải unicode trong phiên bản hiện tại của ngôn ngữ, Baxter cho biết.

Cộng đồng phát triển Python đã cam kết cung cấp lộ trình nâng cấp suôn sẻ và sẽ xây dựng một số tính năng mới tương thích chuyển tiếp vào bản phát hành tiếp theo của phiên bản hiện tại của ngôn ngữ này, phiên bản 2. 6. Phiên bản này dự kiến ​​sẽ ra mắt cùng thời điểm với việc phát hành 3. 0, Baxter nói.

"2. x sẽ không biến mất. Tôi rất vui khi làm được 2. 7 nếu cần. Chúng tôi không mong đợi mọi người viết lại tất cả mã của họ sau 3 ngày. 0 xuất hiện, điều đó sẽ rất ngu ngốc," Baxter nói.

Anthony Baxter là kỹ sư phần mềm cao cấp tại Google Australia. Anh ấy đã là người quản lý phát hành Python trong hơn bốn năm. Bài nói chuyện "Hai con rắn vào, một con rắn rời" của ông là bài phát biểu quan trọng duy nhất của Úc tại hội nghị, sẽ bế mạc hôm nay.

Python 3 được giới thiệu để cải thiện Python 2, nhưng tôi nghĩ điều bạn đang hỏi là tại sao chúng không tương thích ngược. Về cơ bản, các nhà phát triển đã cố tình làm cho python 3 không tương thích ngược, vì hai lý do chính

  1. Trước hết, họ muốn thay đổi một số thứ không thể thiếu đối với python 2 và mặc dù sự khác biệt có vẻ nhỏ, nhưng những cải tiến mà họ đã thực hiện sẽ không kết hợp tốt với cấu trúc hiện có. Ví dụ: thay đổi đối với cú pháp "in" mà bạn đã đề cập được thực hiện bởi vì in thực sự chỉ gọi một hàm và thực sự không phải là một từ khóa theo cách giống như "nếu" hoặc "trong khi" là

  2. Một lý do khác khiến khả năng tương thích ngược bị cắt đứt là để tách biệt python 2 và 3. Một số người, kể cả tôi, thích python 2 hơn. 7 trên trăn 3. Vì python 3 đã thực hiện những thay đổi lớn hơn đối với ngôn ngữ, nên các nhà phát triển muốn duy trì hai phiên bản gần như là ngôn ngữ riêng biệt [nếu khá giống nhau]

Đối với tất cả ý định và mục đích, nếu bạn sử dụng python 2. 7, sự khác biệt duy nhất thực sự ảnh hưởng đến bạn là sự thay đổi trong "bản in"

Python phiên bản 3. 0 tương thích ngược?

Vì vậy, về cơ bản, Python 3. 0 không có mục đích tương thích ngược . Nhờ đó, bạn có thể hưởng lợi từ một bộ tính năng hoàn toàn mới. Nó thậm chí còn được gọi là "Python 3000" hoặc "Python 3K".

Python có khả năng tương thích ngược không?

Ngôn ngữ Python không cung cấp khả năng tương thích ngược .

Tại sao Python 2 và 3 không tương thích?

Python 3 là phiên bản mới hơn của ngôn ngữ lập trình Python được phát hành vào tháng 12 năm 2008. Phiên bản này chủ yếu được phát hành để khắc phục các sự cố tồn tại trong Python 2. Bản chất của những thay đổi này là Python 3 không tương thích với Python 2 . Nó không tương thích ngược.

Python 3 có tương thích về phía trước không?

Câu trả lời ngắn gọn là " Không ", câu trả lời dài là "Họ cố gắng đạt được điều gì đó gần như vậy".

Chủ Đề