Je Rust jazyk budoucnosti?

Idris

  • *****
  • 2 286
    • Zobrazit profil
    • E-mail
Re:Je Rust jazyk budoucnosti?
« Odpověď #465 kdy: 23. 12. 2022, 13:04:21 »
Před 15-20 lety se diskutovalo, jak se HotSpot zlepšuje a jak bude BrzoTM Java rychlejší než C++, Sun měl taky obrovské peníze
Tak zrovna JIT Javy (potažmo JVM) generuje hodně rychlý kód, který se hravě C++, Rustu a Go vyrovná. Slabinou Javy (JVM) je způsob správy paměti, všechno se tupě alokuje na haldě, nedělá se pořádná escape analýza (ta, co se provádí, je jen kvůli synchronizaci), takže to vypadá, jak to vypadá (jako kdyby se v Rustu pro úplně všechny proměnné dělalo Box::new nebo Rc::new). Takže fakt hodně blbě zvolený příklad.


Idris

  • *****
  • 2 286
    • Zobrazit profil
    • E-mail
Re:Je Rust jazyk budoucnosti?
« Odpověď #466 kdy: 23. 12. 2022, 13:08:38 »
když Rust přiměl FPčkaře se trochu více zabývat lineráními typy
Až na to, že ta kauzalita je opačná, autoři Rustu se netají tím, že se inspirovali starými jazyky s lineárními typy, sám Hoare prostě obšlehl způsob práce se zdroji v Mercury (jazyk z roku 1995). Tohle ti dost nevyšlo :P

Re:Je Rust jazyk budoucnosti?
« Odpověď #467 kdy: 23. 12. 2022, 13:36:30 »
když Rust přiměl FPčkaře se trochu více zabývat lineráními typy
Až na to, že ta kauzalita je opačná, autoři Rustu se netají tím, že se inspirovali starými jazyky s lineárními typy, sám Hoare prostě obšlehl způsob práce se zdroji v Mercury (jazyk z roku 1995). Tohle ti dost nevyšlo :P
Ano, jistě, kromě Mercury také Linear ML a nějaké další ještě obskurnější jazyky. Přesně proto jsem napsal přiměl více zabývat - dnes to chce každej a jeho babička :D

Idris

  • *****
  • 2 286
    • Zobrazit profil
    • E-mail
Re:Je Rust jazyk budoucnosti?
« Odpověď #468 kdy: 23. 12. 2022, 13:46:35 »
Přesně proto jsem napsal přiměl více zabývat
Jak jsem ti vysvětlil, není to pravda, představa, že Rust nějak ovlivňuje FP, je ostatně dost směšná ;D

Nakonec to je ale jedno, hádat se s někým, kdo ignoruje zjevná fakta, nemá smysl.

Z jiného soudku (asi spíše pro BoneFlute): Nedávno jsem narazil na zajímavý jazyk, který má statický typový systém strukturně jednodušší než "obvyklí podezřelí" (Java/C++/Rust/Go), ale formálně silnější z pohledu OOP (restriktivní dědičnost) i HKT (metagenerické typy). Teď nemám po ruce odkaz, ale je popsaný na Wikibooks (pod něčím jako "Type-oriented programming", teď fakt nevím), večer můžu dát link a vysvětlit, co by si z něj Rust mohl vzít, aby byl praktičtější.

Re:Je Rust jazyk budoucnosti?
« Odpověď #469 kdy: 23. 12. 2022, 15:09:55 »
Přesně proto jsem napsal přiměl více zabývat
Jak jsem ti vysvětlil, není to pravda, představa, že Rust nějak ovlivňuje FP, je ostatně dost směšná ;D
Tvoje poznámka o Mercury to nijak nerozporuje, naopak, přesně o tom mluvim - ten koncept byl 20 let na okraji zájmu, pak je použil Rust, a následně se vyrojilo X iniciativ/jazyků s linear types (Haskell linear types, Idris2), viz také ta Jonesovo přednáška, kde přímo Rust zmiňuje. Ale no nic no, tušil jsem, že ta myšlenka pro tebe bude kulturně nepřijatelná...

Z jiného soudku (asi spíše pro BoneFlute): Nedávno jsem narazil na zajímavý jazyk, který má statický typový systém strukturně jednodušší než "obvyklí podezřelí" (Java/C++/Rust/Go), ale formálně silnější z pohledu OOP (restriktivní dědičnost) i HKT (metagenerické typy). Teď nemám po ruce odkaz, ale je popsaný na Wikibooks (pod něčím jako "Type-oriented programming", teď fakt nevím), večer můžu dát link a vysvětlit, co by si z něj Rust mohl vzít, aby byl praktičtější.
Skoro bych býval hádal jazyk Kind, ovšem až na to OOP.

Jinak lidi pracující na Rustu mají představu kam ten jazyk rozvíjet, aby byl praktičtější, už jsem zmiňoval efekty, iniciativa v tomhle směru je tady a tady, dále lepší práce s dyn traity a DSTs, případně vylepšování borrow-checkingu (do toho spadají i ty self-ref typy, stacked borrows a tak).

Nejsem si jistej, jestli tvoje představa o praktičnosti se shoduje se zaměřením toho jazyka...


Idris

  • *****
  • 2 286
    • Zobrazit profil
    • E-mail
Re:Je Rust jazyk budoucnosti?
« Odpověď #470 kdy: 23. 12. 2022, 15:20:15 »
Skoro bych býval hádal jazyk Kind, ovšem až na to OOP.
Ne, Kind je, pokud vím, čistě funkcionální.

Právě to OOP, ať už si o něm myslíme cokoliv, se dá udělat použitelně, jak je na nějakých (okrajových) jazycích vidět.

K té praktičnosti Rustu, kdy bude použitelné Any?

Re:Je Rust jazyk budoucnosti?
« Odpověď #471 kdy: 23. 12. 2022, 16:51:28 »
K té praktičnosti Rustu, kdy bude použitelné Any?
Jakej máš na to požadavek? Ale ono je to asi jedno, Any je jen jednoduchý typ ve stdlib, není v něm vůbec žádná magie, veškerá zajímavá funcionalita plyne z dyn Any, takže počítám, že pravděpodobně se tím zabývá ta iniciativa kolem lepších dyn trait.

Ještě BTW našel jsem zápisek (5 let starý) od Graydona o možných budoucích směrech vývoje. Hodně high-level, ale docela dobré IMO.

Idris

  • *****
  • 2 286
    • Zobrazit profil
    • E-mail
Re:Je Rust jazyk budoucnosti?
« Odpověď #472 kdy: 23. 12. 2022, 17:24:53 »
K té praktičnosti Rustu, kdy bude použitelné Any?
Jakej máš na to požadavek?
Nic zvláštního, kód v Rustu píšu zásadně bez Any, ale obecně by bylo hezké, kdyby byl k dispozici nějaký type switch (jako ve Fortranu nebo Go, nemusí to být žádná divočina jako třeba v ObjC).

Idris

  • *****
  • 2 286
    • Zobrazit profil
    • E-mail
Re:Je Rust jazyk budoucnosti?
« Odpověď #473 kdy: 23. 12. 2022, 17:31:48 »
Ještě BTW našel jsem zápisek (5 let starý) od Graydona o možných budoucích směrech vývoje. Hodně high-level, ale docela dobré IMO.
Zajímavé, zmiňuje Koku, což je předchůdce (nebo bratříček?) Leanu. Jo, dobrý přehled, ale nějak se to ubíralo jiným směrem.