Ответы пользователя по тегу Rust
  • Выражение без эффекта перемещает переменную?

    @deliro
    Если bb; убрать, то всё работает, почему так? Никакого перемещения там не происходит, но компилятор думает иначе.

    Перемещение происходит. Семантически это выражение эквивалентно `{ bb }`

    Это точно системный язык на котором можно писать серьёзные вещи?

    Нет, язык херня. Беги писать на жс

    Или тут и правда происходит некое перемещение в параллельную вселенную?

    Хорошая привычка — агриться на вещи, которые ты не понимаешь. Далеко пойдёшь.
    Ответ написан
    3 комментария
  • Как оптимизировать код в rust при помощи trait?

    @deliro
    Во-первых, непонятно, как ты хочешь использовать этот трейт
    Во-вторых, он у тебя без методов, что делает его целиком бесполезным

    Подозреваю, что тебе хочется что-то вроде "сложить два числа, но чтобы можно было и f32 туда и f64". Для этого есть множество стандартных трейтов: Add, Sub, Div, Mul, *Assign, которые и стоит использовать. Например:

    fn f<T: Add<Output = T>>(x1: T, x2: T) -> T {
        x1 + x2
    }
    
    fn main() {
        println!("{}", f(3.14_f32, 2.7)); // можно f32 + f32
        println!("{}", f(3.14_f64, 2.7)); // а можно f64 + f64
    }
    Ответ написан
    Комментировать
  • Может ли Раст полноценно заменить Джаву в сфере финансовых технологий?

    @deliro
    Да, может и, вероятно, заменит. Уступает очень крутой кривой обучения на старте
    Ответ написан
    8 комментариев
  • Как получить путь к испольняющемуся файлу rust?

    @deliro
    use std::env::current_exe;
    
    fn main() {
        let x = current_exe();
        println!("{x:?}")
    }
    Ответ написан
    1 комментарий
  • Зачем писать .to_string() при объявлении строки?

    @deliro
    https://qna.habr.com/q/1105214#answer_2097786

    Раздел Strings in Rust
    Ответ написан
    Комментировать
  • Зачем в Rust fn main() -> io::Result{ писать вот так?

    @deliro
    Ответ написан
    Комментировать
  • Что значит -> в Rust?

    @deliro
    Бегом читать любую книгу по расту. Rust in action советую.

    P.S.
    Тип возвращаемого значения
    Ответ написан
    3 комментария
  • Rust - ещё один убийца c/c++?

    @deliro
    Rust лучше С/С++ во многих (наверное, почти всех) аспектах. Но в сравнении с С++ и тем более Си он слишком молод. Непопулярность языка ещё обуславливается тем, что рынок полностью забит Си и плюсами — миллионы строк кода и библиотек уже написаны на С/С++. Кто их будет переписывать?

    Так же, не было никакой значимой маркетинговой кампании по популяризации Rust. Я случайно услышал об этом языке на Moscow Python Conf++, до этого я думал, что когда говорят про Rust, имеют ввиду игру.

    Плюс, Rust — язык очень нишевый, как и С/С++. И эта ниша — системное или околосистемное программирование. Операционные системы, драйвера, высокопроизводительные системы, игровые (и любые другие) движки, embed — вот удел раста. И в этих сферах не принято, как, например, в JS'е менять фреймворки и версии языка раз в неделю. Сообщество там крайне консервативное.

    К тому же, у Rust очень высокий порог входа. Вот прям очень. Если в контексте C++ постоянно шутят про книги "выучить С++ за 24 часа", то в контексте Rust можно шутить над книгами "выучить Rust за неделю". У их прекрасной парадигмы zero-cost abstractions на самом деле есть cost — сложность понимания. За отсутствие сборщика мусора и необходимости чистить за собой память придётся заплатить многими часами войны с компилятором, а именно — с borrow checker'ом. И это только одна сложность

    Когда начинаешь понимать Rust, всё идёт прям отлично. Но до этого момента придётся пройти ад и Израиль, который С/С++'еры не хотят проходить. Потому что они уже его прошли, когда учили С/С++ и там было намного хуже.

    Я бы очень хотел, чтобы Rust заменил С/С++, он объективно лучше. Но вряд ли это произойдёт в ближайшие лет 10
    Ответ написан
    6 комментариев