Osobně Rust používám už ve druhé firmě pro vývoj mikroservis a je v něm radost vyvíjet :) Na Embedded si s ním zatím hraju jen pro nějaké ty domácí IoT experimenty.
A jako jo, když vidím že jsou Rust komunitní srazy snad v každém větším městě v Německu, o Londýně kde se odehrává RustNation ani nemluvě...
Fakt to něco minimálně v Praze a Brně chce.
Mimochodem, byl někdo odsud na EuroRust nebo RustNation? Připadala jsem si tam jako jediný člověk z CZ, ale třeba jsem ostatní minula :D
lifetime se mi taky nelibi.
kdyz mam v rustu smart pointery a delaji levny move, tak je mam treba do ukladaci struktury presunout/move a struktura ma vlastnit ten objekt.
vubec se mi nelibi, ze treba struktura uklada referenci s definovanym lifetime. nebo funkce co prijimaji reference ve funkci si reference nejak prekopiruji a vraceji zas reference viz. priklad z knihy, mi prijde hnusne.
tak kdyz dovnitr funkce pro porovnani poslu dve reference na stringy, tak nevim proc nemuzu jen vratit int s delkou textu.
treba upravim ten priklad z knihy a nepotrebuju lifetime.
fn longest(x: &str, y: &str) -> u8 {
if x.len() > y.len() {
1
} else {
2
}
}
fn main() {
let string1 = String::from("abcd");
let string2 = "xyz";
let result = longest(string1.as_str(), string2);
println!("The longest string is {}", result);
}
Docela dobrá rada pro nováčky co se rozbije u lifetimes kterou jsem slyšela od nějakého známějšího Rust vývojáře (Už si nepamatuju kdo): Kašli na to a klonuj co jde. I tak bude výsledek podstatně výkonnější než většina jazyků "shora", a dá to manévrovací prostor pro postupné učení se.
Já k tomu přišla z obou směrů (Předtím jsem dělala Python a C++) a lifetimes a borrow checker jsou zpočátku komplikované s pohledu obou, je to prostě unikátní koncept. Ale bez nich to holt nejde, respektive ne tak jak Rust potřebuje :) A ve chvíli kdy si na ty koncepty člověk zvykne jsou nějaké záseky spíš vzácné.
Nevím jak kolega, ale nás pro vývoj v Rustu používáme Visual Studio Code. Pokud vím, existuje nějaký plugin do Intellij a JetBrains má v preview RustRover https://www.jetbrains.com/rust/.
Mám už roky placený All Products Pack od Jetbrains, takže jsem začala s tím. (CLion + Rust plugin) Jednu dobu ale jejich plugin předběhli lidi co vyvíjí rust_analyzer (konkrétně v expanzi procedurálních maker), takže jsem dočasně přešla na VS Code - můj kód byl silně macro-heavy.
Teď už jsou na tom vlastnostma dost podobně a jsem zpátky u Jetbrains, tentokrát s RustRover.
Občas na rychlou úpravy zdrojáků použiju i Helix.