Já tada říkám!
GNU-coreutils mají blbě napsané testy a dokumentaci.
3. 7. 2026, 17:31 editováno autorem komentáře
No ale su uzitocne, preto sa pouzivaju.
Kde su tie doby, ked som si do solarisu instaloval gnu, aby som mal decentnejsi userland nez ten od Sunu.
S Rustem taktéž souvisí zprávička
"Ubuntu Sponsors Rust Clone Foundation"
https://www.youtube.com/watch?v=3RZ2VELN4Sk
Tlak na prosazování Rustu je krajně nepřirozený. Technické zlepšení se nezdá dostatečné, jestli vůbec nějaké. Bezpečnostní přínos se zdá pochybný. Vysvětluju si to buď zaslepeným fanatismem, nebo obchodními zájmy korporací za nevědomé pomoci užitečných idiotů v náš neprospěch. Podle mého názoru je Rust je trojský kůň s postraními cíli.
> Technické zlepšení se nezdá dostatečné, jestli vůbec nějaké. Bezpečnostní přínos se zdá pochybný.
Připomíná mi to slova mého pradědečka, který používal hodně obdobná slova k čerstvému vynálezu ohně. Co že to všichni s tím máme, vždyť kožešina zahřeje stejně, tak co.
Co se zdá, to je sen. Všechny ty korporace, které z C a C++ přecházejí na Rust, nejsou asi úplně blbé a pracují na tom léta. Navíc, v době AI, je Rust jeden z nejvhodnějších jazyků pro AI assisted programming. Ale ten trojský kůň mě zajímá - nikdy není pozdě přijít s nějakou konspirační teorií.
Všechny ty korporace, které z C a C++ přecházejí na Rust, nejsou asi úplně blbé
Myslím, že to je prostší - přecházíme na Rust protože přechází ostatní. Je to módní vlna.
Navíc, v době AI, je Rust jeden z nejvhodnějších jazyků pro AI assisted programming.
Na druhé straně existují jazyky s mnohem silnějšími typovými systémy, které by teoreticky měly být mnohem vhodnější. Třeba starší ATS (Applied Type System).
> Myslím, že to je prostší - přecházíme na Rust protože přechází ostatní. Je to módní vlna.
Těch možných směrů zase tolik není a potřeboval bych vědět, proč tedy nějaký jiný byl lepší. A odejít od C a C++ je reálná potřeba.
> Na druhé straně existují jazyky s mnohem silnějšími typovými systémy, které by teoreticky měly být mnohem vhodnější. Třeba starší ATS (Applied Type System).
Tomu se nebráním. Viděl jsem ale dost těch "geniálních" jazyků a žádný z nich se nechytil, Rust ano. Základní hypotéza tedy je, že je v něčem výrazně lepší.
Viděl jsem ale dost těch "geniálních" jazyků a žádný z nich se nechytil, Rust ano. Základní hypotéza tedy je, že je v něčem výrazně lepší.
Můj názor je, že se jedná o náhodu. Podobně jako, proč je nějaký zpěvák nebo kniha oblíbenější. U jazyků to může být třeba, proč vyhrálo C oproti jazyku Modula.
Náhoda většinou (možná vždy) označuje jen situaci, kdy neznáme příčinu. Což ale neznamená, že ta příčina neexistuje.
Zrovna u Sportky tu příčinu známe docela dobře, je to pár fyzikálních zákonů. Akorát vás asi nenechají dostatečně přesně změřit počáteční stav a nespočítáte to. Ale v kasinech to občas někdo spočítá, nebo se o to snaží.
Myslím, že to je prostší - přecházíme na Rust protože přechází ostatní. Je to módní vlna.
Myslím, že je to prostší – ty firmy si prostě vyhodnotily, že Rust bude pro jejich projekty lepší.
Na druhé straně existují jazyky s mnohem silnějšími typovými systémy, které by teoreticky měly být mnohem vhodnější. Třeba starší ATS (Applied Type System).
Jenže pořád neprogramuje jen AI na zelené louce. Pořád tu máme starší projekty, pořád chceme, aby kódu rozuměli lidští vývojáři. Nevyhrávají jazyky, které jsou nejsilnější v jedné věci a slabé v ostatních. Vyhrávají ty, které jsou nadprůměrně silné v jedné či více oblastech a silné v ostatních.
Myslím, že je to prostší – ty firmy si prostě vyhodnotily, že Rust bude pro jejich projekty lepší.
IMHO to by šlo možná posoudit, kdyby nějaké projekty naprogramovaly ve více jazycích a pak to porovnaly. Jenže málokdo to skutečně udělá. Většina lidí a firem si jen řekne: "Tady používají tohle, jak použijeme také tohle." Nebo: "Tady píší, že tohle je dobré, tak použijeme tohle."
Bohužel málokdo udělá vlastní výzkum a třeba rok nebo dva zkouší a učí se alternativy.
> Na druhé straně existují jazyky s mnohem silnějšími typovými systémy, které by teoreticky měly být mnohem vhodnější. Třeba starší ATS (Applied Type System).
Neznám do detailů všechny tyto jazyky, takže střelba od pasu: Jde o přínosy vs. náklady. Rustu se podařilo udělat významný pokrok proti C v bezpečnosti. Z hlediska komfortu je to jak kdy – v některých věcech pomáhá (např. pattern matching), někdy kvůli borrow checkeru dává další nároky* (lifetime). Nepochybuji, že lze s kontrolou při překladu jít ještě dál, ale za cenu dalších nákladů. Spousta lidí vidí Rust jako sweet spot, kde přínosy jsou vyšší než náklady.
Druhá možnost je síťový efekt, díky kterému máme ekosystém i programátory. Ten může být způsoben z části praktičností pro jiné projekty (=> některé projekty by možná radši zvolily třeba i striktnější jazyk, ale kvůli ekosystému a dostupnosti programátorů dají přednost Rustu), částečně marketingem (používá to Mozilla => asi stojí za to se na to kouknout).
*) I když, u většího projektu to možná ve srovnání s Cčkem nebudou nároky navíc. IMHO dobrý Cčkový kód většího projektu by měl dokumentovat správu paměti, aspoň slovy, aby se v tom vývojáři neztratili. V Rustu to musí vývojář někdy psát formálním zápisem, který je na druhou stranu strojově dobře zpracovatelný.
Mimochodem, teď koukám na WIki stránku ATS:
pattern matching exhaustivity
as in case+, val+, type+, viewtype+, ...
with suffix '+' the compiler issues an error in case of non exhaustive alternatives
without suffix the compiler issues a warning
with '-' as suffix, avoids exhaustivity control
Typický jazyk pejska a kočičky. V praxi nikdy není potřeba non exhaustive pattern matching. Ale někdo si myslel, že to může potěšit a tak to tam dal. Footgun included, proč vlastně ne... A ta ML syntaxe se neuchytila, prostě o ni není moc zájem.
Exhaustivity check nepotřebujete u enumů, které nerozšiřujete. Např. u Option, Weekday, ...
A ta ML syntaxe se neuchytila, prostě o ni není moc zájem.
Souhlas. Ale není to zase jen o nějaké módě?
To s tím exhaustivity checkem jsem nepochopil. Znamená to třeba, že když u Option pořeším jenom Some<T>, je to v pohodě?
Móda podle mě pro preferenci syntaxe není dostatečné vysvětlení. Móda se mění, nicméně ML, LISP atd. nikdy masově neprorazily. A že se u toho LISPu a jeho dialektů opakovaně vývojáři snažili.
Zato prorazil JavaScript, jen proto, ze mel lepsi startovni caru. Co to rika o tom, jak dobri jsou develove pri vyberu technologii, to je na zvazenou :)
> Zato prorazil JavaScript, jen proto, ze mel lepsi startovni caru. Co to rika o tom, jak dobri jsou develove pri vyberu technologii, to je na zvazenou
No a dnes už to je jazyk postupně nahrazován TypeScriptem. Pokud se bavíme o frontendu, tam je to rozhodnutí výrobců browserů.
> Pokud se bavíme o frontendu, tam je to rozhodnutí výrobců browserů.
Představme si situaci, že třeba Ladybird přibalí cojávím, tcl. Vývojáři budou mít na výběr a) stejně poslat klientovi javascript, anebo b) vyžadovat jeden konkrétní prohlížeč, protože nikdo z ostatních se do toho nehrne.
To rozhodnutí je dané vlastně jenom setrvačností toho, že spousta věcí už v javascriptu je - tedy se ho nedá dost dobře zbavit - a když už v prohlížeči jeden jazyk je, experimentování s čímkoliv jiným bude mít jenom omezený dopad, ledaže by se prohlížeče shodly. Všichni se shodli na javascriptu; a pak až na wasm. Nevidím naději, že by tady prorazil nějaký lepší jazyk.
Zmínit nestačí. Je potřeba také vzít na vědomí, změnit názor tak, aby odpovídal faktům – a pak napsat úplně jiný komentář.
IMO při psaní matche je lehké si pohlídat, zda jsem pokryl vše, co potřebuji. Co je těžké, a kde exhaustivity check pomůže, je když enum rozšířím - díky exhaustivity checku nemusím procházet všechny matche, abych je zkonbtroloval, ale kompilátor mě na to může upozornit.
Chtěl jsem říct, že je dost situací, kde exhaustivity hlídat nepotřebuji a třeba i v Rustu použiji _ => {}.
Nedavno jsem (diky synovi, ktery udelal install flashku) instaloval Ubuntu 26.nevimco; uz jsem si tak nejak zvykl na to, ze od urcite doby musim v Ubuntu chvili stravit ruznymi apt install, abych z toho udelal system, na ktery jsem zvykly. Aby tam byl treba ifconfig, prekladac, atd.;
Jenze to letosni Ubuntu je nejaky uplne novy level, spousta veci tam uz funguje i z ciste uzivatelskeho hlediska jinak, z meho pohledu ne-Unixove. A spousta veci nefunguje vubec, nebo nejak podivne blbe. Jako kdyby to cele uz delala generace lidi, kteri nezazili Unix takovy, jaky "byl" (a tim nemyslim zhuverilosti z cisteho System V, ale modernejsi, rekneme systemy z konce 90-ek a po mileniu, ktere uz zacinaly mit komfort typu historie v bashi misto prosteho ksh apod. ;).
Nepocitam do toho aktualni "knihovnove" nebo "zavislostni" peklo, ktere je snad horsi nez co je ve Windows a rozbijeni userlandu s uutils a podobnymi silenostmi, nebo ze velikost trivialnich programku; myslim skutecne takovou tu 'user experience' bez nejakeho zabredani do technikalii.
Zcela souhlasim.
Smer Ubuntu je proste takovej - ze konverguje k Windows - a ten zase k Ubuntu, coz je fer zminit.
A ja si taky nemuzu pomoct, jako Gentoo power user - je to sice "hezky" pro decka, ze to "works out of the box", ale.. je tu velke ALE ... si tam clovek pripada fakt jako ve vezeni. V kazde verzi v jinem.. a pak hleda znova a znova zpusoby, jak si to prizpusobit ke sve predstave. Neco, kvuli cemu jsme Win svet opousteli, az tam prestavalo stacit prepnout na "classic theme".
Bohuzel cely IT svet jde velice nestastnym smerem (cloudy, saas) a pocitace/systemy se degraduji na pouhe spoustece pred-pripravenych jizd tim jedinym spravnym smerem. A boze chran, ze udelate neco svobodne a jinak nez stado z okoli... to se vubec nesmi !