Je Rust jazyk budoucnosti?

Idris

  • *****
  • 2 286
    • Zobrazit profil
    • E-mail
Re:Je Rust jazyk budoucnosti?
« Odpověď #180 kdy: 01. 12. 2022, 14:43:29 »
Ano, pomiň Agdu, Coq, Scalu, OCaml a Rust a začneš se blížit realitě "normálního" programátora.
Rust ne, ten nemá nijak sofistikovaný typový systém.


Idris

  • *****
  • 2 286
    • Zobrazit profil
    • E-mail
Re:Je Rust jazyk budoucnosti?
« Odpověď #181 kdy: 01. 12. 2022, 14:43:54 »
Tyhle diskuse me vzdy bavi a pritom odpoved je jasna. Fortran a LISP.
  :o

Re:Je Rust jazyk budoucnosti?
« Odpověď #182 kdy: 01. 12. 2022, 15:45:12 »
Tyhle diskuse me vzdy bavi a pritom odpoved je jasna. Fortran a LISP.

Ešte si dovolím doplniť editor: https://youtu.be/qzC5H5xrr-E?t=55


BoneFlute

  • *****
  • 1 981
    • Zobrazit profil
Re:Je Rust jazyk budoucnosti?
« Odpověď #183 kdy: 01. 12. 2022, 18:19:47 »
Nevím, jak se ten “mentální obzor” měří

Používají "moderní" jazyky jako je C#.

Re:Je Rust jazyk budoucnosti?
« Odpověď #184 kdy: 01. 12. 2022, 18:23:32 »
Typový systém Rustu je primitivní, podstatně jednodušší než v případě již zmíněného OCamlu, Scaly nebo Haskellu (raději pomiňme Agdu, Coq a spol.). Nevím, jak se ten “mentální obzor” měří, ale co to je za vývojáře, kteří nepochopí ani typy Rustu?
Není to trochu odtržené od reality? IMO značná část vývojářů pracuje s typovými systémy jednoduššími než co má Rust... Navíc Rust typesystem je obecně trochu neobvyklý, i když třeba ne tak složitý jako Haskell (ownership/borrowing počítám jako součást type systemu).


Idris

  • *****
  • 2 286
    • Zobrazit profil
    • E-mail
Re:Je Rust jazyk budoucnosti?
« Odpověď #185 kdy: 01. 12. 2022, 18:51:14 »
Nevím, jak se ten “mentální obzor” měří
Používají "moderní" jazyky jako je C#.
Aha.

Idris

  • *****
  • 2 286
    • Zobrazit profil
    • E-mail
Re:Je Rust jazyk budoucnosti?
« Odpověď #186 kdy: 01. 12. 2022, 18:55:26 »
Typový systém Rustu je primitivní, podstatně jednodušší než v případě již zmíněného OCamlu, Scaly nebo Haskellu (raději pomiňme Agdu, Coq a spol.). Nevím, jak se ten “mentální obzor” měří, ale co to je za vývojáře, kteří nepochopí ani typy Rustu?
Není to trochu odtržené od reality? IMO značná část vývojářů pracuje s typovými systémy jednoduššími než co má Rust... Navíc Rust typesystem je obecně trochu neobvyklý, i když třeba ne tak složitý jako Haskell (ownership/borrowing počítám jako součást type systemu).
Borrowing není součást typového systému, s typy vůbec nesouvisí. Java má například silnější typový systém (má navíc explicitní varianci typů), používá ji mnohem více vývojářů a o jejich “mentálním obzoru” si nedělám iluze.

Re:Je Rust jazyk budoucnosti?
« Odpověď #187 kdy: 01. 12. 2022, 22:07:42 »
Borrowing není součást typového systému, s typy vůbec nesouvisí.
Samozřejmě že to je součást typového systému.
Ownership a borrowing je součást každého typu v Rustu, typ svoje konstituenty buďto vlastní, anebo referencuje (borrowing) a v takovém případě je to typ generický s typovými parametry druhu lifetime. I např. každá funkce, která má jako parametr referenci, je generická, i když to není explicitně zapsáno.

Většinou na tohle může člověk úplně kašlat a tvářit se, že reference je prostě reference jako v C++, ale to je pouze díky inferenci a jsou situace, kdy je potřeba to zapsat explicitně včetně třeba subtypingu mezi lifetimes parametry (syntaxe 'a: 'b).

oss

  • ***
  • 229
    • Zobrazit profil
    • E-mail
Re:Je Rust jazyk budoucnosti?
« Odpověď #188 kdy: 02. 12. 2022, 07:12:39 »
V com ma haskell zlozity typovy system? Mne nepride nicim vynimocny ani zlozity ani tazky a to som v nom na skole robil par projektov.

Alebo zas len hranie sa na chrumkaveho tym, ze clovek machri nepouzivanym jazykom (ala Smalltalk)?

Re:Je Rust jazyk budoucnosti?
« Odpověď #189 kdy: 02. 12. 2022, 09:29:06 »
Alebo zas len hranie sa na chrumkaveho tym, ze clovek machri nepouzivanym jazykom (ala Smalltalk)?

Jak to myslíte? Smalltalk se používá, stejně jako Erlang a APL jazyky, jen je to dnes malá část trhu, ale docela silná. JP Morgan má např. v (moderním) Smalltalku důležité komponenty. Dobře navržený jazyk s alespoň minimálním množstvím knihoven může spokojeně přežívat i s malou uživatelskou základnou. Někdy čím je menší, tím je stmelenější a disciplinovanější. Jen tak mudruju.  Jak jste to tedy myslel? Haskell není tak složitý, to vám potvrdím .)

Idris

  • *****
  • 2 286
    • Zobrazit profil
    • E-mail
Re:Je Rust jazyk budoucnosti?
« Odpověď #190 kdy: 02. 12. 2022, 09:33:51 »
Haskell není tak složitý
Není, ale je sofistikovanější, má HKT, typové třídy a pár dalších vychytávek. Asi se shodneme, že co nejvíce kontrol je lepší dělat při překladu než za běhu. Různá rozšíření Haskellu pak mají i GADT apod.

Re:Je Rust jazyk budoucnosti?
« Odpověď #191 kdy: 02. 12. 2022, 09:43:36 »
To jsou všechno moc divné otázky?!
Prostě jsou hlavní "jazyky" s komerční podporou a silným zázemím, a pak je mnoho dalších ostatních, z nichž některé jsou zdarma a jsou šířeny v rámci rozšířených IDE.
Důležité je pouze to, jak je silná místní komunita např. v regionu nebo kolem konkrétní platformy/aplikace apod. No a pak už záleží jaká je osvěta a předávání "znalostí" dalším následníkům. Assembler se taky dříve používal a dnes osobně neznám nikoho kdo by ho používal.

Re:Je Rust jazyk budoucnosti?
« Odpověď #192 kdy: 02. 12. 2022, 11:03:39 »
Není, ale je sofistikovanější, má HKT, typové třídy a pár dalších vychytávek. Asi se shodneme, že co nejvíce kontrol je lepší dělat při překladu než za běhu.
On ten pojem "sofistikovanost" nebo "síla" nebo "složitost" typového systému je velmi vágní, bez nějaké konkretizace to prakticky nic neznamená. Ty statické záruky, které poskytuje Haskell a podobné jazyky, mi nepřijdou nijak extra slavné v poměru k tomu, jak složitý a sofistikovaný je ten typový systém, ani co do korektnosti ani výkonu.

V poslední době se tyto jazyky snaží zachránit pověst převzetím lineárních typů. Vzpomínám si, že S.P. Jones na to měl nějakou přednášku pár let zpátky. Tak uvidíme, jak se jim to podaří. Zajímalo by mě, jestli v té komunitě třeba nastala nějaká sebereflexe, jestli to předchozí sáhodlouhé opěvování monád a zygohystomorfických prepromorfismů opravdu bylo tak užitečné, jak se tvrdilo...

---

Co se týče Rustu a jeho budoucnosti, na to nikdo nedokáže odpovědět, ta budounost je stále nejistá. A to říkám jako člověk, který pracuje s Rustem od roku 2014, má nějaké (byť drobné) commity ve verzi 1.0 a pracuje full time v Rustu poslední asi 4 roky. Za mě největší aktuální otázka je, co by s Rustem bylo, kdyby nějak podstatně krachl svět kryptoměn, protože Rust je aktuálně hodně využíván právě v téhle oblasti, což na jednu stranu pomáhá, ale na druhou to je i nebezpečí. Nicméně naštěstí se množí použití Rustu i mimo krypto, takže situace se do nějaké míry zlepšuje.

Uvidíme, jak to půjde...

Idris

  • *****
  • 2 286
    • Zobrazit profil
    • E-mail
Re:Je Rust jazyk budoucnosti?
« Odpověď #193 kdy: 02. 12. 2022, 11:34:54 »
Není, ale je sofistikovanější, má HKT, typové třídy a pár dalších vychytávek. Asi se shodneme, že co nejvíce kontrol je lepší dělat při překladu než za běhu.
On ten pojem "sofistikovanost" nebo "síla" nebo "složitost" typového systému je velmi vágní
Není, to jde vyjádřit naprosto přesně matematicky, ve formální logice nebo teorii typů (což je v podstatě intuicionistická logika).

Idris

  • *****
  • 2 286
    • Zobrazit profil
    • E-mail
Re:Je Rust jazyk budoucnosti?
« Odpověď #194 kdy: 02. 12. 2022, 11:38:36 »
jestli to předchozí sáhodlouhé opěvování monád […] opravdu bylo tak užitečné, jak se tvrdilo...
Samotné opěvování je k ničemu, ale jinak ano, téměř všechny čistě funkcionální jazyky mají buď programy typu “IO Unit” (nebo “Effect Unit”), nebo něco na způsob Mercury (nebo oba způsoby zároveň).