Zobrazit příspěvky

Tato sekce Vám umožňuje zobrazit všechny příspěvky tohoto uživatele. Prosím uvědomte si, že můžete vidět příspěvky pouze z oblastí Vám přístupných.


Příspěvky - echo_zulu

Stran: [1] 2 3 ... 5
1
Windows a jiné systémy / Re:V akom stave je Windows 11?
« kdy: 08. 10. 2025, 17:58:18 »
Nemali náhodou okrúhle rohy aj Windows XP?

Ak to už niekto spomenul, tak som to tu od začiatku nečítal...

2
Vývoj / Re:Přechod z Javy na Rust. Ano či ne?
« kdy: 02. 10. 2025, 16:56:13 »
Jak jednou objekt serializujete, tak už takřka nemůžete překopat vnitřní reprezentaci. Nějaká aktualizace pak obvykle něco rozbije.

Iba doplním, že serializačné knižnice umožňujú s dátami ukladať aj ich verziu, ktorá sa pri deserializácii používa na rozhodovanie, čo sa vlastne na vstupe očakáva, takže sa nenačítava niečo, čo na vstupe pre danú verziu nie je.

Program se ale asi stejně rozbije, protože bude sice vědět, že se jedná o jinou verzi, ale nebude vědět, co s ní dělat.

Program zostavený s podporou verzie 3 bude vedieť, čo robiť pri načítavaní dát serializovaných verziou 2, pretože pri písaní deserializačnej funkcie ošetríte zmeny, ktoré nastali prechodom na novú verziu.

Pokiaľ vaše zmeny boli nad rámec toho, že bolo niečo pridané alebo vymazané, dá sa to riešiť viacerými krokmi s dátovými objektami a ich ďalším spracovaním.

Zároveň je nutné zamyslieť sa na tým, kde sa končí (de)serializácia a kde už začína konverzia dát.

Riešil som celkom divoké veci vrátane veľkých zmien typov a dá sa to.

Pri zachovaní určitej disciplíny sa dá riešiť aj to, že program zostavený s podporou verzie 3 načíta zo súboru uloženého verziou 4 aspoň spoločné dáta. Ktorých môže byť aj 99%. Dokonca aj to, že pri novom uložení, dáta, ktoré verzia 3 nepozná, zachová a verzia 4 ich potom načíta ako keby sa nič nestalo. Je samozrejmé, že to chce dobrý návrh a zmeny pre takéto použitie musia mať zmysel.

3
Vývoj / Re:Přechod z Javy na Rust. Ano či ne?
« kdy: 02. 10. 2025, 14:58:56 »
Jak jednou objekt serializujete, tak už takřka nemůžete překopat vnitřní reprezentaci. Nějaká aktualizace pak obvykle něco rozbije.

Iba doplním, že serializačné knižnice umožňujú s dátami ukladať aj ich verziu, ktorá sa pri deserializácii používa na rozhodovanie, čo sa vlastne na vstupe očakáva, takže sa nenačítava niečo, čo na vstupe pre danú verziu nie je.

4
Vývoj / Re:Přechod z Javy na Rust. Ano či ne?
« kdy: 30. 09. 2025, 15:11:24 »
No právě. Opravdu se ten dokument mění? Je furt stejný, jen jsme k němu přidali nějaké ověření. Že je to jiný inkoust na stejném papíře je nepodstatný detail. V programu to může být druhý objekt, který se odkazuje na ten původní nezměněný dokument.

Presne. Nepodpísaný dokument a podpísaný dokument majú byť dve rôzne veci. Potom sa dá jednoducho dosiahnuť, že ak funkcii, ktorá vyžaduje podpísaný dokument dáte ako argument nepodpísaný dokument, dostanete veľmi dôrazné upozornenie už pri zostavení programu. Teda, pri pokuse o zostavenie programu...

5
Vývoj / Re:Přechod z Javy na Rust. Ano či ne?
« kdy: 30. 09. 2025, 15:09:41 »
V tomto smyslu porušují zapouzdření všechny gettery a settery. Přesto je kdekdo používá.

Gettery iba ak vracajú odkaz na nekonštantnú položku, settery iba ak argument zapíšu do členskej premennej bez akejkoľvek kontroly.

6
Vývoj / Re:Přechod z Javy na Rust. Ano či ne?
« kdy: 30. 09. 2025, 15:08:51 »
Ona jakákoliv serializace bude v principu narušovat zapouzdření, jinak nemůže fungovat. Je jen otázka, jestli to není zapouzdřené až na úrovni toho xml, nebo už někdy dřív.

Väčšinou, keď vám nezáleží na opaku, ale nie nutne vždy.

Zapúzdrenie slúži na zabránenie nekontrolovanej zmeny členskej dátovej položky, aby jej nežiadanou zmenou nemohlo dôjsť k nastaveniu vnútorného stavu, ktorý je neplatný alebo iným spôsobom nežiadaný.

Pokiaľ si serializované dáta podpíšete, tak deserializácia prípadnú manipuláciu s dátami v uloženej forme odhalí, a vytvorenie objektu neumožní.

7
Vývoj / Re:Přechod z Javy na Rust. Ano či ne?
« kdy: 30. 09. 2025, 15:07:10 »
Dobrá otázka je i "Co je to vůbec OOP?". Odpověď není až tak jednoduchá :)

Chápem ako to myslíte, ale tá odpoveď v podstate jednoduchá je. Pokiaľ poznáte históriu toho označenia. A myslím tým históriu od doby pred tým ako to označenie vzniklo.

A pokiaľ ju nepoznáte a nie ste si istý tým, čo OOP znamená, tak znamená to, čo si drvivá väčšina jeho používateľov myslí, že znamená.

To, že to označenie bolo vytvorené pre niečo iné, nie je vôbec podstatné. Nikdy sa to nepodarilo v širšej miere presadiť, ale hlavne, aj jeho samotný tvorca sa po čase vyjadril, že to, čo vytvoril, mal nazvať inak, podľa toho, čo je pre to, čo vytvoril zásadné a čo by mu dalo jednoznačný a nezameniteľný význam.

Keby to, čo vytvoril, nazval inak, tak je celkom veľká pravdepodobnosť, že OOP by sa začalo používať prirodzeným vývojom už len na základe toho aké generické slova sú v ňom použité.

8
Vývoj / Re:Přechod z Javy na Rust. Ano či ne?
« kdy: 30. 09. 2025, 15:02:40 »
2/ většina jazyků lepší nástroj pro reusable kódu jak dědičnost nemá (Java), některé nemají dokonce ani rozhraní (C++) (Překvapivě takový odsuzovaný jazyk jako je PHP ano.)

Myslel som si, že nemáte skúsenosti iba s aktuálnym C++, ale vy ich pravdepodobne nemáte ani s tým základným.

O abstraktných triedach ste niekedy počuli?

To, že C++ nemá kľúčové slovo interface neznamená, že nepodporuje ten koncept, alebo že nerealizuje požiadavky, ktoré realizuje to, čo sa volá rozhranie.

Rozhranie je realizácia požiadavky a tou je definícia kontraktu.

Rozšírenie rozhrania je tiež realizáciou požiadavky a tou je prevzatie kontraktu z rozširovanej triedy a jeho doplnenie.

Obe tieto požiadavky sa dajú realizovať už od Simuly a to práve abstraktnými triedami. Bez implementácie a bez dátových zložiek.

Používa sa na to dedičnosť. Ale v jej všeobecnom význame.

Dedičnosť je vo svojej podstate prevzatie od predka. (V bežnom živote v určitej situácii.)

Zdalo sa byť rozumné použiť to slovo aj v oblasti vývoja softvéru, ktorá je analógií s bežným svetom plná. A to na opakované použitie.

A teraz je otázka: prevzatie/opakované použitie čoho?

Možnosti, čo sa v tejto súvislosti dá prevziať máte minimálne dve: iba kontrakt alebo kontrakt aj s implementáciou.

Je rozšírenie rozhrania niečím iným ako prevzatím kontraktu z rozširovaného rozhrania a jeho doplnením? Nie je.

Je dedenie abstratnej triedy niečím iným ako prevzatím kontraktu zo základnej triedy a jeho doplnením? Tiež nie je.

To, že okrem prevzatia kontraktu môžete prevziať aj implementáciu je v tomto kontexte absolútne nepodstatné. V základnej triede totiž implementácia nemusí vôbec existovať.

A v súvislosti s týmto sa už desiatky rokov hovorí o dedičnosti rozhrania a o dedičnosti implementácie.

Nakoniec, existujú o tom kvantá literatúry, napríklad už na prelome ticícročí o COM od Microsoftu.

9
Vývoj / Re:Přechod z Javy na Rust. Ano či ne?
« kdy: 24. 09. 2025, 12:51:26 »
Rust ale vytvořili právě lidi, co už měli C++ plné zuby, že jo :)

Neštudoval som to, je to možné. Čo je ale isté, z komunity programátorov v C++ tí ľudia tvorili iba mizivé percento. Vlastne skôr asi mizivé promile.

A po desiatich rokoch Rust používa stále 5 až 10-krát menej programátorov ako C++ a hlavne, počet programátorov v C++ sa nezmenšuje. Naopak.

Nebol by som vôbec prekvapený, keby to bolo tak, že každý, kto chcel z C++ prejsť na Rust, už na Rust prešiel. S C++26 a ďalšími na to bude stále menej a menej dôvodov.

Je to zatím jediný jazyk, který umožňuje napsat to co v C++, ale naprosto safe, a jazyk, který se dostává do různých projektů, právě kvůli jeho kvalitám. To zatím žádný jiný jazyk nenabídl.

Keby to s tým safe aj bola pravda, je zrejmé, že absolútna bezpečnosť nie je najdôležitejšia priorita. A to ani pre regulátorov.

A navíc rust má i built-in package management, takže žádné ohavnosti typu vcpkg nebo conan. A žádný cmake!

Mať všetko integrované v jednom jazyku tiež očividne nie je priorita. Veci dosť dobre fungujú aj bez toho.

Mne vôbec neprekáža, keď funkcie clang-tidy nie sú integrované v jazyku. Nie je žiadna veľká práca spustiť ďalší program na zistenie ako kód vyzerá z hľadiska bezpečnosti. To sa týka všetkých nástrojov. O jedno automatizované spustenie viac alebo menej, koho to vo svete vývoja softvéru zaujíma? Inak, už minimálne dekádu vlastne ani nie je nutné niektoré tieto nástroje spúšťať samostatne, veď analýza prebieha už počas písania kódu a výsledky sú zobrazené priamov editore.

Čo sa týka toho ostatného, je zaujímavé, že vo svete Linuxu sa hovorí, že mať na výber niekoľko možností je veľká výhoda. Ale ako náhle sa jedná o Rust a C++, tak všetko musí byť integrované a to, že si v C++ človek môže vybrať niekoľko systémov na zostavenie alebo na správu balíčkov je neprekonateľná prekážka. Našťastie iba pre určitú sortu ľudí.

10
Vývoj / Re:Přechod z Javy na Rust. Ano či ne?
« kdy: 23. 09. 2025, 12:57:17 »
Toto ma zaujalo:

Proti C/C++ bohužel nemohu sloužit, je to už dlouho.

V kombinácii s o deň starším:

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

... sa musím zamýšľať:

Na základe čoho vlastne vyslovujete takéto závery?

Keď s aktuálnym C++ nemáte dostatok skúseností, tak by možno stálo za zamyslenie, či by ste sa k nemu vôbec mali vyjadrovať.

11
Vývoj / Re:Přechod z Javy na Rust. Ano či ne?
« kdy: 23. 09. 2025, 12:44:25 »
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.

To bol v podstate návrh nového jazyka, či skôr možno viacerých nových jazykov a o to nikto z tých, ktorí v tom majú peniaze, naozaj nestojí.

Kto si myslíte, že v tom "comittee" vlastne sedí? Že sú to ľudia z ulice bez akéhokoľvek vplyvu a bez zodpovednosti? Alebo iba akademici, ktorí nemajú v zdrojovom kóde investície za niekoľko dekád?

Takže bolo rozhodnuté, že sa pôjde cestou evolúcie a nie cestou vymazania histórie a začatia na zelenej lúke.

Pretože za to by niekto musel zaplatiť. A to si začali uvedomovať aj regulačné orgány, ktoré už nepožadujú, aby bolo všetko prepísané do Rustu.

V podstate to znamená, že cena za prechod na iný jazyk v takom veľkom rozsahu, či sa bavíme o prepísaní alebo iba pokračovaní v novom jazyku, je vyššia ako cena za prípadné problémy spôsobené bezpečnosťou, ktorá je iba dosť dobrá a nie perfektná. A k tomu, aby bola bezpečnosť dosť dobrá, C++ smeruje.

Ostatné záležitosti riešia certifikované procesy, kde mimochodom Rust stále zaostáva.

Čo sa jednotlivých programátorov týka, tak každý si môže vybrať jazyk ktorý mu vyhovuje. Pokiaľ v ňom samozrejme nájde prácu.

Je inak pozoruhodné, že ste sem vlepili rozhodnutie z minulého roku a nie rozhodnutia z tohto roku, ktoré veci značne posúvajú v prospech C++. A nemyslím si, že je málo pravdepodobné, že o nich neviete.

Na záver, ja sa nesnažím pomôcť C++. Ale tým, ktorí sa snažia zorientovať a dostávajú jednostranné informácie o tom ako je jeden jazyk úžasný a ako venovať sa jazyku s dlhšou históriou a 5 až 10-krát väčším zastúpením v priemysle nemá zmysel. Aby mali možnosť vidieť aj druhú stranu mince.

12
Vývoj / Re:Přechod z Javy na Rust. Ano či ne?
« kdy: 23. 09. 2025, 12:32:49 »
Nemám čas, tak stručnejšie...

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.

Tak si to zrekapitulujme.

napríklad:

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

alebo:

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

alebo:

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

To už je vyslovene neúctivé. K ľuďom, ktorí nové projekty v C++ začínajú. Keď ich začínajú a C++ je taký šmejd ako o ňom roztlieskávači Rustu píšu, tak predsa tí ľudia, ktorí si C++ vybrali, nemôžu byť normálni...

Podobne ako toto:

Lidi co říkají, že rust nenahradí C++ žijou ve vlastním omezeném světě.

Pritom je to úplne naopak. Svet C++ je oveľa rozsiahlejší ako svet Rustu. A stále sa rozširuje. Čo sa týka počtu programátorov, počtu projektov, počtu noviniek v jazyku, atď.

Takže moja odpoveď do toho celkom zapadá:

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.

Dokážem si ale predstaviť, že ste prehliadli tú prvú vetu, kde je jasne definovaný rozsah.

Ďalej, čo sa toho "částečně" týka, tak v prvej zmienke o nahradení C++ Rustom žiadne "částečně" nebolo.

Ž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.

Možno je to tak, že skutočný význam slov nechápete vy. Keď sú bez prívlastku. Takže sa môžeme začať nekonečne dohadovať o tom, či keď sa povie nahradenie, myslí sa tým úplné alebo čiastočné. Z nejakého dôvodu ale prívlastok "čiastočne" existuje. A rozhodne nie je nadbytočný.

13
Vývoj / Re:Přechod z Javy na Rust. Ano či ne?
« kdy: 22. 09. 2025, 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.

14
Vývoj / Re:Přechod z Javy na Rust. Ano či ne?
« kdy: 22. 09. 2025, 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)...

15
Vývoj / Re:Přechod z Javy na Rust. Ano či ne?
« 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++.

Stran: [1] 2 3 ... 5