Budoucnost Rust v embedded světě

Re:Budoucnost Rust v embedded světě
« Odpověď #45 kdy: 14. 05. 2025, 14:46:02 »
To si nerozumíme. To není v tom, že je to boží řízení. To je v tom, že vy neumíte počítat. Já vám opravdu nezaplatím x $ za to, abyste vy měl pocit, že je to správně.

Možná ještě příklad:

Já když budu chtít vytvořit projekt, a budu poptávat vývojáře, tak vyrazím dveře s vývojářem, který mi bude tvrdit, že v C to napíše lépe, ekonomičtěji, než to by to napsal nědo jiný v Rustu. Když vím, že ten C vývojář bude desetkrát dražší, zatímco to Rust programátor to udělá líp, i když bude méně zkušenej, a výsledný kód bude měně optimální, což se mi do ceny nepromítne.
Ano, mohli bychom se tu vzájemně obviňovat z toho, že já neumím počítat a vy zase, že jste fanatický zastánce Rustu. Nevím, kolik vám je, ale pro mě je to už třetí hype, jehož jsem svědkem-nejdřív zázračné C++, pak zázračná Java a teď zázračný Rust. Nevím, kde jste vzal nesmysl, že nezkušený vývojář v Rustu něco udělá lépe a levněji než průměrný vývojář v C (C++, Javě, Go, Pascalu, whatever...). Sorry, ale tohle už je nějaké náboženství-jak ty články, že něco je napsané v Rustu (sláva!), někdo něco přepsal do Rustu (Rust rulez!), někdo se rozhodl zastavit projekt v Rustu (hanba mu, špatné rozhodnutí bez ohledu na fakta)...
Původní dotaz byl na budoucnost Rustu v embedded světě. Můj názor je, že momentálně je to spíše marginální záležitost a že se na tom nejspíš v blízké budoucnosti nic nezmění. Ve vzdálenější zas někdo přijde s něčím jiným, módnějším, "modernějším", až se opět ukáže, že programy v Rustu nejsou víc sexy, než kdyby byly napsány v čemkoli jiném. Důvodem je, že Rust nepřináší nic tak zásadního, jako bylo C oproti assembleru, a není to ani "(eko)systémový jazyk", jako je tomu v Unixu, z něhož se přirozeně rozšiřovalo dál. Ono i to C++ je v embedded světě takové rozpačité, spousta kódu co jsem v této oblasti viděl na mě působí dojmem upachtěného OOP, tj. vymyslím nějak třídy a objekty, i když to v dané situaci vůbec nic nepřináší, jen více kódu a nepřehlednosti. Prostě mnou kritizovaná bezhlavá grafománie.
Asi bych Rust doporučoval místo C++. Ale zároveň bych vážil, zda v dané situaci neexistuje ještě příhodnější možnost, např. kombinace více jazyků s rozvrstvením do více úrovní/modulů. Ale to už opět míří spíše na desktopy a servery.


Re:Budoucnost Rust v embedded světě
« Odpověď #46 kdy: 14. 05. 2025, 15:26:04 »
Nevím, kde jste vzal nesmysl, že nezkušený vývojář v Rustu něco udělá lépe a levněji než průměrný vývojář v C (C++, Javě, Go, Pascalu, whatever...).

že programy v Rustu nejsou víc sexy, než kdyby byly napsány v čemkoli jiném. Důvodem je, že Rust nepřináší nic tak zásadního, jako bylo C oproti assembleru..

Jenže napíše a přináší. Rust přináší nejlépe integrovanou statickou analýzu, jakou jsme dosud pro nízkoúrovňové programování měli k dispozici. Tudíž i ten nezkušený vývojář se vyhne spoustě paměťových a souběhových chyb.

Nemluvě o tom, jak vypadají chybová hlášení překladače v Rustu a C/C++. Viděl jste někdy, jak moc Vás to navádí k tomu, co máte opravit?

Pro C/C++ existují nástroje na statickou analýzu, ale nikdy nebyly tak pohodlné a integrované. To samé infrastruktura kolem unit testů a vůbec správy závislostí.

Rust se prostě objevil ve vhodnou chvíli a hodně zvedl komfort a jistotu při vývoji. Nic nového na této úrovni zatím na obzoru není. Naopak Rust má za sebou firmy jako Ferrocene a díky ní i certifikaci překladače pro kritické systémy.

BoneFlute

  • *****
  • 2 033
    • Zobrazit profil
Re:Budoucnost Rust v embedded světě
« Odpověď #47 kdy: 14. 05. 2025, 16:40:46 »
Rust se prostě objevil ve vhodnou chvíli a hodně zvedl komfort a jistotu při vývoji. Nic nového na této úrovni zatím na obzoru není.

Bylo to naprosté zjevení.

Jazyk se zárukama na úrovni Haskellu s výkonem na úrovni C? Jazyk s nástroji jako enterprise Java? Se nedivím, že tomu člověk nechce uvěřit.

Toto vlákno je zajímavé i tím, že jsem si do teď myslel, že embedded je taková poslední bašta, kde má smysl jazyky jako C používat, právě proto, že se tam šíbuje ještě na úrovni assembleru. Ale překvapuje mě, že zřejmě ne.

Re:Budoucnost Rust v embedded světě
« Odpověď #48 kdy: 14. 05. 2025, 19:52:01 »
Citace
Já používám formální analýzu výjímečně a vlastně pouze v FPGA designech, v místech, kde se řeší střet více hodinových domén.... většinou nad VHDL, což je de fakto ADA.
Moc děkuji za odpověď, VHDL jsem neznal. Cvičně jsem si nechal umělou chytrostí vygenerovat nějaký ten kód a vidím známou syntaxi s is - begin - end. Podobně jsem postupoval i u PL/SQL který je na tom podobně, jsem rád, že deriváty mého oblíbeného jazyka existují a stále se používají.

Re:Budoucnost Rust v embedded světě
« Odpověď #49 kdy: 03. 06. 2025, 17:24:54 »
Jazyk s nástroji jako enterprise Java?

Tomuhle nerozumim. Nemel bys priklad nebo dva?


BoneFlute

  • *****
  • 2 033
    • Zobrazit profil
Re:Budoucnost Rust v embedded světě
« Odpověď #50 kdy: 03. 06. 2025, 21:26:57 »
Jazyk s nástroji jako enterprise Java?

Tomuhle nerozumim. Nemel bys priklad nebo dva?

Tak třeba Java má Maven, Haskell má Cabal, Rust má Cargo.

Java má junit, Haskell má cabal test (hunit, QuickCheck, Hedgehog), Rust má Cargo test

Java má Checkstyle, PMD, SpotBugs, SonarQube; Haskell má HLint, Weeder; Rust má Clippy, Rustfmt

No, C má samozřejmě make. Což je v souladu s filozofií C: udělej si sám.

Těch nástrojů je přirozeně mnohem víc, ale já narážel na nástroje, které jsou součástí "balení", s důrazem na správu závislostí. Ta je v C tak nějak nic. Narazil jsem na nějaký Conan a Hunter - což vidím poprvé. Je rozšířené Meson, což je celkem fajn. Ale nic co by se jen vzdáleně podobalo cargu, cabalu, nebo mavenu.

Re:Budoucnost Rust v embedded světě
« Odpověď #51 kdy: 03. 06. 2025, 21:59:18 »
A jo takhle. Ja myslel, ze kdyz mluvis o "enterprise" tak ze je to o https://www.oracle.com/java/technologies/java-ee-glance.html

A uz sem hledal JPA, CDI, JTA, JAX-RS a podobne u rustu...

BoneFlute

  • *****
  • 2 033
    • Zobrazit profil
Re:Budoucnost Rust v embedded světě
« Odpověď #52 kdy: 03. 06. 2025, 22:21:46 »
A jo takhle. Ja myslel, ze kdyz mluvis o "enterprise" tak ze je to o https://www.oracle.com/java/technologies/java-ee-glance.html

A uz sem hledal JPA, CDI, JTA, JAX-RS a podobne u rustu...

Tak to sorry za zmatení.

Na druhou stranu k tomu, o čem mluvíš, tak jsem toho pro Rust našel překvapivě dost alternativ. Spoustu z nich ale v alfa verzi vývoje nutno podotknout.

Proti Javě, natož C je samozřejmě Rust strašný mládě. To je nutno brát. A opět, v Rustu píšou většinou schopnější lidi, plus stojí na ramenou předchůdců, takže i když je to alfa, tak bejvá dost dobrá.

- JPA: Diesel, SeaORM
- CDI: shaku
- JAX-RS: Actix Web, Axum, Rocket

Re:Budoucnost Rust v embedded světě
« Odpověď #53 kdy: 05. 06. 2025, 19:06:53 »

A opět, v Rustu píšou většinou schopnější lidi


Máte k tomu nejaký relevantný podklad?

Myslím, že objektívne by ste to mohli byť schopní posúdiť až keby sa stalo, že by všetci, ktorí píšu v C a v C++, boli nútení prejsť na Rust.

Vlastne by to mohlo byť veľmi zaujímavé porovnanie.

To, že niekto ostáva s C alebo s C++ nemusí znamenať, že je menej schopný, ale to, že softvér, ktorý ho zaujíma sa píše v tých jazykoch.

Re:Budoucnost Rust v embedded světě
« Odpověď #54 kdy: 05. 06. 2025, 19:31:27 »

A opět, v Rustu píšou většinou schopnější lidi


Máte k tomu nejaký relevantný podklad?

Myslím, že objektívne by ste to mohli byť schopní posúdiť až keby sa stalo, že by všetci, ktorí píšu v C a v C++, boli nútení prejsť na Rust.

Vlastne by to mohlo byť veľmi zaujímavé porovnanie.

To, že niekto ostáva s C alebo s C++ nemusí znamenať, že je menej schopný, ale to, že softvér, ktorý ho zaujíma sa píše v tých jazykoch.

Myslím, že BoneFlute myslel "schopnější než průměr", spíš než "schopnější než v C/C++"...

BoneFlute

  • *****
  • 2 033
    • Zobrazit profil
Re:Budoucnost Rust v embedded světě
« Odpověď #55 kdy: 06. 06. 2025, 00:07:20 »

A opět, v Rustu píšou většinou schopnější lidi


Máte k tomu nejaký relevantný podklad?

Myslím, že objektívne by ste to mohli byť schopní posúdiť až keby sa stalo, že by všetci, ktorí píšu v C a v C++, boli nútení prejsť na Rust.

Vlastne by to mohlo byť veľmi zaujímavé porovnanie.

To, že niekto ostáva s C alebo s C++ nemusí znamenať, že je menej schopný, ale to, že softvér, ktorý ho zaujíma sa píše v tých jazykoch.

Myslím, že BoneFlute myslel "schopnější než průměr", spíš než "schopnější než v C/C++"...

Přesně tak. Někdo, kdo dokáže napsat dobrý kód v C, nebo C++ je bez pochyby velmi dobrý programátor.

U Rustu je problém v tom, že v něm dokáže napsat dobrý kód každý, kdo ho v Rustu dokáže napsat.

Ink

  • *****
  • 686
    • Zobrazit profil
    • E-mail
Re:Budoucnost Rust v embedded světě
« Odpověď #56 kdy: 06. 06. 2025, 10:32:21 »
Přesně tak. Někdo, kdo dokáže napsat dobrý kód v C, nebo C++ je bez pochyby velmi dobrý programátor.

U Rustu je problém v tom, že v něm dokáže napsat dobrý kód každý, kdo ho v Rustu dokáže napsat.

Trošku bych to zmírnil - naprasit špatně udržovatelný kód se dá prakticky všude. Jsou ale jazyky, které hodně ztěžují vytvoření některých chyb v návrhu. C je těsto nebo hlína, ze které(ho) se dá uplácat prakticky cokoli a je mu to jedno. Rust je partner, který klade nepříjemné otázky a brání se (ale zase na druhou stranu v mnoha věcech pomáhá - od vrstev abstrakce až po build system).