Přechod z Javy na Rust. Ano či ne?

Re:Přechod z Javy na Rust. Ano či ne?
« Odpověď #45 kdy: 21. 09. 2025, 21:29:24 »
c++ musim pouzivat profesne

skúste si pozrieť nejaké aktuálne video z konferencií, možno vás to zaujme a možno vám to zlepší pohodu v práci. pokiaľ teda máte možnosť používať nový prekladač. v piatok skončil cppcon a tri videá sú už na youtube.

ale jeste vice se mi libi golang

čo bude asi kvôli jeho jednoduchosti?

inak, čo sa týka rustu, tak ja s ním problém nemám, ale nech mi nikto nehovorí, že je to náhrada c++.


Re:Přechod z Javy na Rust. Ano či ne?
« Odpověď #46 kdy: 21. 09. 2025, 21:31:48 »
Ani nie, iba toto: Qt/Qt3D, Unreal Engine, Chromium a systémy založené na ňom, CUDA/HIP, OpenCV, CGAL/OpenCascade, API CAD aplikácií, no a potom všetko, kde potrebujete certifikáciu, pre Automotive/aerospace/medical, ako napríklad MISRA/AUTOSAR/ISO 26262/DO-178C

Myslím, že vymenované zapadá do kolonky legacy aplikácie, ktorú spomínal BoneFlute.

Re:Přechod z Javy na Rust. Ano či ne?
« Odpověď #47 kdy: 21. 09. 2025, 21:40:42 »
U Rustu nevidím nic, co by měl společného s C++. Jde úplně jinou cestou. Skoro až opačnou.

Proto to s tím nahrazováním C++ nebude až tak horké.

Pro kterou aplikaci je C++ vhodnější než Rust?

- Micročipy (ale prej...)
- Legacy aplikace napsaná v C++
- C++ vývojáři
- Možná ještě to stabilní ABI by mohlo něco znamenat, ale to nedokážu posoudit.

Napadá vás něco dalšího?

Myslím, že Rust není moc přizpůsobený na situace, kdy část kódu má mít omezenou paměť nebo kdy dochází paměť. Což je například užitečné ve webové serveru - mohu chtít aby na každý request bylo použito maximálně X bajtů paměti. A bohužel ve standardní knihovně Rustu nemůžu říct nějaké funkci, aby alokovala pouze v nějakém omezeně velkém prostoru (například každý request by dostal svůj specializovaný alokátor).

BoneFlute

  • *****
  • 2 056
    • Zobrazit profil
Re:Přechod z Javy na Rust. Ano či ne?
« Odpověď #48 kdy: 21. 09. 2025, 22:08:27 »
U Rustu nevidím nic, co by měl společného s C++. Jde úplně jinou cestou. Skoro až opačnou.

Proto to s tím nahrazováním C++ nebude až tak horké.

Pro kterou aplikaci je C++ vhodnější než Rust?

- Micročipy (ale prej...)
- Legacy aplikace napsaná v C++
- C++ vývojáři
- Možná ještě to stabilní ABI by mohlo něco znamenat, ale to nedokážu posoudit.

Napadá vás něco dalšího?

Myslím, že Rust není moc přizpůsobený na situace, kdy část kódu má mít omezenou paměť nebo kdy dochází paměť. Což je například užitečné ve webové serveru - mohu chtít aby na každý request bylo použito maximálně X bajtů paměti. A bohužel ve standardní knihovně Rustu nemůžu říct nějaké funkci, aby alokovala pouze v nějakém omezeně velkém prostoru (například každý request by dostal svůj specializovaný alokátor).

To je velice zajímavá poznámka.

Z mého rychlého studia, co jsem narychle zjistil:

Existuje std::panic::catch_unwind() pro práci s nebezpečným kódem - to musím vyzkoušet.

Od Rustu 1.70 je stabilní trait Allocator. Ale vypadá to na spoustu unsafe.

Pak jsou k dispozici nějaké knihovny které umí pracovat s předalokovanou pamětí.

Na první pohled mi to přijde jako plichta :-) Vypadá to, že v Rustu se to dělá tak, že se napíše unsafe řešení, které je následně k dizpozici vyšší úrovni... Takže rozhodně nic geniálně předpřipraveného.

Ale pro mě to znamená, že si musím vyzkoušet ve své aplikaci, kde používám scriptovací jazyk v Rust engine, co udělá, když tím scriptem vyžeru veškerou paměť.

Kit

  • *****
  • 874
    • Zobrazit profil
    • E-mail
Re:Přechod z Javy na Rust. Ano či ne?
« Odpověď #49 kdy: Dnes v 00:21:55 »
inak, čo sa týka rustu, tak ja s ním problém nemám, ale nech mi nikto nehovorí, že je to náhrada c++.

Možná jsem s tou náhradou přestřelil, protože ten pojem chápu trochu jinak. Co třeba alternativa či konkurence?


CHe

Re:Přechod z Javy na Rust. Ano či ne?
« Odpověď #50 kdy: Dnes v 05:32:40 »
golang vnímám jako zjednodušení C, escape-analýza, etc.
U Rustu nevidím nic, co by měl společného s C++. Jde úplně jinou cestou. Skoro až opačnou.

Za mňa je (z tu rozoberaných) práve jedine Rust reálne nadväzujúci na C a C++ tým, že ide cestou bez garbage collectoru. Go je alternatíva snáď tak k Jave, na typické C/C++ use cases (embedded, low resources, low/predictable latency) je problém práve to GC.

Re:Přechod z Javy na Rust. Ano či ne?
« Odpověď #51 kdy: Dnes v 05:58:34 »
Jaká je rychlost kódování v Rustu oproti C/C++. Máte někdo již dlouhodobější zkušenost? A co generování částí kódu Rustu pomocí AI?

Re:Přechod z Javy na Rust. Ano či ne?
« Odpověď #52 kdy: Dnes v 08:34:31 »
inak, čo sa týka rustu, tak ja s ním problém nemám, ale nech mi nikto nehovorí, že je to náhrada c++.

Možná jsem s tou náhradou přestřelil, protože ten pojem chápu trochu jinak. Co třeba alternativa či konkurence?
Alternativ anebo konkurence k C nebo C++ jsou i Go, Python, JavaScript, Java… Podle mne je „náhrada“ nebo „částečná náhrada“ to správné slovo – některé programy, které by se dříve psaly v C nebo (méně) v C++ se nově píšou v Rustu. Koneckonců, Rust přímo vznikl jako náhrada C++ – jako nový jazyk pro implementaci jádra webového prohlížeče napsaného původně v C++.

Re:Přechod z Javy na Rust. Ano či ne?
« Odpověď #53 kdy: Dnes v 09:47:14 »
Ani nie, iba toto: Qt/Qt3D, Unreal Engine, Chromium a systémy založené na ňom, CUDA/HIP, OpenCV, CGAL/OpenCascade, API CAD aplikácií, no a potom všetko, kde potrebujete certifikáciu, pre Automotive/aerospace/medical, ako napríklad MISRA/AUTOSAR/ISO 26262/DO-178C

Myslím, že vymenované zapadá do kolonky legacy aplikácie, ktorú spomínal BoneFlute.

Asi záleží na tom, aká je vaša osobná definícia legacy aplikácie. Ja som si vždy myslel, že legacy je program, ktorý bol vytvorený v minulosti a nie ten ktorý sa teraz vyvíja, ako napríklad budúce systémy na autonómne riadenie áut alebo nové lietajúce prostriedky, hry, aplikácie pre desktop, nadstavby CAD aplikácií atď.

Čo by ste teda navrhovali tým, ktorí do týchto projektov aktuálne dávajú desiatky miliárd EUR/USD? Napríklad automobilkám. Aby počkali, kým Rust získa všetky potrebné certifikácie? Tým, ktorí robia CAD, aby počkali kým Autodesk, Dassault, Siemens dodajú API v Ruste? Ešte mi napadá TensorFlow a spol., to sú tiež legacy aplikácie? Matematické knižnice, MKP(FEM)...

Re:Přechod z Javy na Rust. Ano či ne?
« Odpověď #54 kdy: Dnes v 10:47:41 »
inak, čo sa týka rustu, tak ja s ním problém nemám, ale nech mi nikto nehovorí, že je to náhrada c++.

Možná jsem s tou náhradou přestřelil, protože ten pojem chápu trochu jinak. Co třeba alternativa či konkurence?
Alternativ anebo konkurence k C nebo C++ jsou i Go, Python, JavaScript, Java… Podle mne je „náhrada“ nebo „částečná náhrada“ to správné slovo – některé programy, které by se dříve psaly v C nebo (méně) v C++ se nově píšou v Rustu. Koneckonců, Rust přímo vznikl jako náhrada C++ – jako nový jazyk pro implementaci jádra webového prohlížeče napsaného původně v C++.

Bavíme sa tu v rámci nejakého kontextu, teda kategórie jazykov, do ktorej Rust a C++ patria. V tomto zmysle C++ a JavaScript nepatria do toho istého kontextu.

To už by ste rovno mohli povedať, že alternatívou k vesmírnej rakete je rebrík. Oboje vás dostanú vyššie ako kde práve ste. Až na to teda, že rebrík vás dostane maximálne tak na strom. Ale určite nie na mesiac.

Takže áno, aj v C++ aj v JavaScripte sa dá programovať. Každý z tých jazykov je ale na úplne iné použitie a v rámci neho môže byť vhodnejší ako ten druhý jazyk.

Aj slovo náhrada, alebo možno skôr jeho význam, má svoj kontext. A tým sú pre účely mojich príspevkov tunajšie opakované žabomyšie diskuzné vojny týkajúce sa Rustu a C++. V tomto kontexte význam popisuje to, čo tu uviedol predrečník:

Na druhou stranu dobrá zpráva je, že pro nové aplikace není důvod již C++ používat.

Teda vytlačenie C++ z nových, čiže odborne aj obchodne zaujímavých, projektov. Čo je samozrejme nemysel.

Rust a C++ sa v rámci svojej kategórie a toho, čo poskytujú, čiastočne prekrývajú. Takže je jasné, že sú do istej miery zastupiteľné. To predsa nikto nespochybňuje. Ale každý z nich má niečo, čo ten druhý nemá a situácia, že by jeden z nich získal všetko, čo má ten druhý a vytlačil ho, nikdy nenastane.

Re:Přechod z Javy na Rust. Ano či ne?
« Odpověď #55 kdy: Dnes v 11:20:18 »
Safety profiles a C++, dovolil by si sdílet tento link:

https://www.circle-lang.org/draft-profiles.html

Je to od člověka, který chtěl fakt C++ pomoct a udělal toho víc než všichni ti diskutující tady dohromady. Problém ale je, že C++ committee prostě nikdy nechce nic dobrého, a vždycky se jde cestou zmetků a věcí, které vývojáři nechcou.

C++ jde nevyhnutelně ve špatné trajektorii a dnes už není moc důvod použít C++ na nový projekt - jsou mnohem lepší jazyky.

CHe

Re:Přechod z Javy na Rust. Ano či ne?
« Odpověď #56 kdy: Dnes v 11:43:16 »
dnes už není moc důvod použít C++ na nový projekt - jsou mnohem lepší jazyky
Aké? Ak to je projekt, kde bol dobrý dôvod vôbec uvažovať o C++, potom reálne použiteľné alternatívy budú tak C, Rust a možno Ada. "Mnohem lepší" z toho s prižmúrením oka spĺňa možno ten Rust, aj to závisí od okolností.

Re:Přechod z Javy na Rust. Ano či ne?
« Odpověď #57 kdy: Dnes v 14:41:50 »
Moje odpověď je rust, ale hodně firem použije na server věci prostě golang, i když pro mě je golang prostě ošklivý jazyk a chybí mí tam "const".

Drbat se dnes s C++ prostě nestojí za to. U legacy kódu to chápu, ale u nového kódu ne.

Re:Přechod z Javy na Rust. Ano či ne?
« Odpověď #58 kdy: Dnes v 15:46:47 »
Bavíme sa tu v rámci nejakého kontextu, teda kategórie jazykov, do ktorej Rust a C++ patria. V tomto zmysle C++ a JavaScript nepatria do toho istého kontextu.

Takže áno, aj v C++ aj v JavaScripte sa dá programovať. Každý z tých jazykov je ale na úplne iné použitie a v rámci neho môže byť vhodnejší ako ten druhý jazyk.
Před 30 lety byste webovou aplikaci (tenkrát pomocí CGI) psal nejspíš v C nebo C++. Protože moc jiných možností nebylo. Dneska tu samou aplikaci napíšete třeba v JavaScriptu. Takže jsou to alternativy. C/C++ v některých použitích nahradilo nejdřív PHP, pak se přidala Java (a trochu třeba i Python), a ty dnes v těchto případech částečně nahrazuje JavaScript. Přestože jsou to při určitém úhlu pohledu dost odlišné jazyky a každý se hodí na něco jiného.

Rust a C++ sa v rámci svojej kategórie a toho, čo poskytujú, čiastočne prekrývajú. Takže je jasné, že sú do istej miery zastupiteľné. To predsa nikto nespochybňuje. Ale každý z nich má niečo, čo ten druhý nemá a situácia, že by jeden z nich získal všetko, čo má ten druhý a vytlačil ho, nikdy nenastane.
Jenže o vytlačování, ve smyslu že se C++ úplně přestane používat, tu pořád píšete jenom vy. Všichni ostatní píšou „Rust (částečně) nahazuje C++“ a myslí tím, že některé aplikace, které by se při neexistenci Rustu psaly v C++, se dnes píšou v Rustu.

Že vy význam těch slov chápete jinak je sice hezké, ale když tu všichni ostatní používají význam odlišný od toho vašeho, mohl byste se přizpůsobit. Jinak se nedomluvíme. Nebo alespoň přestat pořád dokola opakovat, že ta cizí vyjádření s vaším významem slov nedávají smysl.