Je Rust jazyk budoucnosti?

Ink

  • *****
  • 655
    • Zobrazit profil
    • E-mail
Re:Je Rust jazyk budoucnosti?
« Odpověď #75 kdy: 29. 01. 2022, 16:27:48 »
...a práce na integraci s Qt a KDE - GUI je jedna z největších bolístek Rustu...
Má to nějaký jasně daný směr (resp. byl by odkaz na něco co už funguje)?

Zcela obecně - existují nějaké velké GUI frameworky - zejména Qt a Gtk+, za nimi o něco méně významné Fltk a wxWidgets. S Qt je potíž, jelikož je to psané na míru C++ a jeho OOP vlastnostem. Výborně to funguje ve spojení třeba s Pythonem, kde je velká míra kompatibility OOP modelu - násobná dědičnost apod. Celkem blbě to funguje u výrazně jiných jazyků, jako je třeba Haskell nebo Rust. Jo, pořád se na tom dělá a třeba to nějak ti lidi dopilují.

Gtk je psané v C a bindingy pro ostatní jazyky včetně Rustu se dělají poměrně snadno.

Fltk zblízka neznám, přijde mi primitivnější, ale to může být i výhoda. Bindingy jsou aktivně vyvíjené, na rozdíl třeba od wxWidgets.

Pak existují specialitky jako druid, Orbtk a egui. Podle mě to je všechno zatím spíš hračka, ale možná se něco změnilo.

Doporučuju zaměřit se na relm, resp. gtk-rs, to jsou IMO nejvymakanější a nejpoužívanější řešení pro Rust. V prvním případě pokud chceš mít vše definované programově a idiomaticky. Ve druhém případě si můžeš UI naklikat v Glade, ale spíš tíhnu k Relmu. BTW existuje verze i pro Gtk+ 4 (relm4).

Svět GUI je roztříštěný všude, ale zvlášť v Rustu mi to Gtk+, resp. spíš Relm přijde jako jasná volba.


anonacct

Re:Je Rust jazyk budoucnosti?
« Odpověď #76 kdy: 29. 01. 2022, 19:29:56 »
I když je Gtk psané v C tak používá dědičnost, takže bindovat Qt nebo Gtk je v podstatě to samé.

BoneFlute

  • *****
  • 1 981
    • Zobrazit profil
Re:Je Rust jazyk budoucnosti?
« Odpověď #77 kdy: 29. 01. 2022, 19:42:38 »
I když je Gtk psané v C tak používá dědičnost, takže bindovat Qt nebo Gtk je v podstatě to samé.
GTK sice dědičnost má, ale vlastní, nepoužívá na to prostředky jazyka. Na rozdíl od Qt. Takže to není vůbec to samé.

A nebo na to jdi z druhé strany. Na GTK je binding z každého myslitelného jazyka. Můžeš to porovnat s bindingy do Qt a udělat si názor sám.

Re:Je Rust jazyk budoucnosti?
« Odpověď #78 kdy: 29. 01. 2022, 20:16:45 »
...a práce na integraci s Qt a KDE - GUI je jedna z největších bolístek Rustu...
Má to nějaký jasně daný směr (resp. byl by odkaz na něco co už funguje)?

Zcela obecně - existují nějaké velké GUI frameworky - zejména Qt a Gtk+, za nimi o něco méně významné Fltk a wxWidgets. S Qt je potíž, jelikož je to psané na míru C++ a jeho OOP vlastnostem. Výborně to funguje ve spojení třeba s Pythonem, kde je velká míra kompatibility OOP modelu - násobná dědičnost apod. Celkem blbě to funguje u výrazně jiných jazyků, jako je třeba Haskell nebo Rust. Jo, pořád se na tom dělá a třeba to nějak ti lidi dopilují.

Gtk je psané v C a bindingy pro ostatní jazyky včetně Rustu se dělají poměrně snadno.

Fltk zblízka neznám, přijde mi primitivnější, ale to může být i výhoda. Bindingy jsou aktivně vyvíjené, na rozdíl třeba od wxWidgets.

Pak existují specialitky jako druid, Orbtk a egui. Podle mě to je všechno zatím spíš hračka, ale možná se něco změnilo.

Doporučuju zaměřit se na relm, resp. gtk-rs, to jsou IMO nejvymakanější a nejpoužívanější řešení pro Rust. V prvním případě pokud chceš mít vše definované programově a idiomaticky. Ve druhém případě si můžeš UI naklikat v Glade, ale spíš tíhnu k Relmu. BTW existuje verze i pro Gtk+ 4 (relm4).

Svět GUI je roztříštěný všude, ale zvlášť v Rustu mi to Gtk+, resp. spíš Relm přijde jako jasná volba.

No, idiomaticky... Ten GObject je docela fuj. V Rustu na to alespoň jsou nějaká makra, ale i tak.

Idris

  • *****
  • 2 286
    • Zobrazit profil
    • E-mail
Re:Je Rust jazyk budoucnosti?
« Odpověď #79 kdy: 04. 11. 2022, 11:10:52 »
Rust má konečně v nejnovější verzi GAT. Že jim to ale trvalo.


Re:Je Rust jazyk budoucnosti?
« Odpověď #80 kdy: 04. 11. 2022, 12:37:35 »
Rust má konečně v nejnovější verzi GAT. Že jim to ale trvalo.

Dalsi verze Rustu se tedy bude jmenovat Haskell? :)

Ink

  • *****
  • 655
    • Zobrazit profil
    • E-mail
Re:Je Rust jazyk budoucnosti?
« Odpověď #81 kdy: 04. 11. 2022, 13:19:59 »
Rust má konečně v nejnovější verzi GAT. Že jim to ale trvalo.

Dalsi verze Rustu se tedy bude jmenovat Haskell? :)

Ano, hned poté, co bude v Haskellu nějaký jiný použitelný OSS produkt vedle XMonadu a asi dvou dalších, na které si teď hned nevzpomenu.

Idris

  • *****
  • 2 286
    • Zobrazit profil
    • E-mail
Re:Je Rust jazyk budoucnosti?
« Odpověď #82 kdy: 04. 11. 2022, 14:08:47 »
Rust má konečně v nejnovější verzi GAT. Že jim to ale trvalo.
Dalsi verze Rustu se tedy bude jmenovat Haskell? :)
Ne, protože Haskell GAT nemá, nikdy mít nebude a ony ostatně vůbec nesouvisí s FP. Původně pocházejí ze Swiftu, Rust je prostě čórnul.

Idris

  • *****
  • 2 286
    • Zobrazit profil
    • E-mail
Re:Je Rust jazyk budoucnosti?
« Odpověď #83 kdy: 04. 11. 2022, 14:11:03 »
Rust má konečně v nejnovější verzi GAT. Že jim to ale trvalo.
Dalsi verze Rustu se tedy bude jmenovat Haskell? :)
Ano, hned poté, co bude v Haskellu nějaký jiný použitelný OSS produkt vedle XMonadu a asi dvou dalších, na které si teď hned nevzpomenu.
https://en.wikipedia.org/wiki/Category:Free_software_programmed_in_Haskell

Ink

  • *****
  • 655
    • Zobrazit profil
    • E-mail
Re:Je Rust jazyk budoucnosti?
« Odpověď #84 kdy: 04. 11. 2022, 15:23:19 »
Dalsi verze Rustu se tedy bude jmenovat Haskell? :)
Ano, hned poté, co bude v Haskellu nějaký jiný použitelný OSS produkt vedle XMonadu a asi dvou dalších, na které si teď hned nevzpomenu.
https://en.wikipedia.org/wiki/Category:Free_software_programmed_in_Haskell

Ha, přes 20:

Agda a Idris jsou specialitky, ale OK.
Tooling pro Haskell snad ani nemá smysl počítat.
Darcs je pomalý a chybový (a zbytečný, stejně všichni jedou na Gitu).
House je mrtvější než Hurd.
Atd.

Za řeč stojí Pandoc a QuickCheck (coby inspirace pro ostatní jazyky, které to reimplementovaly). A XMonad, který už roky používám. S Agdou a Idrisem jsme na pěti. To je hodně slabé.

BoneFlute

  • *****
  • 1 981
    • Zobrazit profil
Re:Je Rust jazyk budoucnosti?
« Odpověď #85 kdy: 04. 11. 2022, 15:37:22 »
Dalsi verze Rustu se tedy bude jmenovat Haskell? :)
Ano, hned poté, co bude v Haskellu nějaký jiný použitelný OSS produkt vedle XMonadu a asi dvou dalších, na které si teď hned nevzpomenu.
https://en.wikipedia.org/wiki/Category:Free_software_programmed_in_Haskell

Ha, přes 20:

Agda a Idris jsou specialitky, ale OK.
Tooling pro Haskell snad ani nemá smysl počítat.
Darcs je pomalý a chybový (a zbytečný, stejně všichni jedou na Gitu).
House je mrtvější než Hurd.
Atd.

Za řeč stojí Pandoc a QuickCheck (coby inspirace pro ostatní jazyky, které to reimplementovaly). A XMonad, který už roky používám. S Agdou a Idrisem jsme na pěti. To je hodně slabé.

Navzdory tomu, jak ho nikdo nepoužívá, a přitom se o něm furt mluví a furt ho někdo používá...

Já jsem Haskellu vděčen hlavně za změnu mindsetu. Seznámil jsem se s ním, napsal jeden nebo dva projekty, a od té doby se na všechny rádoby moderní jazyky jako C#, Python, Javascript dívám skrz prsty. (Zvláště C#, ten je úplně zbytečnej.) Už jen z tohoto důvodu si zaslouží svou slávu.

Idris

  • *****
  • 2 286
    • Zobrazit profil
    • E-mail
Re:Je Rust jazyk budoucnosti?
« Odpověď #86 kdy: 04. 11. 2022, 15:40:16 »
S Agdou a Idrisem jsme na pěti. To je hodně slabé.
Pro Idris to už dávno ani neplatí.

Je třeba mít na paměti, že Haskell je převážně akademický jazyk sloužící pro bádání nad FP, typovými systémy apod. Pro praxi — když už chce člověk čisté FP — se hodí spíše PureScript nebo ten Idris s nějakým rozumným backendem (Chez?).

Idris

  • *****
  • 2 286
    • Zobrazit profil
    • E-mail
Re:Je Rust jazyk budoucnosti?
« Odpověď #87 kdy: 04. 11. 2022, 15:44:39 »
Já jsem Haskellu vděčen hlavně za změnu mindsetu. [...] Už jen z tohoto důvodu si zaslouží svou slávu.
Слава Гаскелі :)

Ink

  • *****
  • 655
    • Zobrazit profil
    • E-mail
Re:Je Rust jazyk budoucnosti?
« Odpověď #88 kdy: 04. 11. 2022, 20:59:50 »
https://en.wikipedia.org/wiki/Category:Free_software_programmed_in_Haskell

Ha, přes 20:

Agda a Idris jsou specialitky, ale OK.
Tooling pro Haskell snad ani nemá smysl počítat.
Darcs je pomalý a chybový (a zbytečný, stejně všichni jedou na Gitu).
House je mrtvější než Hurd.
Atd.

Za řeč stojí Pandoc a QuickCheck (coby inspirace pro ostatní jazyky, které to reimplementovaly). A XMonad, který už roky používám. S Agdou a Idrisem jsme na pěti. To je hodně slabé.

Navzdory tomu, jak ho nikdo nepoužívá, a přitom se o něm furt mluví a furt ho někdo používá...

Já jsem Haskellu vděčen hlavně za změnu mindsetu. Seznámil jsem se s ním, napsal jeden nebo dva projekty, a od té doby se na všechny rádoby moderní jazyky jako C#, Python, Javascript dívám skrz prsty. (Zvláště C#, ten je úplně zbytečnej.) Už jen z tohoto důvodu si zaslouží svou slávu.

V pohodě, můj respekt má. Nicméně když jsem se v něm hrabal já, furt někdo psal nějaké popisy, co vlastně znamená monáda. Autorům těchto "pure FP" jazyků přijde programování s efekty jako zlo, které je třeba zavřít někam do klece, aby nezničilo svět. A jelikož většina programů furt nějaké "vedlejší efekty" páchá, přijde mi to dost nepraktické. Rust tímhle netrpí (má taky svoje podivnosti, ale poměr bolesti a užitku je snesitelný pro větší množinu vývojářů). Zároveň obsahuje dost poměrně zajímavých a silných abstrakcí a možností vyjádření. Ale třeba i ten Python se vyvíjí zajímavým způsobem; je složitější, ale expresivnější a umožňuje psát spolehlivější kód než minulé verze.

Idris

  • *****
  • 2 286
    • Zobrazit profil
    • E-mail
Re:Je Rust jazyk budoucnosti?
« Odpověď #89 kdy: 04. 11. 2022, 21:15:12 »
Nicméně když jsem se v něm hrabal já, furt někdo psal nějaké popisy, co vlastně znamená monáda.
Tahle doba už pominula, teď už to asi každý ví, jelikož pronikly do mnoha moderních jazyků. Navíc tyhle vesměs zbytečně “popisy” zastínily jiné vlastnosti FP.

Zrovna Haskell není nic světoborného, je to na hraní pro akademiky, ale různé praktičtější (více či méně) klony Haskellu umožňují psát elegantní a efektivní kód (například v Idrisu jdou bez problémů používat efekty, aniž by člověk psal — na povrchu — funkcionálně, je tam pro to spousta syntaktického cukru, mnohem více než v Haskellu).