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

Re:Přechod z Javy na Rust. Ano či ne?
« Odpověď #105 kdy: Dnes v 12:52:11 »
To, že něčemu důvěřuješ je sice hezké, ale to ještě neznamená, že tam nejsou kritické chyby. Ty se vždycky objeví i u těch nejdůležitějších projektů. Důležité je mít o tom všem přehled, a ten prostě nemáš, když si děláš všechno sám.

Mít minimum závislostí v C++ projektu není žádný benefit - je to důsledek toho, že C++ nemá package management tak jako ostatní jazyky. Header-only knihovny taky vznikly jen z toho důvodu, aby nikdo nemusel řešit kompilaci těch knihoven, a malé knihovny co řeší jen velmi konkrétní problém v C++ skoro neexistujou a nebo je nikdo nepoužívá kvůli tomu, aby neměl další závislost, o kterou se musí "manuálně" starat.

Mít package management je automatizace, nemít ho znamená dělat všechno ručně... Je to čistá ztráta času vývojáře.
« Poslední změna: Dnes v 12:54:34 od anonacct »


Re:Přechod z Javy na Rust. Ano či ne?
« Odpověď #106 kdy: Dnes v 14:01:36 »
To, že něčemu důvěřuješ je sice hezké, ale to ještě neznamená, že tam nejsou kritické chyby. Ty se vždycky objeví i u těch nejdůležitějších projektů. Důležité je mít o tom všem přehled, a ten prostě nemáš, když si děláš všechno sám.

S první částí souhlasím. Týká se to samozřejmě i LLVM, kompilátoru, běhového prostředí, standardní knihovny... To je další důvod, proč jsem s Rustem opatrný. Kompilátor Rustu má přes milion řádků kódu a je poměrně komplikovaný, takže je tam velká pravděpodobnost chyb. Podobně i standardní knihovna, která je plná složitého unsafe kódu. Naopak třeba kompilátor C3 je o dost jednodušší a standardní knihovna je téměř primitivní.

Citace
Mít minimum závislostí v C++ projektu není žádný benefit

Zkušenost mi ukázala, že to je obrovský benefit. Nejen v C, C++, ale i v F# nebo Rustu. Nejvíc problémů vznikalo po updatu závislostí. Kolikrát to navíc byl i update na nějaké minor verzi, který teoreticky neměl rozbít nic, ale skutečnost byla jiná.


Re:Přechod z Javy na Rust. Ano či ne?
« Odpověď #107 kdy: Dnes v 14:21:30 »
Já si ale nechci psát vlastní asio, fmt, spdlog, JSON parser, XML parser, YML parser, algebru, OpenCV, ... Nedělal bych nic jiného než si jen psal to co už je 1000x hotové. Pokud si člověk vybere knihovny, které jsou battle tested, tak s tím přece není problém.

Jen super jednoduché projekty nic nepotřebujou.
« Poslední změna: Dnes v 14:24:16 od anonacct »

Re:Přechod z Javy na Rust. Ano či ne?
« Odpověď #108 kdy: Dnes v 17:06:06 »
Nejvíc problémů vznikalo po updatu závislostí.
Což ale neznamená, že nepoužíváním závislostí těch problémů nebudete mít ještě daleko víc.

Kolikrát to navíc byl i update na nějaké minor verzi, který teoreticky neměl rozbít nic, ale skutečnost byla jiná.
To je bohužel realita – sémantické verzování je hezká teorie, ale v praxi nejsou hranice mezi opravou a změnou funkcionality tak ostré.

Re:Přechod z Javy na Rust. Ano či ne?
« Odpověď #109 kdy: Dnes v 17:17:30 »
Nejvíc problémů vznikalo po updatu závislostí.
Což ale neznamená, že nepoužíváním závislostí těch problémů nebudete mít ještě daleko víc.

Používám méně závislostí a těch problémů mám méně. Ale samozřejmě, nemusí to platit obecně.

Napsat si něco sám má své výhody i nevýhody. Výhodou je, že nad tím mám plnou kontrolu - dodržuji zpětnou kompatibilitu, když to potřebuji, nedávám tam funkcionalitu, co nepotřebuji. Nevýhodou je, že stojí čas si to napsat. Občas to je však méně času, než se naučit používat cizí knihovnu, nebo tu cizí knihovnu ohnout, aby fungovala, jak potřebuji.