Вот взять модный нынче Rust, которые обещает стать убийцей С++.
У меня вопрос такой назрел: можно ли сделать переводчик программ C++ -> Rust? Понятно что одиночка не потянет, но вот если возьмётся корпорация и представит? Вот проснулись завтра — и тут тебе все говорят о новомодном переводчике, который любой код на C++ переводит в новомодный Rust. И тогда решается главная проблема — кодовая база.
Предположим что такой переводчик написали — теперь нет проблемы кодовой базы, все библиотеки C++ 100% доступны на Rust.
Тогда возникает более важный вопрос — удобнее ли вообще писать на Rust?
Главная загогулина Rust-а описана на этом шаге:
https://metanit.com/rust/tutorial/3.3.php
По сути это похоже на unique_ptr с доп. проверкой владения на уровне компиляции. Т.е. чтобы голову не морочить со сложной сборкой мусора — решили вообще отказаться от множественного владения —
владелец всегда один. Решение Александра Македонского — болит голова — значит нужно ее отсечь.
Ну и далее идет борьба с ветряными мельницами — борьба с последствиями принятого решения. Придумали ссылки и изменяемые ссылки. Ну это ладно.
Самый смак начинается тут:
https://metanit.com/rust/tutorial/6.1.php —
установка времени жизни ссылки Я не до конца понял как это работает и почему компилятор все-же перекладывает ответственность по контролю на разработчика. Значит если я ошибусь — таки получу ошибку времени исполнения.
Как вы думаете — удобнее ли такая парадигма? Я вот не могу пока понять — нужно попробовать что-то написать на нем, а пока никто за это не платит — смысла нет.