Информация об изменениях

Сообщение Удобно ли писать на Rust? от 08.01.2023 16:46

Изменено 08.01.2023 16:47 Shmj

Удобно ли писать на Rust?
Вот взять модный нынче Rust, которые обещает стать убийцей С++.

У меня вопрос такой назрел: можно ли сделать переводчик программ C++ -> Rust? Понятно что одиночка не потянет, но вот если возьмётся корпорация и представит? Вот проснулись завтра — и тут тебе все говорят о новомодном переводчике, который любой код на C++ переводит в новомодный Rust. И тогда решается главная проблема — кодовая база.

Предлагаю прикинуть возможно ли это в принципе? И более важный вопрос — даже если смогут — удобнее ли писать на Rust?

Главная загогулина Rust-а описана на этом шаге: https://metanit.com/rust/tutorial/3.3.php

По сути это похоже на unique_ptr с доп. проверкой владения на уровне компиляции. Т.е. чтобы голову не морочить со сложной сборкой мусора — решили вообще отказаться от множественного владения — владелец всегда один. Решение Александра Македонского — болит голова — значит нужно ее отсечь.

Ну и далее идет борьба с ветряными мельницами — борьба с последствиями принятого решения. Придумали ссылки и изменяемые ссылки. Ну это ладно.

Самый смак начинается тут: https://metanit.com/rust/tutorial/6.1.phpустановка времени жизни ссылки Я не до конца понял как это работает и почему компилятор все-же перекладывает ответственность по контролю на разработчика. Значит если я ошибусь — таки получу ошибку времени исполнения.

Как вы думаете — удобнее ли такая парадигма? Я вот не могу пока понять — нужно попробовать что-то написать на нем, а пока никто за это не платит — смысла нет.
Удобно ли писать на Rust?
Вот взять модный нынче 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установка времени жизни ссылки Я не до конца понял как это работает и почему компилятор все-же перекладывает ответственность по контролю на разработчика. Значит если я ошибусь — таки получу ошибку времени исполнения.

Как вы думаете — удобнее ли такая парадигма? Я вот не могу пока понять — нужно попробовать что-то написать на нем, а пока никто за это не платит — смысла нет.