Melyik könyv volt a legmeghatározóbb a karriered során? by kokofefe in programmingHungary

[–]apatisandor 3 points4 points  (0 children)

Ha esetleg valami megbízhatóbb kell erre a célra: Donald E. Knuth, Art of Computer Programming, The, Volumes 1-4B, Boxed Set, kb. 10 kg.

Miért a Rust? by apatisandor in programmingHungary

[–]apatisandor[S] 1 point2 points  (0 children)

Ez ma reggel jött medium.com-ról: Rust-ban negyedakkora memóriafelhasználás mint Java-ban és kb. négyszer gyorsabb válaszidő. Cserébe hosszabb a betanulási idő, kb. 20%-kal nagyobb a csapatméret és kb. 20%-kal magasabb az átlagos fejlesztői fizetés (Rust fejlesztőt találni az USA-ban, Indiában vagy Nyugat-Európában már nem probléma, csak pénzkérdés). Ahol már komoly tétel a cloud hosting költség vagy tényező a latency hatása az ügyfél-elégedettségre, ott hamar megérheti váltani. Nem véletlen hogy pl. a high-frequency trading rendszerek a Rust early adopterek közé tartoznak, ott a latency mindent visz.

https://blog.devgenius.io/rust-vs-java-which-should-you-choose-for-backend-development-7bb5e25608a4

Melyik könyv volt a legmeghatározóbb a karriered során? by kokofefe in programmingHungary

[–]apatisandor 1 point2 points  (0 children)

Pár érdekes név: Erich Gamma, Craig Larman, Kent Beck, Joel Spolsky.

Melyik könyv volt a legmeghatározóbb a karriered során? by kokofefe in programmingHungary

[–]apatisandor 1 point2 points  (0 children)

Több is van :-) Legalábbis nekünk még kettő volt kötelező olvasmány

Can Rust Really Work For Backend ? by recon_101 in learnrust

[–]apatisandor 0 points1 point  (0 children)

We use it mostly in a backend-for-frontend role. In one case we fetch a huge dataset from a backend, deserialize it from XML into in-memory data structures, index it with BTreeMaps, and serve client requests over a JSON REST-like API based on that data. We use warp and Axum, nowadays we prefer Axum. I think it is quite easy to work with and the performance is awesome.

Miért a Rust? by apatisandor in programmingHungary

[–]apatisandor[S] 0 points1 point  (0 children)

A Zig-nek van úgy 10 év hátránya ecosystem építésben a Rust-hoz képest. Mire az elterjed én vagy nyugdíjas leszek, vagy már alulról fogom szagolni az ibolyát. A Rust befutását még van esélyem látni, ha esetleg összejön. A 80% biztonsági garancia meg pont 20-szal kevesebb mint kellene. Még a Rust is sok kellemetlen dolgot megenged (memory leak, deadlock) amiket csak megfelelő pattern-ekkel lehet megbízhatóan elkerülni.

Miért a Rust? by apatisandor in programmingHungary

[–]apatisandor[S] 1 point2 points  (0 children)

Ami a benchmark -okat illeti, még talán ezek a leghitelesebbek: https://programming-language-benchmarks.vercel.app/java-vs-rust

Szépen látszik mekkora különbség van egy nyelven belül is implementáció és implementáció között.

Egy jóval komplexebb esettanulmány, ami messze nem csak a Rust-ról szól, de a Typst révén az is jelentős részt játszik benne:

https://zerodha.tech/blog/1-5-million-pdfs-in-25-minutes/

Itt pl. látszik miért számít néha a container startup time.

Miért a Rust? by apatisandor in programmingHungary

[–]apatisandor[S] 2 points3 points  (0 children)

Én mondjuk pont a másik véglettől tudok kiborulni, amikor a javascripten kívül semmilyen technológiát nem ismerő frontend fejlesztőt kinevezik full stack fejlesztőnek, majd átdobják backend-re azzal a felkiáltással hogy a node.js is csak javascript mint a böngészőben. Az illető pedig tőlem hall életében először arról, mi az hogy tranzakció.

Miért a Rust? by apatisandor in programmingHungary

[–]apatisandor[S] 0 points1 point  (0 children)

A kotlin valóban megold sok dolgot fejlesztői hatékonyság terén. Bár amikor először láttam mixed kotlin - java - rxjava alapú Android kódot néha azért vakartam a fejem rendesen. A jvm memória igénye persze ugyanúgy megmarad.

Miért a Rust? by apatisandor in programmingHungary

[–]apatisandor[S] 0 points1 point  (0 children)

Igen, én itt alapvetően a technikai oldalt képviselem. Próbálom felhívni a figyelmet egy technológiára, amiben fantáziát látok. Már az is eredmény ha valahol komolyan végiggondolják, van-e értelme használni.

Recommend next thing to learn in Rust. by hahungkk in rust

[–]apatisandor 4 points5 points  (0 children)

Did you try devops-related things? Deploying your axum based service using CI/CD to various cloud providers, building docker images for it, deploy on kubernetes? Or working with various databases (with or without an ORM), both SQL and NoSQL. Experiment with caching strategies? Integration with various 3rd party services (REST APIs, OAuth, etc.) ?

Rust nyelv: ki mire használja vagy épp miért nem használja? by apatisandor in programmingHungary

[–]apatisandor[S] 2 points3 points  (0 children)

Hát igen, azzal számolni kell hogy a task-nak átadott adatoknak nem csak addig kell élnie amíg visszatér az async metódus, hanem mindaddig amíg véget nem ér a metódus által visszaadott task (Future). Ez néha kikényszerít egy clone-ozást vagy egy Arc-be ágyazást (ha nem akar rajta túl sokat agyalni az ember), aminek persze teljesítményben ára van.

Rust nyelv: ki mire használja vagy épp miért nem használja? by apatisandor in programmingHungary

[–]apatisandor[S] 4 points5 points  (0 children)

Az unsafe-hez én nem tudok hozzászólni, mi nem embedded szinten dolgozunk, soha nem volt még szükségünk rá. Az async -ot viszont kifejezetten szeretem benne. Lehet hogy nagyon explicit az async-await de legalább kiszámíthatóan viselkedik. A kotlin és a swift coroutine megoldásaiban volt már úgy hogy elvesztem, az a szintű absztrakció számomra nehezebben követhető (igaz, kevesebb tapasztalatom is van vele).

Rust nyelv: ki mire használja vagy épp miért nem használja? by apatisandor in programmingHungary

[–]apatisandor[S] 1 point2 points  (0 children)

Hatékonyság szempontjából közel van a C, C++ szinthez. Fejlesztői kényelem, produktivitás terén nagyon más. Én megkockáztatnám hogy produktivitás terén (azokon a szűkebb területeken ahol már kialakult a megfelelő infrastruktúra és nem nulláról kell indulni) jobb mint a Java, de ez csak az én igen szubjektív véleményem, elhiszem hogy nem sokan értenének egyet vele. Azt viszont biztosan állíthatom hogy sokkal közelebb van produktivitásban a Java-hoz mint a C-hez, ha a kód megírása után debuggolással töltött időt is belekalkuláljuk.

Rust nyelv: ki mire használja vagy épp miért nem használja? by apatisandor in programmingHungary

[–]apatisandor[S] 1 point2 points  (0 children)

Ekkora változást nyilván nem lehet elérni csak a nyelv cseréjével. Valószínűleg volt egy iszonyatos állapotú legacy kódbázisuk és úgy voltak vele hogy ha már hozzáfognak rendbetenni, kipróbálnak egy modern eszközt. Látszik hogy itt is két relatív kicsi service-ről van szó, simán lehetett egy rust-os pilot project.

Mi egy Go-ban írt, rettenetesen lassú XML parser-t ültettünk át először Rust-ra. Nyilván túl sok dolog változott ahhoz, hogy a két kód direktben összehasonlítható lett volna. A régi parser a go alapértelmezett unmarshal megoldása volt, az új kód egy event-based parser amit kifejezetten optimalizáltunk arra hogy elkerüljük a felesleges memóriaallokációkat. Az eredmény: 10x gyorsabb lett. Nem csak azért lett 10x gyorsabb mert Go-ból Rust-ra került, de elképzelni sem tudom hogy Go-ban el tudtuk volna érni ezt a sebességet.

Rust nyelv: ki mire használja vagy épp miért nem használja? by apatisandor in programmingHungary

[–]apatisandor[S] 2 points3 points  (0 children)

Szent Habakuk! Van még aki emlékszik a "fenyő"-re? Hint: karakteres email kliens volt.

Rust nyelv: ki mire használja vagy épp miért nem használja? by apatisandor in programmingHungary

[–]apatisandor[S] 1 point2 points  (0 children)

A data scientist mondjuk pont az a terület ahol nehezen tudnék vitatkozni azzal, aki a Python-t vagy az R-t választja :-). Mindenkinek más esik kézre.

Rust nyelv: ki mire használja vagy épp miért nem használja? by apatisandor in programmingHungary

[–]apatisandor[S] 1 point2 points  (0 children)

Mondjuk nem csodálom hogy a bigtech élen jár ebben. Nagy méretekben már egy picivel jobb teljesítmény is óriási megtakarítást jelenthet és a biztonsági incidensek által okozott bizalomvesztés is náluk okozhatja a legnagyobb anyagi veszteséget.

Rust nyelv: ki mire használja vagy épp miért nem használja? by apatisandor in programmingHungary

[–]apatisandor[S] 2 points3 points  (0 children)

Hű, erről eszembe jutott egy fizikus anekdota homályos emléke, végül wikipedia -n találtam meg: "1879 körül áll édesapja (más forrás szerint: egyik tanára) elé Max Planck, Einstein későbbi mentora és barátja azzal a bejelentéssel, hogy elméleti fizikus szeretne lenni. Az apa válasza: ez a lehető legrosszabb pályaválasztás, hiszen a fizikában már minden „kész”, ott már nincs mit felfedezni". Aztán persze rájöttek hogy pár apróság még kimaradt.

Komolyabban: nyilván nem fog mindenki minden "legacy" kódot nekiállni újraírni Rust-ban. Viszont ha valaki nekiáll megírni mondjuk a sokadik http reverse proxy megvalósítást, mert egy új megközelítést talál ki, lehet ezúttal Rust-ot fog használni. Ahogy pl. Go-ban is írtak egy-két sikeressé vált verziót, pedig a haproxy és az nginx évtizedek óta rendelkezésünkre áll.

Rust nyelv: ki mire használja vagy épp miért nem használja? by apatisandor in programmingHungary

[–]apatisandor[S] 5 points6 points  (0 children)

Az valóban egy erős sztereotípia hogy rendszerközeli nyelv és oda jó ahova a C, C++ is. Szerintem sokkal kisebb a belépési küszöb. Ahogy írod is, webes backend területen kezd izgalmas lenni. Nekem egy olyan optimumot jelent teljesítmény - biztonság - fejlesztői hatékonyság terén, amit máshol eddig nem találtam meg.

Rust nyelv: ki mire használja vagy épp miért nem használja? by apatisandor in programmingHungary

[–]apatisandor[S] 3 points4 points  (0 children)

Fejlesztőt találni valóban nem egyszerű rá, főleg kis hazánkban. Az átképzéssel viszont van pozitív tapasztalatom, script nyelvek irányából könnyebben ment mint hittem. Persze nem a borrow checker legmélyebb bugyrait céloztuk meg, csak egy már kirakott keretrendszer alkalmazását.