Přechod z Javy na Rust. Ano či ne?

Re:Přechod z Javy na Rust. Ano či ne?
« Odpověď #30 kdy: 20. 09. 2025, 21:18:24 »
Lidi co říkají, že rust nenahradí C++ žijou ve vlastním omezeném světě.

Tak určite...


Re:Přechod z JAVA na RUST (ANO či NE)
« Odpověď #31 kdy: 20. 09. 2025, 21:24:19 »
Existujú merateľné štatistiky koľko znakov či riadkov kódu je potreba pre dosiahnutie stejnej funkcionality v JS a Jave
Nějaké ještě méně relevantní kritérium už vás nenapadlo?

Re:Přechod z Javy na Rust. Ano či ne?
« Odpověď #32 kdy: 20. 09. 2025, 21:33:09 »
v kompilátoru bugy, ... které umožňují v safe kódu vyvolat segfault nebo přetypovat cokoliv na cokoliv jiného.
Rust sice i v unsafe něco hlídá, ale podstatou unsafe je, že to může zbuchnout (dokonce i transitivně v safe kódu který unsafe použije). Takže jaký bug?

Třeba tohle je bug starý cca 10 let, který ani nevím jestli někdo umí opravit (protože, kdyby to uměli, tak by ho tam nejspíš nenechali). Je to program, co používá již uvolněný vektor:

Kód: [Vybrat]
static UNIT: &'static &'static () = &&();

fn helper<'a, 'b, T>(_: &'a &'b (), v: &'b T, _: &()) -> &'a T { v }

fn anything_to_static<'a, T>(x: &'a T) -> &'static T {
    let f: fn(_, &'a T, &()) -> &'static T = helper;
    f(UNIT, x, &())
}

fn main() {
    let v = vec![1; 50_000_000];
    let my_ref = &v;
    let static_ref = anything_to_static(my_ref);
    drop(v);

    // Use after free.
    let sum: u64 = static_ref.iter().sum();
    println!("{}", sum);
}

Číslo bugu 25860

Re:Přechod z Javy na Rust. Ano či ne?
« Odpověď #33 kdy: 20. 09. 2025, 21:38:00 »
Případně si ten můj program lze pustit v playgroundu a uvidí, že výsledkem je SIGSEGV.

Kit

  • *****
  • 872
    • Zobrazit profil
    • E-mail
Re:Přechod z Javy na Rust. Ano či ne?
« Odpověď #34 kdy: 20. 09. 2025, 21:49:41 »
Rust konkuruje více jazykům - C, C++, Go, node.js, Java, atd...

Ono se to nezdá, ale rust je celkem multiúčelový a díky package managementu je celkem jednoduché ho použít pro různé věci. Já už bych třeba nikdy nechtěl psát server nějaké služby v C++. Kdysi jsem měl oblíbený node.js právě pro tu jednoduchost napsat v tom nové věci nebo nějaké jednoduché služby, co jsem potřeboval, ale dnes mám radši rovnou použít rust.

Psát webovou aplikaci v C úplně normální není. V Rustu klidně. Je to jen o trošku těžší než v PHP, nebo Pythonu.

Když jsem nucen psát v PHP, Python, Javascript je to proto, protože klient má hosting, nebo legacy kód, nebo vývojáře.
Když jsem nucen psát v C#, je to proto, protože klient má existující codebase a vývojáře.
Když jsem nucen psát v Javě, tak proto, protože telefony. Ale Rust už zalejzá i tam.
Javascript/Typescript do prohlížeče je stále nejvhodnější volba.

Jasné vyjádření, že pro různé účely jsou vhodné různé jazyky. Za mne pro web PHP, výstupní šablony XSLT, frontend Javascript, systémové utility C/C++ nebo možná i Rust, pro AI Python, pro síťové nástroje Go, pro obchodní aplikace Java a další. Vzájemně se jejich působnost překrývá, však to jsou Turingovsky kompletní jazyky - tedy až na SQL a jemu podobné.


BoneFlute

  • *****
  • 2 052
    • Zobrazit profil
Re:Přechod z Javy na Rust. Ano či ne?
« Odpověď #35 kdy: 20. 09. 2025, 22:55:47 »
...

Tak teď jsem si pěkně naběhl. Přehlédl jsem se, a myslel jsem si, že píšeš o unsafe kódu, ale ty jsi psal o safe.
Sorry.
A děkuji za příklad.

Re:Přechod z Javy na Rust. Ano či ne?
« Odpověď #36 kdy: Dnes v 01:36:19 »
Lidi co říkají, že rust nenahradí C++ žijou ve vlastním omezeném světě. Ono už se to totiž děje, sice salámovou metodou, ale jede se.
Tak jim to dopřejme.

Predpokladám rustizáciu C++, už rustoví krtkovia pracujú a je to nepopulárne. https://developers.slashdot.org/story/25/09/20/0449252/c-committee-prioritizes-profiles-over-rust-style-safety-model-proposal