Je Rust jazyk budoucnosti?

Idris

  • *****
  • 2 286
    • Zobrazit profil
    • E-mail
Re:Je Rust jazyk budoucnosti?
« Odpověď #90 kdy: 04. 11. 2022, 21:22:06 »
Rust tímhle netrpí […] Zároveň obsahuje dost poměrně zajímavých a silných abstrakcí a možností vyjádření.
Jako co třeba (oproti jiným moderním jazykům)? Poslední dobou v Rustu píšu docela hodně (a idiomaticky, aspoň podle “moudrých” knih), ale nic extra na něm nevidím. Jediná zásadní výhoda (pro některé projekty, jinde je to jedno) je, že nemá plně automatický GC, ale když napíšu stejný kód v Julii bez použití měnitelných struktur, tak se taky na haldě skoro nic nealokuje a výsledek je stejně rychlý.


BoneFlute

  • *****
  • 1 981
    • Zobrazit profil
Re:Je Rust jazyk budoucnosti?
« Odpověď #91 kdy: 04. 11. 2022, 21:22:56 »
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é.
Nejen autorům. Součástí té změny mindsetu bylo právě přijetí této zásady. Od té doby se na veškerej kód i v "normálních" imperativních jazycích dívám jako pure/mající efekty. A čistě subjektivně mi přijde, že to dobře slouží.

Idris

  • *****
  • 2 286
    • Zobrazit profil
    • E-mail
Re:Je Rust jazyk budoucnosti?
« Odpověď #92 kdy: 04. 11. 2022, 21:34:52 »
Nejen autorům. Součástí té změny mindsetu bylo právě přijetí této zásady. Od té doby se na veškerej kód i v "normálních" imperativních jazycích dívám jako pure/mající efekty.
S tímto v imperativním světě přišel už Fortran.

Re:Je Rust jazyk budoucnosti?
« Odpověď #93 kdy: 05. 11. 2022, 09:20:15 »
Otázka je, co přesně Vás zajímá.

Stane se někdy Rust jedním ze tří nejpoužívanějších jazyků? Dost možná ne. Rust sice umožňuje zajímavé věci, ale taky něco od programátora vyžaduje (lifetimes), a pro spoustu věcí se to nevyplatí.

Jak se bude na pracovním trhu dařit programátorovi v Rustu? Dnes je sice pracovních míst pro Rusťáky sice málo, ale taky je málo Rusťáků, takže finančně to nebude špatné. Nebál bych se, že by nešlo se tím uživit. Možná to bude práce na dálku, protože ne v každém městě najdeme něco on-site; v ČR aktuálně nevím o ničem mimo Prahu. Mainstreamovější jazyk bude mít výhodu, že budete mít větší volbu, na čem chcete pracovat.

Idris

  • *****
  • 2 286
    • Zobrazit profil
    • E-mail
Re:Je Rust jazyk budoucnosti?
« Odpověď #94 kdy: 05. 11. 2022, 10:31:14 »
Rust sice umožňuje zajímavé věci, ale taky něco od programátora vyžaduje
Překladač se naštěstí za ty roky podstatně zlepšil, je výrazně sofistikovanější a už tolik nebuzeruje.


Re:Je Rust jazyk budoucnosti?
« Odpověď #95 kdy: 05. 11. 2022, 11:37:21 »
To věřím. Věřím i tomu, že se ještě zlepší. Nevěřím tomu, že by to z hlediska starání se o reference bylo u netriviálních projektů podobně bezstarostné jako jazyky s GC. Čekám, že si Rust ukrojí něco z C a C++ (tam IMHO programátor musí udělat podobnou úvahu jako u borrow checkeru, akorát nemá formální zápis, který by kompilátor zvládl zkontrolovat). A ano, najdete případy, kdy někdo do Rustu bude přepisovat kód v Pythonu, JS a dalších jazycích. Těmto jazykům ale Rust nejspíš moc neukrojí, spíše se přepíší části kódu, kde to bude dávat ekonomický smysl (nároky na rychlost, snadnost implementace…). Ale tam bude Rust spíše konkurovat jiným jazykům (C, Go apod.), do kterých by šly tyto části přepsat.

Re:Je Rust jazyk budoucnosti?
« Odpověď #96 kdy: 05. 11. 2022, 15:06:54 »
Já nějak moc nevidím přímos.
Ve své sadě mám C, C++, C# a python...
Rust oproti C je omezující. Možná se dá postavit oproti C++, ale co z toho?
Několikrát jsem se tím zkoušel zabývat, ale sytaxe mi přijde udělaná podle pravidla - hlavně se vymezit.

Re:Je Rust jazyk budoucnosti?
« Odpověď #97 kdy: 05. 11. 2022, 15:46:19 »
Bohudík Rust není jazyk budoucnosti. Neberu mu jeho přínos, ale C nenahradí, C++ i přes svoje problémy se drží a popravdě, není to tak špatný jazyk. Daleko zajímavější mi přijdou různé "DSL" jazyky jako K/J, Forth, Joy, Factor, Erlang. Konrétně Factor mi přijde jako zvláštní mix Smalltalku a Erlangu. Klobouk dolů před jeho tvůrcem.

Re:Je Rust jazyk budoucnosti?
« Odpověď #98 kdy: 05. 11. 2022, 16:15:49 »
Bohudík Rust není jazyk budoucnosti. Neberu mu jeho přínos, ale C nenahradí
Jistě, Rust nemůže C nahradit, C má svoje nezastupitelné místo třeba v Linux kernelu. Oh, wait.

Re:Je Rust jazyk budoucnosti?
« Odpověď #99 kdy: 05. 11. 2022, 16:25:04 »
Bohudík Rust není jazyk budoucnosti. Neberu mu jeho přínos, ale C nenahradí
Jistě, Rust nemůže C nahradit, C má svoje nezastupitelné místo třeba v Linux kernelu. Oh, wait.
Jestli narážíte na to, že se před nějakou dobou něco dostalo do kernelu, tak to pořád nic neznamená. C se nezbavíte z historických a pragmatických důvodů ještě desítky let. A až se to stane, třeba změnou technologie/paradigmatu třeba až na úrovni toho, jak pracujeme s železem, tak už bude Rust dávno za zenitem. C++ je sice z mnoha důvodů bestie, ale tohle se stane každému jazyku, co je umožňuje programovat tak nízko a vysoko nad železem a navíc je  zpětně kompatibilní cca 40 let (o jakési kompatibilitě s C ani nemluvě). Moc nechápu proč se nepoužívá více Ada, která toho umí opravdu dost (+ SPARK). Spíše jen historická smůla. Ale až dotáhnou package manager, třeba se to zvedne. Daleko větší mínění mám o Go, které jsem léta ignoroval i přes to, že Pike a spol. jsou pro mě autority..
« Poslední změna: 05. 11. 2022, 16:26:47 od uetoyo »

Re:Je Rust jazyk budoucnosti?
« Odpověď #100 kdy: 05. 11. 2022, 16:40:31 »
Jestli narážíte na to, že se před nějakou dobou něco dostalo do kernelu, tak to pořád nic neznamená.
Rust je prvním jazykem, který se do kernelu dostal (pro informaci, C++ to nedokázalo). Linus i ostatní kernel vývojáři vidí jeho přínosy oproti C, proto má Rust cestu do kernelu otevřenou. Popravdě je jen otázka času, kdy Rust (nebo nějaký jeho nástupce) v kernelu úplně nahradí C, protože garance, které dává Rust, hlavně ohledně bezpečnosti, v C nikdy nebudou a tohle prostě nejde ignorovat. Nebude to za rok, nebude to možná ani za 10 let, ale vývoj je jasně daný, C se postupně stane legacy jazykem, ve kterém se v kernelu bude kód jen udržovat a postupně nahrazovat Rustem (nebo něčím lepším, než Rust). Ano, cesta k tomu je ještě dlouhá, ale stane se to.

a6b

  • ***
  • 119
    • Zobrazit profil
    • E-mail
Re:Je Rust jazyk budoucnosti?
« Odpověď #101 kdy: 05. 11. 2022, 17:14:21 »
Jestli narážíte na to, že se před nějakou dobou něco dostalo do kernelu, tak to pořád nic neznamená.
Rust je prvním jazykem, který se do kernelu dostal (pro informaci, C++ to nedokázalo). Linus i ostatní kernel vývojáři vidí jeho přínosy oproti C, proto má Rust cestu do kernelu otevřenou. Popravdě je jen otázka času, kdy Rust (nebo nějaký jeho nástupce) v kernelu úplně nahradí C, protože garance, které dává Rust, hlavně ohledně bezpečnosti, v C nikdy nebudou a tohle prostě nejde ignorovat. Nebude to za rok, nebude to možná ani za 10 let, ale vývoj je jasně daný, C se postupně stane legacy jazykem, ve kterém se v kernelu bude kód jen udržovat a postupně nahrazovat Rustem (nebo něčím lepším, než Rust). Ano, cesta k tomu je ještě dlouhá, ale stane se to.


jine kernely napr. L4 jsou napsany v C++, samozrejme bez vyjimek

Re:Je Rust jazyk budoucnosti?
« Odpověď #102 kdy: 05. 11. 2022, 18:02:49 »
Rust v kernelu pohledem skeptika: Není to významné a dlouho nebude. IIRC tam Rust zdaleka nelze použít na cokoli, protože kernel podporuje velké množství platforem, ne všechny umí rustc. Takže využití bude spíše na drivery, kde omezená multiplatformnost není překážkou.

Rust v kernelu pohledem optimisty: Naznačuje to, že nejspíš by dnes podobný projekt vznikal v Rustu. Dříve nebo později si Rust cestu najde jako hlavní jazyk kernelu – archaické platformy budou dříve či později nepodporované, některé nové platformy mohou naopak získat podporu v rustc.


Re:Je Rust jazyk budoucnosti?
« Odpověď #103 kdy: 05. 11. 2022, 18:29:19 »
Rust v kernelu pohledem skeptika: Není to významné a dlouho nebude. IIRC tam Rust zdaleka nelze použít na cokoli, protože kernel podporuje velké množství platforem, ne všechny umí rustc. Takže využití bude spíše na drivery, kde omezená multiplatformnost není překážkou.
Tohle se aktivně řeší, brzo bude Rust v gcc, takže problém s (ne)podporou velkého množství platforem zmizí: https://devclass.com/2022/07/12/rust-gcc-front-end-approved-by-steering-committee-beta-expected-in-gcc-13/

hknmtt

Re:Je Rust jazyk budoucnosti?
« Odpověď #104 kdy: 05. 11. 2022, 20:21:41 »
Je podle Vás Rust jazyk budoucnosti? Případně, jaké jsou pro a proti a jaké budou klíčové milníky pro Rust? Použití Rustu narozdíl od Go tolik neroste, jaký to má podle Vás důvod a může se to v horizontu 1-2 let změnit?

Podla mna buducnost je Go, Zig, Java a JavaScript. Rust je kult-ovy jazyk s extremne exotickou syntaxou a prilist vybaca mimo normy programovacich jazykov. Takze nie, buducnost to urcite nie je. Nehovorim ze zanikne, ale ostane niche jazykom tak ako je nim aj teraz.