Здравствуйте, CreatorCray, Вы писали:
CC>Платят не за язык, платят за решение проблем.
Вот именно. И там, где жаба справляется, выясняется, что с решением проблем у крестушков не очень. Пока они пердолятся с порчей памяти, неперегрузившимися методами, виртуальными деструкторами, и невменяемыми логами после получасовой компиляции, жабисты уже выкатывают прототип.
Здравствуйте, T4r4sB, Вы писали:
TB>Вот именно. И там, где жаба справляется, выясняется, что с решением проблем у крестушков не очень. Пока они пердолятся с порчей памяти, неперегрузившимися методами, виртуальными деструкторами, и невменяемыми логами после получасовой компиляции, жабисты уже выкатывают прототип.
Видимо на плюсах ты не писал, раз такое пишешь. Для типовых задач, давно уже есть библиотеки. Есть внешние, есть внутренние у тех, кто на плюсах решения делает.
Здравствуйте, Shmj, Вы писали:
S>Самый смак начинается тут: https://metanit.com/rust/tutorial/6.1.php — установка времени жизни ссылки Я не до конца понял как это работает и почему компилятор все-же перекладывает ответственность по контролю на разработчика. Значит если я ошибусь — таки получу ошибку времени исполнения.
Ошибку времени компиляции. Чтобы получится ошибку времени исполнения надо как минимум использовать "умный" указатель RefCell
Здравствуйте, _Artem_ _A_>Видимо на плюсах ты не писал, раз такое пишешь. Для типовых задач, давно уже есть библиотеки. Есть внешние, есть внутренние у тех, кто на плюсах решения делает.
Лол, я на плюсах и пишу как раз. И знаю какое они говно.
Здравствуйте, Shmj, Вы писали:
S>Как вы думаете — удобнее ли такая парадигма?
это как споры по поводу типизации. Строгая типизация требует больше времени в начале, но зато потом на поддержку и отыскание багов времени требуется меньше. Также и Rust. Больше потратищь сегодня, зато потом не будешь там и сям ловить утечки памяти, гонки данных и иные прелести.
По-поводу индустрии, очень не уверен, что Rust взлетит. Это же капиталисты, им надо здесь и сейчас. Если Java и C# проигрывают JS, то что уже говорить про Rust.
Здравствуйте, Shmj, Вы писали:
S>Здравствуйте, vaa, Вы писали:
vaa>>Требует авторизацию, что это? Оно бесплатно?
S>Пока бесплатно. Это нашумевший ChatGPT.
Здравствуйте, sergii.p, Вы писали:
SP>По-поводу индустрии, очень не уверен, что Rust взлетит. Это же капиталисты, им надо здесь и сейчас. Если Java и C# проигрывают JS, то что уже говорить про Rust.
Не только поэтому не взлетит. У раста высокий порог вхождения при изучении на начальном этапе. Нельзя посадить юниоров, чтобы они изучали язык в процессе работы над проектом, где используется раст. Они просто не смогут писать код. В популярных языках такого даже близко не наблюдается.
Здравствуйте, ArtDenis, Вы писали:
SP>>По-поводу индустрии, очень не уверен, что Rust взлетит. Это же капиталисты, им надо здесь и сейчас. Если Java и C# проигрывают JS, то что уже говорить про Rust.
AD>Не только поэтому не взлетит. У раста высокий порог вхождения при изучении на начальном этапе. Нельзя посадить юниоров, чтобы они изучали язык в процессе работы над проектом, где используется раст. Они просто не смогут писать код. В популярных языках такого даже близко не наблюдается.
Здравствуйте, Shmj, Вы писали:
S>У меня вопрос такой назрел: можно ли сделать переводчик программ C++ -> Rust? Понятно что одиночка не потянет, но вот если возьмётся корпорация и представит? Вот проснулись завтра — и тут тебе все говорят о новомодном переводчике, который любой код на C++ переводит в новомодный Rust. И тогда решается главная проблема — кодовая база.
А такая автоматическая конвертация вообще хоть раз взлетала в массовом масштабе?.. Мне кажется, что без ручного допиливания, которое может оказаться совсем нетривиальным, такой конвертированный код всё равно будет не очень.
А вот инструменты позволяющие вызывать С++ из раста есть. Например, вот: https://github.com/dtolnay/cxx
По слухам гугл что-то своё тоже пилит.
S>Т.е. чтобы голову не морочить со сложной сборкой мусора — решили вообще отказаться от множественного владения — владелец всегда один. Решение Александра Македонского — болит голова — значит нужно ее отсечь.
Это, мягко говоря, не правда. Аналог shared_ptr в расте (естественно) есть. Но да, в этом случае borrow checker не помогает.
S>Самый смак начинается тут: https://metanit.com/rust/tutorial/6.1.php — установка времени жизни ссылки Я не до конца понял как это работает и почему компилятор все-же перекладывает ответственность по контролю на разработчика. Значит если я ошибусь — таки получу ошибку времени исполнения.
Если действительно хочется разобраться, то всё-таки придётся что-то почитать. Например, вот: https://github.com/pretzelhammer/rust-blog/blob/master/posts/common-rust-lifetime-misconceptions.md
Если вкратце, то лайфтамы расставляются не (только) для компилятора, а несут дополнительную информацию для читающего код. Ну и в большинстве "повседневного" кода лайфтамы руками прописывать приходится редко.
Здравствуйте, student__, Вы писали:
__>А по зарплатам растовым программистам не могут платить выше плюсовых, потому что весь смысл раста — уменьшить вуду-знания о сложностях C++ и позволить простым смертным писать околосистемщину. Ну а раз ты простой смертный, то зачем тебе платить больше, чем плюсовику?
Это не совсем так. Всегда есть нюансы предметной области. Например, раст получил определённую популярность в блокчейнах и там нередко проскакивают достаточно заманчивые предложения. Говорю как человек работавший в этой сфере. Если что, сам отношусь к блокчейнам настороженно-негативно, но моя первая "растовая" работа была именно в этой сфере. Да и сейчас (к сожалению) блокчейновые вакансии преобладают.
Здравствуйте, CreatorCray, Вы писали:
__>>позволить простым смертным писать околосистемщину. CC>Не случится никогда, потому что нужны знания именно предметной области, а язык выбирается именно под предметную область, т.е. вторичен.
Собеседовался несколько лет назад в контору, где как раз хотели писать что-то низкоуровневое и прямо сказали, что раст взяли по причине, что мол можно менее квалифицированных работников нанимать. Так что такие случаи бывают. Да и мне кажется, что если взять одного-двух специалистов и десяток джунов, то с растом больше шансов написать что-то рабочее.
Здравствуйте, sergii.p, Вы писали:
SP>По-поводу индустрии, очень не уверен, что Rust взлетит. Это же капиталисты, им надо здесь и сейчас. Если Java и C# проигрывают JS, то что уже говорить про Rust.
Я тоже считаю, что о взлёте говорить очень рано, но тем не менее эти капиталисты вроде гугла, фейсбука или майкрософта зачем-то входят в rust foundation. Недавно вот интересная ссылка попадалась:
In Android 13, about 21% of all new native code (C/C++/Rust) is in Rust. There are approximately 1.5 million total lines of Rust code in AOSP across new functionality and components such as Keystore2, the new Ultra-wideband (UWB) stack, DNS-over-HTTP3, Android’s Virtualization framework (AVF), and various other components and their open source dependencies. These are low-level components that require a systems language which otherwise would have been implemented in C++.