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

CHe

Re:Přechod z Javy na Rust. Ano či ne?
« Odpověď #60 kdy: Dnes v 21:48:21 »
Moje odpověď je rust, ale hodně firem použije na server věci prostě golang
To, na čo sa dá použiť golang, nie je normálne nika pre C/C++/Rust like jazyky, to už sa dá rovnako dobre spáchať aj v Jave (s komfortom a zázemím solídneho konzervatívneho ekosystému tvoreného príčetnými ľuďmi, na rozdiel trebárs od PHP/JS bordelu) alebo inom GC jazyku s tučným runtime. Sila tamtej trojice je práve tam, kde z rôznych dôvodov nie je vhodný fat GC runtime – námatkovo napr. firmvéry, systémový sw., ovládače, meranie a regulácia, signal processing, computer vision, low latency služby a pod.

Ono celá téma vlákna je dosť bizár, prechod z Javy na Rust je niečo ako prechod z C# na C, proste úplne iné svety adresujúce iné okruhy problémov a vyžadujúce do veľkej miery aj iné zručnosti.


Re:Přechod z Javy na Rust. Ano či ne?
« Odpověď #61 kdy: Dnes v 22:01:00 »
Ono celá téma vlákna je dosť bizár, prechod z Javy na Rust je niečo ako prechod z C# na C, proste úplne iné svety adresujúce iné okruhy problémov a vyžadujúce do veľkej miery aj iné zručnosti.

Rust je vcelku vysokoúrovňový. Hodně se inspiroval ML jazyky a Haskellem. Osobně mi nepřijde o moc jiné psát v Rustu a F#. Moc nízkoúrovňových věcí v Rustu řešit nemusíte, pokud používáte standardní knihovnu. Občas je dokonce jednodušší psát v Rustu než v Javě, protože ta API v Rustu nejde použít špatně díky typovému systému.

Zrovna z C# do C je úplně něco jiného než z Javy do Rustu.

CHe

Re:Přechod z Javy na Rust. Ano či ne?
« Odpověď #62 kdy: Dnes v 22:33:39 »
Je to nízkoúrovňový jazyk už len čisto nutnosťou riešiť explicitne memory management, životnosť a ownership. Čo je niečo, čo v bežnej komplexnejšej biznis aplikácii, na ktorej vývoj nie je k dispozícii celý čas sveta, človek normálne riešiť nechce.

Rovnako ako opačne, nechcem GC runtime, keď píšem regulačnú slučku pre 48 MHz Cortex-M0 s 8k SRAM alebo modul do jadra.

BoneFlute

  • *****
  • 2 058
    • Zobrazit profil
Re:Přechod z Javy na Rust. Ano či ne?
« Odpověď #63 kdy: Dnes v 22:55:59 »
Je to nízkoúrovňový jazyk už len čisto nutnosťou riešiť explicitne memory management, životnosť a ownership. Čo je niečo, čo v bežnej komplexnejšej biznis aplikácii, na ktorej vývoj nie je k dispozícii celý čas sveta, človek normálne riešiť nechce.

Rovnako ako opačne, nechcem GC runtime, keď píšem regulačnú slučku pre 48 MHz Cortex-M0 s 8k SRAM alebo modul do jadra.

Já bych si dovolil vám oponovat.

GC se píše kvůli pohodlnost vývojářů jazyka, nikoliv kvůli pohodlnosti uživatelů jazyka (zde trochu zjednodušuju).

Rust není nízkoúrovňový jazyk. Je to naopak vysokoúrovňový jazyk, který dokáže dělat aplikace s výkonem na úrovni C. Jazykové konstrukce, které máte v Rustu nemáte ani v C# ani v Javě ani v Pythonu. Prohlásit, že Rust je nízkoúrovňový jazyk může jen někdo, kdo nezkoušel přepínat mezi C#/Java a Rustem.

Ano, musíte řešit explicitně životnost a ownership. Což ale v praxi jednak není tak zlé, a druhak i v Javě musíte řešit paměť a souběhy.

Ostatně v tom je přesně ten problém Rustu, který s ním mají Céčkaři. Doteď všechny vysokoúrovňové jazyky za to platili nějakou cenu. Nejčastěji paměť a rychlost. To se s Rustem změnilo.