Preskočiť na hlavný obsah

Matúš odporúča:

Môj ThinkPad po mesiaci: ako sa s ním pracuje?

 Piateho augusta som napísal článok o  mojom ThinkPade , kde po jeho napísaní mi napadlo, že by som mohol urobiť dlhodobú recenziu o tomto stroji. Hárdvér: Dostatočne výkonný na to, aby rozbehal 99% mojej knižnice na Steame a veľmi rýchlo skompiloval MatuushOS. Ako prvé mi napadlo, že by som mohol otestovať jeho výkon v rôznych hrách, ktoré som vtedy hral na Steame. Testoval som ich na Fedore 42. Poznámka autora: Všetky hry, ktoré som testoval, mali skompilované shadery, čiže ak by vám náhodou vaše hry išli horšie, tak počkajte, kým tie shadery Steam skompiluje Ako prvú hru som vyskúšal Haste . Je to v podstate Sonic, ale so ženou a s perkami. Keď som to po prvý krát zapol na tomto laptope, tak som mal niekde medzi 10 a 20 FPS. Ale po nastavení FSR v Steame a v hre (plus po znížení grafických nastavení na Medium a znížení rozlíšenia na 1280x720) som mal niekde medzi 30 až 60 FPS. Po nainštalovaní a spustení Factoria  som okamžite videl tú optimalizáciu, ktorú tí naši brat...

Programming Language Review: Rust

 Každý, kto programuje, asi v niečom programuje. A teraz nemyslím integrované vývojové prostredie/editor textu. Myslím tým programovací jazyk. Či už je to C, C++, Python, a iné. Ale dnes sa pozrieme na Rust, čím samozrejme nemyslím dediny v Burgenlande/Badensku-Wüttenbergu (mimochodom, v obidvoch dedinách je lunapark), alebo tú hru, ktorá je dosť ťažká. Myslím tým programovací jazyk, ktorý je veľmi bezpečný, spoľahlivý a jeho prekladač/zostavovač je veľmi nápomocný (niekedy).

Výhody oproti ostatným jazykom

Vidíte ten rozdiel? (zobraté z rewritu MtBuildu do Rustu


)

Rust je programovací jazyk, ktorý má asi najlepšie DX (developer experience) zo všetkých jazykov, ktoré existujú a v ktorých som programoval. Buďme si úprimní, koľko z nás už dvakrát uvoľnilo pamäť, alebo napísali ste niečo, čo ste si mysleli, že ste napísali niečo správne, ale prekladač namiesto toho, aby vám povedal, čo ste zle napísali, tak vám vôbec nepomôže. Rust vás ale na takéto chybičky upozorní pri zostavovaní a buď zastaví zostavovanie a vypíše vám, čo sa presne stalo, alebo vám dá varovanie pri zostavovaní, napríklad keď zabudnete odstrániť import niečoho, čo už nepotrebujete. 

Potom tu je Cargo, čo je správca balíkov pre Rust, a zároveň je to jediný správca balíkov, ktorý sa používa v Rustovskom ekosystéme. Zatiaľ čo C a C++ nemajú jediného správcu balíkov (lebo ich je toľko, koľko politických strán na Slovensku), v Ruste sa jednoducho môžete prehodiť do priečinka, kde je súbor Cargo.toml (spravuje názov balíka, edíciu Rustu, verziu balíka, spravuje závislosti, optimalizáciu a iné veci), zadať cargo build (môžete pridat aj argument --release), počkať pár sekúnd a v priečinku target/(profil, ktorý ste si vybrali pri zostavovaní)/ nájdete binárny súbor, ktorý ste si zostavili.

A takto môžem pokračovať asi donekonečna. Makrá sa takmer nedajú zneužiť, odvodzovacie (#[derive]) makrá sú úplná pohoda a prispievajú k snaď najlepšej vývojárskej skúsenosti, aká existuje v prostredí programovacích jazykoch (Augumentácie JavaScriptu, ako napríklad React, Astro, sú tiež v pohode, ale sú to iba augumentácie jazyka, ktorého prvá verzia bola napísaná za týždeň a kde 0 nie je číslo).

Jeho syntax

Rust je striktne typovaný. To znamená, že všetko musí byť zadefinované predtým (a musí to mať aj dátový typ), než sa to použije vo funkcií alebo v makre. Ale zase tá syntax potom nevyzerá ako z JavaScriptu, kde sa nemusia vôbec definovať dátové typy a potom nikto nevie, aký dátový typ má táto funkcia.

Syntax Rustu sa skladá z funkcií, traitov (nástroj polymorfizmu, ktorý potom môžete implementovať na funkcie), štruktúr, enumerácií, impl syntaxe (tzv. keyword, cez ktorý sa robí OOP v Ruste).

Keďže Rust je nízkoúrovňový jazyk, tak tam cezeň môžeme spravovať pamäť. A to sa robí cez ampersand (&), čím si vlastne vypožičiame odkaz na adresu v pamäti, kde sa nachádza ten pôvodný objekt. Je tam samozrejme aj celkom známa hviezdička (*), ktorá derefencuje (zničí) ten objekt z pamäte. Samozrejme, ako som už spomínal, tak vám to nedovolí dereferencovať dvakrát, to by už spôsobilo, že sa ten prekladač bude hnevať :).

Záver

Rust je budúcnosť. To nemôže nikto vyvrátiť. Je používaný na vývoj blokchainu, AI, embedded systémov, v big tech korporáciach, vo Windowse, v autách, jednoducho všade. A bude stále vytláčať C a C++, pričom spoločnosť sa musí tomu prispôsobiť (ale asi nie na Slovensku, tu sme vo všetkom sto rokov za opicami)

Ak sa vám tento článok páčil, tak ho nneváhajte zdielať na Reddit, LinkedIn, Mastodon, alebo ho pošlite priamo niekomu.

Komentáre

Zverejnenie komentára

- Buďte slušní
- Nevhodné komentáre budú vymazané
Každý komentár bude zadržaný na kontrolu.

Fanúšikmi milované články

Re-recenzia NixOS: Ako sa používa?

 Asi pred rokom som napísal kontroverzný článok  na kontroverziu v NixOS. Áno, viem, je to paradox. Potom som prešiel na Fedoru od napísania tohoto článku, pričom ju stále používam na mojom Macu, lebo tam mám dôležité veci. Ale teraz po roku som sa rozhodol, že NixOS vyskúšam znova, tentokrát ale ako používateľ, ktorý nesleduje dianie okolo NixOS (na fórum tejto distribúcie som sa prihlásil iba teraz, aby som mohol ľahšie dohľadať príspevok a skopírovať odkaz naň). Poďme sa pozrieť, ako som si ho nastavil. Poznámka autora: Aktuálnu konfiguráciu nájdete na https://gitlab.com/TenTypekMatus/nixos .  Čo to je? NixOS je linuxová distribúcia, ktorá je nemenná, a ktorá sa konfiguruje pomocou jazyka, ktorý sa volá Nix, ale k nemu sa ešte dostaneme. Je to metadistribúcia, ktorú si môžete nakonfigurať tak, ako vy chcete. Inštalácia Poznámka autora: Kroky inštalácie sú v inštalátore NixOS iné než tie, ktoré budem popisovať. Ja i...

Koniec NixOS: Kontroverzie a čo ďalej?

 Kto nebol na internete asi skoro celý mesiac, tak nevie, čo sa deje, ale pre tých, čo to nevedia, tak to priblížim. Dvadsiatého šiestého apríla bol publikovaný  tento blogový článok  od Eelca Dostru, človeka, ktorý napísal svoju diplomovú prácu na Nix, a ktorý kritizuje komunitu, ktorá sa vytvorila okolo Nixu. NixCon + (vložte nejakú zbrojársku spoločnosť sem) = nezáujem Keď sa zistilo, že Anduril, čo je vlastne zbrojárska spoločnosť, bude sponzorovať NixCon, čo je akcia, kde sa stretávajú ľudia, aby mohli odprezentovať svoje projekty, zážitky a skúsenosti s Nixom/s NixOS. A Anduril je zbrojárska firma, ktorá vyrába drony s umelou inteligenciou, ktoré sú nasadené na americko-mexickej hranici na prevenciu migrantov. Prečo je to zlé? Linuxové komunity (a NixOS najviac) sú ľudia, ktorí sú v drvivej väčšine prípadov proti zbrojárskym spoločnostiam. Bohužiaľ, organizátori nestiahli tohoto sponzora z akcie. Nasilu pretlačené ,,vločky˝ Eelco je známy aj svojou netrpezlivos...

Ako a prečo som si nainštaloval GSI na môj telefón

 Asi pred rokom som  napísal článok o samsungových telefónoch , kde som ich skritizoval za neštandardný prístup flashovania alternatívnych operačných systémov a za nutnosť používať Odinovské .tar súbory. Ale to sa všetko zmenilo. Som starší, múdrejši, a rozumnejší, ako som bol vtedy. Plus pribudlo veľmi veľa návodov a zdrojov, z ktorých sa dá čerpať pre túto tému. Tak sa poďme spolu pozrieť na to, ako som si dal GSI na môj telefón. Poznámka: GSI je skratka pre Generic System Image (generický obraz operačného systému). Viac si o tomto formáte môžete prečítať  tu. Prečo? Primárnym dôvodom, prečo som sa rozhodol toto spraviť, je, že na predinštalovanom Androide, ktorý dostanete spolu so zariadením, je príliš veľa softvérového odpadu. Máte tam aplikácie od Samsungu, Googlu a z nejakého dôvodu aj od Microsoftu a Mety. Pri Samsungu je logické, prečo tam chcú mať svoje aplikácie. Pri Googli taktiež, plus je to aj tým, že tam máte mobilné služby od Googlu.  Ale nechápem, nač...

Initramfs: Čo to je a ako to využiť v náš prospech

 Podľa mojich štatistík, ktoré si pozerám, tak mojou druhou najväčšou skupinou su tí, ktorí sú na nejakej linuxovej distribúcií (mne sa to tam zobrazuje iba ako ,,Linux˝). Prečo som práve toto napísal? Lebo práve táto skupina ľudí nepriamo štartuje svoj systém cez niečo, čo sa volá initramfs. Poďme sa to pozrieť na to, čo to je a ako to využiť v náš prospech. Čo to je? V skratke je initramfs pico-operačný systém, ktorý je skomprimovaný cez program, ktorý sa volá cpio, a ktorý sa pri spustení systému rozbalí do operačnej pamäte. Je to starý, ale spoľahlivý spôsob, ako skomprimovať súbory a používa sa od nepamäti. Väčšinou sa komprimuje do formátu, ktorý sa volá Gzip. Initramfs sa využíva na rôzne veci. Či už na resetovanie hesla, pripojenia obskúrne nastaveného média (napríklad 40 diskov, ktoré sú v MergerFS zväzku (MergerFS = súborový systém, ktorý slúži na vytvorenie jedného superdisku z viacero menších diskov) zašifrované cez LUKS + polovica diskov má iný súborový systém), alebo ...

MatuushOS: Status update + plány do budúcna

 Neskutočné sa stalo skutočným: Vyšiel nový Status update pre môj operačný systém, ktorý sa volá MatuushOS. Tentokrát mám veľmi veľa noviniek, ktoré sa udiali na tomto operačnom systéme. Čiže sa na ne poďme vrhnúť. Recenv O Recenve som rozprával už predtým v  článku o Initramfs , ale tým, že vás mám rád, tak vám zhrniem, čo to je.  Recenv je veľmi minimálne obnovovacie prostredie, ktoré sa nastavuje cez parametre, ktoré sa predávajú linuxovému jadru. Cezeň sa dá aktualizovať/obnoviť operačný systém. Pri jeho tvorení som sa inšpiroval obnovovacím procesom, ktorý je vo Windowse, MacOS a na Androide. Ale načo vytvárať ďaľší aktualizačný systém, keď existuje systemd-sysupdate a bootc? Preto, lebo MatuushOS je 100% bez systemd. Toto rozhodnutie bolo urobené z dôvodu, že systemd je  napísané v céčku , čo je jazyk, kde sa stráca produktivita z dôvodu trápenia sa so zostavovacím systémom a ktorý je 50 rokov starý , čiže vôbec nie je podľa mňa vhodný na nové projekty. A áno, ...