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

  • *****
  • 873
    • 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 056
    • 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: 21. 09. 2025, 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

BoneFlute

  • *****
  • 2 056
    • Zobrazit profil
Re:Přechod z Javy na Rust. Ano či ne?
« Odpověď #37 kdy: 21. 09. 2025, 02:19:44 »
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

Profily jsou rozumný kompromis: snaží se dát nějaké záruky, ale s ohledem na realitu C++ ekosystému – velké množství legacy kódu, zpětné kompatibilita, nemožnost dosáhnout výsledku, aniž by se udělal zásadní řez do jazyka. Velkou roli hraje i mentální nastavení Céčkarů, kteří se jen neradi vzdávají pocitu kontroly nad kódem.
A naopak, pokud by někdo opravdu chtěl zaručenou paměťovou bezpečnost jako v Rustu, profily pravděpodobně nebudou stačit – chybí některé klíčové mechanismy (borrow checker, restrikce aliasování mutable referencí, atd.).

Na druhou stranu dobrá zpráva je, že pro nové aplikace není důvod již C++ používat.

Re:Přechod z Javy na Rust. Ano či ne?
« Odpověď #38 kdy: 21. 09. 2025, 19:55:53 »
Na druhou stranu dobrá zpráva je, že pro nové aplikace není důvod již C++ používat.

To už láskavo nechajte na tých, ktorí o tom rozhodujú.

a6b

  • ***
  • 143
    • Zobrazit profil
    • E-mail
Re:Přechod z Javy na Rust. Ano či ne?
« Odpověď #39 kdy: 21. 09. 2025, 20:05:05 »
javu jsem mel kdysi rad kvuli gui s knihovnami swing.
c++ musim pouzivat profesne, ale radeji mam ciste c.
takze chci si javu i c++ ponechat a doucit se rust, ale jeste vice se mi libi golang, kvuli podobe s c.
rust mi pripada jako potomek c++ a golang jako potomek c.

BoneFlute

  • *****
  • 2 056
    • Zobrazit profil
Re:Přechod z Javy na Rust. Ano či ne?
« Odpověď #40 kdy: 21. 09. 2025, 20:50:07 »
doucit se rust, ale jeste vice se mi libi golang, kvuli podobe s c.
rust mi pripada jako potomek c++ a golang jako potomek c.

golang vnímám jako zjednodušení C, escape-analýza, etc.
U Rustu nevidím nic, co by měl společného s C++. Jde úplně jinou cestou. Skoro až opačnou.

Re:Přechod z Javy na Rust. Ano či ne?
« Odpověď #41 kdy: 21. 09. 2025, 20:58:51 »
U Rustu nevidím nic, co by měl společného s C++. Jde úplně jinou cestou. Skoro až opačnou.

Proto to s tím nahrazováním C++ nebude až tak horké.

BoneFlute

  • *****
  • 2 056
    • Zobrazit profil
Re:Přechod z Javy na Rust. Ano či ne?
« Odpověď #42 kdy: 21. 09. 2025, 21:07:07 »
U Rustu nevidím nic, co by měl společného s C++. Jde úplně jinou cestou. Skoro až opačnou.

Proto to s tím nahrazováním C++ nebude až tak horké.

Pro kterou aplikaci je C++ vhodnější než Rust?

- Micročipy (ale prej...)
- Legacy aplikace napsaná v C++
- C++ vývojáři
- Možná ještě to stabilní ABI by mohlo něco znamenat, ale to nedokážu posoudit.

Napadá vás něco dalšího?

Re:Přechod z Javy na Rust. Ano či ne?
« Odpověď #43 kdy: 21. 09. 2025, 21:08:14 »
U Rustu nevidím nic, co by měl společného s C++.

Memory model. Čo je mimochodom celkom podstatná vec...

Re:Přechod z Javy na Rust. Ano či ne?
« Odpověď #44 kdy: 21. 09. 2025, 21:16:29 »
Pro kterou aplikaci je C++ vhodnější než Rust?

- Micročipy (ale prej...)
- Legacy aplikace napsaná v C++
- C++ vývojáři
- Možná ještě to stabilní ABI by mohlo něco znamenat, ale to nedokážu posoudit.

Napadá vás něco dalšího?

Ani nie, iba toto: Qt/Qt3D, Unreal Engine, Chromium a systémy založené na ňom, CUDA/HIP, OpenCV, CGAL/OpenCascade, API CAD aplikácií, no a potom všetko, kde potrebujete certifikáciu, pre Automotive/aerospace/medical, ako napríklad MISRA/AUTOSAR/ISO 26262/DO-178C