Комітет зі стандартів C++ відмовився від спроб покращити безпеку мови за зразком Rust
Комітет зі стандартів C++ відмовився від пропозиції щодо створення суворо безпечної підмножини мови, незважаючи на постійне занепокоєння щодо безпеки пам’яті. Проект, запропонований минулого року, міг дозволити розробникам C++ мати таку ж безпеку пам’яті, як у Rust, але без необхідності вивчати нову мову. Про це повідомляє The Register.
«Робоча група з безпеки та захисту проголосувала за те, щоб надати пріоритет Profiles над Safe C++. Зверніться до фахівців з Profiles за оновленнями. Розробка Safe C++ припиняється», — заявив Шон Бакстер, автор проекту Safe C++.
За словами Бакстера, Safe C++ запобігає написанню ненадійного коду, оскільки під час компіляції включається перевірка запозичень. Це унеможливлює появу помилок використання після звільнення та аналіз ініціалізації для безпеки типів. Водночас, Safe C++ застосовується лише до коду в безпечному контексті. Існуючий небезпечний код працюватиме як і раніше.
Еріх Кін, член комітету C++, сказав, що пропозиція Бакстера «отримала підтримку приблизно половини (20/45) людей, решта (30/45) висловились за роботу над профілями, включно з винахідником C++ Б’ярне Страуструпом.
Тим не менш, Profiles також є суперечливими, наприклад, є скарги на те, що «профілі не виглядають як якесь усталене робоче рішення, не мають реалізації, а також не потрапили до стандарту C++ 26 на початку цього року».
Автор Safe C++ Шон Бакстер не вірить, що Profiles досягнуть мети. «Я б запровадив профілі, якби вони мали шанс спрацювати. Але вони ніколи не спрацюють. Я наводжу багато прикладів їхньої невдачі тут: https://www.circle-lang.org/draft-profiles.html», – написав він.
Він додав, що «вся Стандартна бібліотека є небезпечною. Я запропонував суворо безпечну std2, але її було відхилено».
Сообщить об опечатке
Текст, который будет отправлен нашим редакторам: