Комментарии 20
Наблюдение: все хотят сеньёр-программистов на Rust.
ну, как только появились Swift и Kotlin - все тоже хотели сеньёр-программистов на них.
Следствие: никто не хочет hello-world программисто на Rust.
Вопрос: как стать программистом на Rust, если +- senior программист на C и C++, но не имеешь опыта работы в Rust, который требуется даже в middle вакансиях.
Перепишут с Java на Rust? Ну это врятли.. Только небольшие критичные по производительности куски. На Cobol до сих пор много чего крутится - всё никак не перепишут.
Rust перспективен (мб., даже Golang поборет), но синтОксис - да, отталкивает.
Очередная скучная рекламная статья из серии "кем был ,что ел, с кем спал".
Зачем мне всё это знать про какого-то там Михаила? Дайте больше технического контента. Дайте конкретный опыт Миши как программиста. Ни одного бенча, ни одного сниппета. Одни сплошные домыслы и вымыслы.
Я бы попробовал "поправить", но не понял сути претензии насчёт "нецелостности". ? С указателями аля unique_ptr
(Box
) бороу чекер прекрасно работает. И весьма очевидно, что статический анализ (этот самый бороу чекер) не может отследить ситуации когда нам нужно динамическое время жизни и тогда на помощь приходят указатели с подсчётом ссылок (аналог shared_ptr
). Мне кажется, неправильно заявлять, что концепция поменялась так как (A)rc
были с версии 1.0 (и раньше).
— Он будет такой же быстрый, как и на С++, даже потенциально быстрее,
потому что компилятор в Rust знает о твоём коде чуть больше, чем сишный
компилятор
Что это вообще значит? Причем тут сишный компилятор?
Rust накладывает на программиста больше ограничений чем C++. И компилятору вроде как "проще" от этого.
Сишный компилятор тут как эталон. Rust сделан как фронтенд к LLVM. Точно так же сделан и Clang. И значит их можно как-то сравнивать в этом поле. Гипотеза (и вроде есть примеры) в том что Rust может передать тому же LLVM больше информации о коде чем Сlang.
Как сказал кто-то на ютубе, "мне в расте нравится то давно забытое чувство, что я учу что-то совсем ново-фундаментальное в Computer Sciences" :) Поддерживаю, давно ничего такого не было. Мое имхо, что познакомиться с языком, распробовать суперский подход в работе обработки ошибок и испытать тот самый fight with borrow checker, когда компилятор настаивает, что умнее тебя в избегании ошибок -- имеет смысл хотя бы для кругозора
Для кругозора лучше изучить концепции баз данных. Какие алгоритмы применяются, методы оптимизации и т.д Эти знания фундаментальные и реально могут дать буст для роста . А знания о борьбе с borrow checker, дадут знания только о borrow checker. Больше похоже на религиозный призыв.
Не согласен. Ну вот вы изучили все основы архитектур, алгоритмов и подходов, которые, кажется, слабо поменялись за последние десятилетия. Даже поработали несколько лет разработчиком, героически превозмогая нетривиальные баги в boost или в мультитрединге. Дальше что? Просто сидеть и зарплату получать, неистово отстаивая свое будущее как разработчика на C | C++, принижая хоть какие-то попытки внести что-то новое? А тут свежий взгляд на управление памятью и возможно даже мозги чуть по-другому заработают, в том числе в разработке на других языках. И если обратите внимание, я не только про borrow checker говорил, хотя и не упомянул другие достоинства
А тут свежий взгляд на управление памятью и возможно даже мозги чуть по-другому заработают, в том числе в разработке на других языках.
Окей. Я прочитал пару статей с примерами, про управление памятью в Rust. Получил ли я пользу, бесспорно да. Это пару часов или пару дней. Что дальше то?
Больше пользы прочитать данную книгу, потому, что именно так память работает на уровне железа и оси. И как ее не обмазывай, данную специфику нужно учитывать.
Что каждый программист должен знать о памяти
http://rus-linux.net/lib.php?name=/MyLDP/hard/memory/memory.html
знания о борьбе с borrow checker, дадут знания только о borrow checker.
Начиная с какого-то момента, у вас начинает такой borrow-checker работать в голове, и отлавливать часть ошибок уже без помощи со стороны компилятора. Даже если вы уже пишете не на расте :D
В основном сейчас пишут на C/C++, Java, Python… и Rust встречает активное сопротивление со стороны программистов старой школы.
Программистам на Golang сейчас обидно стало.
«Rust – не Си на стероидах. Чтобы его изучить, нужно избавиться от предрассудков»