- Nhóm Chrome của Google đã liệt kê khoảng hơn 40 vấn đề phát sinh khi áp dụng C++20 và tổng hợp các giải pháp
- Chuẩn C++ ra mắt mỗi 3 năm một lần, và sau khi phát hành thì phải 3 năm sau Chrome mới áp dụng lần đầu
- C++20 có rất nhiều thay đổi
- Ngừng hỗ trợ, sắp xếp lại toán tử so sánh, thay đổi quy tắc aggregation..
- Các vấn đề
- Style guide của Google dựa trên C++17
- Hỗ trợ C++20 của Clang هنوز chưa hoàn thiện và cần libc++ mới
- Binary trên Windows trở nên lớn hơn
std::iterator bị ngừng hỗ trợ (từ C++17)
- Các từ khóa mới như
concept, requires được thêm vào nên có thể xung đột nếu đang dùng làm tên biến
- Cùng nhiều vấn đề khác
6 bình luận
Ơ… một ngôn ngữ như C++ mà lại tạo ra nhiều thay đổi phá vỡ tương thích đến vậy thì không ổn chứ nhỉ… hay chỉ là định kiến của riêng tôi thôi…
Vì thế mới nói C++ là một ngôn ngữ kỳ quặc.. Ngôn ngữ thì cứ liên tục lên phiên bản, thêm module, coroutine và đủ thứ khác, như thể muốn tự làm hết mọi thứ, đến khi tính năng ra mắt thì các compiler phải 4, 5 năm sau mới hỗ trợ, mỗi compiler lại khác nhau ở những gì có thể làm được, cú pháp cũng hơi khác một chút, cứ mỗi lần lên phiên bản thì những thứ nhỏ nhỏ vốn dùng rất ổn lại dần biến mất, STL thì ngày càng phình to, nâng phiên bản lên thì máy tính đời cũ cũng không chạy nổi.. Nếu phải dùng thì tôi muốn khuyên nên dùng Go hoặc Python.
Những mục không giữ được tính tương thích ngược khi nâng cấp phiên bản
phần lớn là các trường hợp cải thiện hành vi không xác định hoặc các tính năng có lỗi.
Các tính năng như module, concept, coroutine cũng là minh chứng cho việc ngôn ngữ này đang tiếp tục phát triển như những ngôn ngữ khác.
Đặc biệt, với module thì đó là yêu cầu đã tồn tại liên tục từ trước đến nay.
Tôi không chắc việc ngừng hỗ trợ
std::iteratorcó được tính là trường hợp “cải thiện các tính năng có hành vi không xác định hoặc bị lỗi” như bạn đã nói hay không.Tuy nhiên, những điểm mà C++ tụt lại phía sau so với các ngôn ngữ khác chủ yếu là như sau.
Trong số đó, do sự thờ ơ của cộng đồng nên các bài viết chất lượng rất thiếu,
và tôi nghĩ điều lớn hơn là với số lượng người dùng ít ỏi, ba vấn đề còn lại cũng không được giải quyết.