( hory | 2024. 09. 06., p – 09:54 )

Szerkesztve: 2024. 09. 06., p – 09:56

A rust egy alapvetoen komoly piaci rest tomott be, ezert lett hirtelen nepszeru.

A gond az, hogy igazabol baromira nincs meg kesz, durva valtozasok vannak benne mai napig, es pl. a borrow checker-e is egyre jobb lett az evek alatt, ma mar kezd egesz hasznalhato lenni.

A mem safety alapvetoen nagyon jo dolog, abszolut game-changer; ezt semmi mas nem tudja. Hasonlitjak itt egyesek a mar letezo C malloc() replacement-ekhez, de ez sokkal tobbet tud annal: koveti, hogy melyik kod blokk az owner-je minden egyes allokacionak. Ez multi-threading eseten is hasznos, nem beszelve arrol, hogy rakenyszerit, hogy rendesen vegiggondold, mi hova tartozik a kododban; rendesen scope-olt kod hianya gyorsan megbosszulja magat rust-ban. Tehat egyfajta kodminoseg-javito is.

Ezen kivul a C alapvetoen baromira elavult, a rust tenylegesen erosen modernizalt nyelv, kb. kotlin-nal van egy szinten, csak rendszerprogramozashoz hasznalhato, nem app/backend-hez. Gondolok itt trait-ekre, lambda-kra, async/await-re, memory management-re, es meg millio dologra, ami egy modern nyelvben/platformban alap ma mar.

De, ahogy irtam, a legnagyobb gond, hogy tul koran tul sokan kezdtek hasznalni, mert egy hatalmas piaci rest tomott be, nagyon hianyzott; ha ugy tetszik, tul keson jott igy felkeszen is.

Aztan ebbol jon minden egyeb problema.

A debian package management-je meg erosen megkerdojelezheto; en pl. utalom, hogy a java/perl/python/... csomagokat ok kulon becsomagoljak, es 1 verzio erheto el az egesz rendszernek, mert egyik csomagkezelovel megaldott nyelvnel sem cel ez. Python-ban van ugye venv/..., java-ban fat jar, alapvetoen ez a modja a szoftver disztribucionak. Ez a debian-fele "az osszes app-hez ugyanazt a verzioju libet hasznaljuk" mar a C/C++ vilagban sem mukodott rendesen, ha emlekeztek; allando gond volt, hogy az patkolni kell a forrasokat, mert az egyiknek ilyen glib kell, a masiknak meg olyan.

java/python/rust -nal meg kevesbe mukodott ez. Mar a snap-et is kapasbol ugy irtak, hogy tobbfele verzioju lib-et tamogat, meg osszecsomagoltak a lib-eket a szoftverrel, a'la macos .app.

Igazabol ami kene a debian-ba, az az, hogy tamogasson multi-versioning-et csomagokra, es minden csomag arra a verziora dependelhetne, amire szuksege van. Ehelyett megy a nyigas, hogy "szar a rust". Nem a rust szar, a debian nem kovette az elmult evtized(ek) valtozasait.