Rust - std::ANY alebo lepší návrh?

Idris

  • *****
  • 1 721
    • Zobrazit profil
    • E-mail
Re:Rust - std::ANY alebo lepší návrh?
« Odpověď #45 kdy: 20. 11. 2021, 14:24:28 »
Popravdě, od té doby co dělám v Rustu mi přijde způsob řešení takových věcí bez součtových typů, pattern matchingu a monád hrozně kostrbatý.
Těmi monádami myslíš prosím co?
Result, Option, Future, Iterator...
Teď už to chce jen HKT a z Rustu bude Haskell. I k DT už mají našlápnuto :)


Ink

  • ****
  • 437
    • Zobrazit profil
    • E-mail
Re:Rust - std::ANY alebo lepší návrh?
« Odpověď #46 kdy: 21. 11. 2021, 07:21:52 »
Popravdě, od té doby co dělám v Rustu mi přijde způsob řešení takových věcí bez součtových typů, pattern matchingu a monád hrozně kostrbatý.

Těmi monádami myslíš prosím co?

Result, Option, Future, Iterator...

OK, takže jde o to, že na existujících standardních typech s výhodou využíváš monadický přístup, jestli tomu rozumím dobře. Přemýšlel jsem, jestli má smysl jít někam dál a víc to "ohaskellovat"...

Re:Rust - std::ANY alebo lepší návrh?
« Odpověď #47 kdy: 21. 11. 2021, 09:14:52 »
Těmi monádami myslíš prosím co?

Result, Option, Future, Iterator...

OK, takže jde o to, že na existujících standardních typech s výhodou využíváš monadický přístup, jestli tomu rozumím dobře. Přemýšlel jsem, jestli má smysl jít někam dál a víc to "ohaskellovat"...

Jj, monády bez HKT a nějaké formy do-notation jsou dost polovičatý. Pro rust existují věci jako https://crates.io/crates/do-notation , ale moc se to nepoužívá. S nejpoužívanějšími monádami (Result, Option, Future) se v rustu pracuje jinak(?, async/await), State není moc potřeba protože máme exclusive mutability, u řetězených and_then (monadické bind) u Iterátorů člověk často narazí na borrow checker nebo příliš krátce žijící data. Takže rustovský svět m-word moc nepoužívá, a pro komunitu je to asi i zdravější.

Idris

  • *****
  • 1 721
    • Zobrazit profil
    • E-mail
Re:Rust - std::ANY alebo lepší návrh?
« Odpověď #48 kdy: 21. 11. 2021, 09:37:44 »
Těmi monádami myslíš prosím co?
Result, Option, Future, Iterator...
OK, takže jde o to, že na existujících standardních typech s výhodou využíváš monadický přístup, jestli tomu rozumím dobře. Přemýšlel jsem, jestli má smysl jít někam dál a víc to "ohaskellovat"...
Jj, monády bez HKT a nějaké formy do-notation jsou dost polovičatý. Pro rust existují věci jako https://crates.io/crates/do-notation , ale moc se to nepoužívá. S nejpoužívanějšími monádami (Result, Option, Future) se v rustu pracuje jinak(?, async/await), State není moc potřeba protože máme exclusive mutability, u řetězených and_then (monadické bind) u Iterátorů člověk často narazí na borrow checker nebo příliš krátce žijící data. Takže rustovský svět m-word moc nepoužívá, a pro komunitu je to asi i zdravější.
V poslední době se zda, že Rust jde cestou GADT. Ty jsou IMHO vhodnější pro Rust.

Rike

Re:Rust - std::ANY alebo lepší návrh?
« Odpověď #49 kdy: 26. 11. 2021, 19:22:20 »
Já jsem z Rustu bohužel docela zklamán. Jazyk nese určité zajímavé prvky, o tom žádná, ale ten ekosystém, to je hrůza. Většina "crates", co jsem chtěl zkoušet, byla ve verzi 0.x, přičemž část kvůli nedodržování zpětné kompatibility nešla kompilovat. Chce to asi ještě čas.


Idris

  • *****
  • 1 721
    • Zobrazit profil
    • E-mail
Re:Rust - std::ANY alebo lepší návrh?
« Odpověď #50 kdy: 26. 11. 2021, 20:24:14 »
Já jsem z Rustu bohužel docela zklamán. Jazyk nese určité zajímavé prvky, o tom žádná, ale ten ekosystém, to je hrůza. Většina "crates", co jsem chtěl zkoušet, byla ve verzi 0.x, přičemž část kvůli nedodržování zpětné kompatibility nešla kompilovat. Chce to asi ještě čas.
Rust se vyvíjí dost živelně, ale IMHO to zas taková hrůza není. S důležitými crates problémy nebývají.

kate

Re:Rust - std::ANY alebo lepší návrh?
« Odpověď #51 kdy: 26. 11. 2021, 21:26:07 »
Já jsem z Rustu bohužel docela zklamán. Jazyk nese určité zajímavé prvky, o tom žádná, ale ten ekosystém, to je hrůza. Většina "crates", co jsem chtěl zkoušet, byla ve verzi 0.x, přičemž část kvůli nedodržování zpětné kompatibility nešla kompilovat. Chce to asi ještě čas.

Které třeba? Používáme Rust jako hlavní jazyk pro backend a s nezkompilovatelnou knihovnou jsem se ještě nesetkala. Problémy mladého ekosystému to tedy má, občas musíme pro potřebnou funkcionalitu přispívat do upstreamu víc než by to bylo nutné v něčem mnohem starším jako Python.

Ink

  • ****
  • 437
    • Zobrazit profil
    • E-mail
Re:Rust - std::ANY alebo lepší návrh?
« Odpověď #52 kdy: 27. 11. 2021, 07:32:57 »
Já jsem z Rustu bohužel docela zklamán. Jazyk nese určité zajímavé prvky, o tom žádná, ale ten ekosystém, to je hrůza. Většina "crates", co jsem chtěl zkoušet, byla ve verzi 0.x, přičemž část kvůli nedodržování zpětné kompatibility nešla kompilovat. Chce to asi ještě čas.

Bylo by asi fajn, kdybys byl konkrétnější. Udělat a publikovat crate může kdekdo, je tedy docela přirozené, že budou v různém stavu. Bez urážky, chce to trochu selského rozumu, případně zkušenosti, aby člověk poznal stabilní a rozumně vyvíjené od nedopečených pokusů. Možná bys mohl zkusit https://lib.rs/ , tam by měly být ty ověřené.

Rike

Re:Rust - std::ANY alebo lepší návrh?
« Odpověď #53 kdy: 27. 11. 2021, 12:26:24 »
Jo, jenže ono není k mému "tématu" moc na výběr. Potíž s kompilací jsem měl zde: https://crates.io/crates/intercom, a nenašel jsem vůbec pořádnou "crate" na SOAP WSDL server. Dočetl jsem se na jednom blogu z roku 2020, že podpora XML vůbec je v Rustu zatím slabá.

Čekal jsem prostě trošku víc. Už tu ten ekosystém nějaký pátek je a měl by být náhradou za C/C++, přičemž by měl ale nabízet částečně přístup známý z "velkých" jazyků. To se mi jako "reklama" líbí. Chce to asi ještě trochu toho času, než budou pokryta i takováto "témata".

Idris

  • *****
  • 1 721
    • Zobrazit profil
    • E-mail
Re:Rust - std::ANY alebo lepší návrh?
« Odpověď #54 kdy: 27. 11. 2021, 12:51:06 »
Jo, jenže ono není k mému "tématu" moc na výběr. Potíž s kompilací jsem měl zde: https://crates.io/crates/intercom, a nenašel jsem vůbec pořádnou "crate" na SOAP WSDL server. Dočetl jsem se na jednom blogu z roku 2020, že podpora XML vůbec je v Rustu zatím slabá.

Čekal jsem prostě trošku víc. Už tu ten ekosystém nějaký pátek je a měl by být náhradou za C/C++, přičemž by měl ale nabízet částečně přístup známý z "velkých" jazyků. To se mi jako "reklama" líbí. Chce to asi ještě trochu toho času, než budou pokryta i takováto "témata".
Zrovna COM s Rustem moc nekamarádí. Tohle se většinou řeší tak, že se napíše wrapper v C++ a do něj se staticky přilinkuje rustí knihovna.

Ink

  • ****
  • 437
    • Zobrazit profil
    • E-mail
Re:Rust - std::ANY alebo lepší návrh?
« Odpověď #55 kdy: 27. 11. 2021, 19:22:56 »
Jo, jenže ono není k mému "tématu" moc na výběr. Potíž s kompilací jsem měl zde: https://crates.io/crates/intercom, a nenašel jsem vůbec pořádnou "crate" na SOAP WSDL server. Dočetl jsem se na jednom blogu z roku 2020, že podpora XML vůbec je v Rustu zatím slabá.

Čekal jsem prostě trošku víc. Už tu ten ekosystém nějaký pátek je a měl by být náhradou za C/C++, přičemž by měl ale nabízet částečně přístup známý z "velkých" jazyků. To se mi jako "reklama" líbí. Chce to asi ještě trochu toho času, než budou pokryta i takováto "témata".

Podle mě tohle není moc pravděpodobné, jelikož generaci vývojářů, která nejčastěji používá Rust, tohle nechává dost klidnou. Většina novějších API, se kterými jsem se setkal v posledních cca 7 letech, SOAP nepoužívá a naimplementovat to dobře je asi dost práce. COM jde mimo mě už úplně, ale jelikož se Rust v nějaké míře prosadil i v Microsoftu, kdoví.

Idris

  • *****
  • 1 721
    • Zobrazit profil
    • E-mail
Re:Rust - std::ANY alebo lepší návrh?
« Odpověď #56 kdy: 27. 11. 2021, 19:52:56 »
Jo, jenže ono není k mému "tématu" moc na výběr. Potíž s kompilací jsem měl zde: https://crates.io/crates/intercom, a nenašel jsem vůbec pořádnou "crate" na SOAP WSDL server. Dočetl jsem se na jednom blogu z roku 2020, že podpora XML vůbec je v Rustu zatím slabá.

Čekal jsem prostě trošku víc. Už tu ten ekosystém nějaký pátek je a měl by být náhradou za C/C++, přičemž by měl ale nabízet částečně přístup známý z "velkých" jazyků. To se mi jako "reklama" líbí. Chce to asi ještě trochu toho času, než budou pokryta i takováto "témata".
Podle mě tohle není moc pravděpodobné, jelikož generaci vývojářů, která nejčastěji používá Rust, tohle nechává dost klidnou. Většina novějších API, se kterými jsem se setkal v posledních cca 7 letech, SOAP nepoužívá a naimplementovat to dobře je asi dost práce. COM jde mimo mě už úplně, ale jelikož se Rust v nějaké míře prosadil i v Microsoftu, kdoví.
Jo, SOAP je peklo a patří na smetiště IT dějin. COM by ale problém být neměl, MS napsal celou rustí vrstvu nad svým API (i když zrovna COM je lepší řešit přes MSVC).

BoneFlute

  • *****
  • 1 750
    • Zobrazit profil
Re:Rust - std::ANY alebo lepší návrh?
« Odpověď #57 kdy: 28. 11. 2021, 02:43:56 »
SOAP je peklo a patří na smetiště IT dějin.

Proč?

Idris

  • *****
  • 1 721
    • Zobrazit profil
    • E-mail
Re:Rust - std::ANY alebo lepší návrh?
« Odpověď #58 kdy: 28. 11. 2021, 09:07:22 »
SOAP je peklo a patří na smetiště IT dějin.
Proč?
To je vážně míněná otázka? Odpovědí jsou všechny důvody, proč vzniklo například gRPC.

Rike

Re:Rust - std::ANY alebo lepší návrh?
« Odpověď #59 kdy: 28. 11. 2021, 11:55:40 »
Jako dobrý, ale pořád mi přijde jednodušší sestavit SOAP klienta v těžce zastaralých systémech, než tam průkopnicky sestavovat gRPC klienta.