Po objevení Rustu se pro mě stal C, C++ mrtvou záležitostí.
Ano, samozřejmě, Rust není všespásnej, člověk se musí namahat a přemejšlet a vůbec. Ale prostě ty benefity které poskytuje jsou nepřehlédnutelný.
- Přátelštější syntaxe se zajímavými typy.
- Přejícné chybové hlášky.
- Defenzivní přístup (panic!() musíš napsat, ne, že se ti prostě stane.)
- Moderní ekosystém cargo a spol.
Zním fanaticky? A to se ještě krotím! :-)
Rust nemá ten sedmdesátkový vibe (preprocesor, make a podobné chutnosti) - prostě je to moderní jazyk s moderním ekosystémem, ale C a C++, když je nouze, taky umím použít. Trochu je mi líto mladších vývojářů, kteří tohle nezažili a najedou hned třeba na Python nebo JS/TS a tuhle kovářinu nemají pod kůží.
Na Rustu se mi líbí dvě věci: nesnaží se za každou cenu přidávat další a další možnosti (co takhle OOP, nebylo by? a co garbage collector, nehodil by se?). Pak komunita, která opravdu poctivě přemýšlí, jaké věci zlepšit a jak vyřešit omezení, které Rust (záměrně) má jako jazyk - self-referential structs atd.
C a C++ jsou v pohodě, ale co mi na tom přijde příšerné je (ne)přenositelnost bez něčeho jako CMake a ten zrovna jednoduchý není. Hlavně na windows takové úlohy jako nakopíruj DLL ze tří knihoven k binárce, kde je to pro každou řešené jinak.
Rust jsem zkoušel asi dva roky zpět a po pravdě úplně nevím, co bych v něm psal, nějaké aplikace s GUI ne, nebyly dobré frameworky a na práci s obrázky. Nějaké serverové části webové aplikace by asi šly.
Byť vidím nějaké výhody (cargo, je těžké napsat program s nedefinovaným chováním - raději definovaně spadne). Ale že pro něj nemám využití, neznamená, že není pro některé aplikace vyloženě dělaný a ekosystém se za dva roky také nejspíš zlepšil.
Dva roky je dost vody.
https://crates.io/ hodně jede.
gtk3, gtk4 je.
qt mi zlobilo
Podpora obrázků celkem je, včetně vektorů (tady bez záruky).
V mém případě se rust právě vyprofiloval jako jazyk pro desktop a webservice.
1. 11. 2023, 16:19 editováno autorem komentáře
Hele a ty máš porovnání s rozsáhlým vývojem v C/C++ jako mission/safety critical systémy vs Rust? Nebo se ti Rust líbí pro domácí programování? V práci jedeš PHP pokud se nepletu.
Ne že by ten jazyk nebyl zajímavý -- sám tu někde dohledáš moje debilní otázky na téma "Co říkáte na jazyk Rust v0.999?" snad před 8 lety s odpověďmi kupodivu tenkráte vcelku chladnýma. Myslím dokonce ještě před prvním článkem P. Tišnovského. Za ty roky sem ale nějak taky lehce ochladnul.
Radek M. má, dle mého názoru, fakt v mnoha ohledech správný a kritický úsudek. Není standard, není formální důkaz, není zkušenost...
Jinak dohledat si tady články a názory o Rustu třeba z roku 2016 je fakt srandy kopec.
[[citace: "Protože Rust je typický zbytečný programovací jazyk, po kterém za pár let ani pes neštěkne. Byl vyvinut proto, že "chceme používat jen co si vymyslíme sami"]]
:D
S rozsáhlým? Jak rozsáhlým?
Prostě C/C++ znám. Mám s ním nějaké zkušenosti. Dělal jsem v něm nějaké kšefty. Mám zkušenosti s dalšími jazyky. A když jsem hledal na jeden "rozsáhlejší" projekt kandidáta, tak na základě určitých analýz/prototypů C/C++ totálně propadl, a Rust zazářil.
Pochopitelně, je to mé prohlášení člověka z internetu, a nebudu ti mít za zlé, když si jím podložíš kytku.
U Rustu se setkávám s jedním nešvarem. Objeví se někdo jako já, který začne básnit. A pak se zvedne vlna nevole, která začne prohlašovat:
- Rust nemá standard (neměl)
- Rust nevyřeší všechno (to nikdo netvrdí).
- Rust dělá Mozilla a určitě zhebne (oba)
- Jsou lepší jazyky jak Rust (ne ve stejné situaci)
- V práci nakázali C
- Máme code base v C
- a další
Cože je všechno pravda a vůbec. Ale nic to nemění na skutečnosti, že Rust je horkej kandidát na zabijáka C/C++. Né Javy, Haskellu, C#. C/C++.
Ale beru tě vážně. Jen sem se ptal.
(Tak se ptáš co je C/C++ a pak to sem prdneš sám :D). Výrazu C/C++ se štítili protože měli mindrák, že se to míchá dohromady a C++ se tím usurpuje nebo naopak?
Pro zábavu, to je Rust fanatik, v dobrém slova smyslu: https://www.youtube.com/watch?v=LbmvbXPj8Fs
Tady se ukazuje, jak vzniká nedorozumění. Já pochopil to jako že narážíš na výraz co to je "C/C++" a tím odsouváš pozornost na ten termín, který je pro někoho jak red flag. A tys to myslel úplně jinak. Promiň tedy. A máš pravdu, C a C++ není z tohoto, kromě historického důvodu, moc vhodné. To byla a je Ada a SPARK. Rust už radši nechávám stranou, rozhodně se na to ale hodí víc než C/C++.
3. 11. 2023, 15:10 editováno autorem komentáře