Hivatalos: a Rust be lesz olvasztva a 6.1-es Linux kernelbe

Címkék

Tekinthető hivatalosnak, mert maga Linus jelentette ki:

"Unless something odd happens, it [Rust] will make it into 6.1."

Természetesen, a 6.1-be még csak "kezdeti beolvasztás" minőségben fog megjelenni, első körben csak az alapvető infrastruktúra, egyelőre komoly felhasználási eset nélkül:

just have the core infrastructure (i.e. no serious use case yet)."

Részletek itt.

Hozzászólások

Kíváncsi vagyok hosszabb távon hogyan válik be a gyakorlatban, mind fejlesztői, mind működési oldalról. Mindenesetre pozitívan, innovációként értékelem, hogy egy új, nem is régóta létező nyelvet vonnak be a kernel fejlesztésbe.

Továbbra sem rajongok az ötletért, de ha Torvalds az áldását adta rá, meg ezzel új fejlesztőket be tudnak rántani a kernelfejlesztésbe, akkor legyen. A 6.1-es kernelt én is nagyon várom, de nem a Rust miatt, hanem abba fog megérkezni a rendes billentyűzet/RGB támogatás a laptopomhoz. Csak sokára lesz, még a 6.0-ás se jött ki, a 6.1-es simán év vége lesz.

A computer is like air conditioning – it becomes useless when you open Windows.” (Linus Torvalds)

Ez kevés lesz. Már js-nek kellene benne lennie ;)

Nem kell, ahogy valami hardveres inteface-es vagy köztes absztrakciós réteges library-t bedrótoznak hozzá, lehet lesz benne pár év múlva Python és JS kód is. Persze ez azzal fog egy időbe esni, ahogy vált mindenki róla BSD-re, ahol ezek a baromságok nem valósulhatnak meg.

A computer is like air conditioning – it becomes useless when you open Windows.” (Linus Torvalds)

3.7 ota a dict() megtartja a sorrendjet a kulcsoknak. Olyan algoritmus volt elotte, ami legtobbszor megtartotta, neha nem, es O(1) eleres fixen. 3.7 eseten lemondtak a fix O(1)-rol, es inkabb biztositjak, hogy insertion orderben lesznek a kulcsok, es az atlagos eset tovabbra is O(1), de mar nem az a legrosszabb eset a korabbival ellentetben, inkabb errol mondtak le.

Ezzel tulajdonkeppen ott tartunk, hogy az optimalisan megirt dict nem tud gyorsabb lenni a PHP esetlegesen optimalisan implementalt "mindenes Array()"-janal.

(En szemely szerint azt varnam, foleg egy ilyen builtintol, hogy a C++ std::unordered_map-janal csak linearisan legyen lassabb, de lehet, hogy en varok tul sokat)

hat a dict sose volt olyan hudegyors pythonban. en volt mar, hogy atirtam kodot hash szamolas + array[hash]-ra (nem volt gond ha nagyritkan collision van) es erezhetoen gyorsabb lett, tobbszorosen. persze almat kortevel, de valahol a dict is hash alapu tomb/fa tarolas csak legbelul.

Szerkesztve: 2022. 09. 22., cs – 10:19

Erdekes, a C++-t direkt megvetozta anno linus, mondvan, feleslegesen elbonyolitana a kernel kodot es forditast is, meg hogy nem feltetlen van c++ fordito a target platformon, stb, stb...

https://medium.com/nerd-for-tech/linus-torvalds-c-is-really-a-terrible-…

 

Nem mondom, a c++ tenyleg konnyen on-tokonlovos kodot eredmenyez, ebben igaza van linusnak, es a rust valoban ad valamennyi vedelmet ez ellen. De talan a legfontosabb pont az, amit sok helyrol hallok vissza: azert rust-olnak, mert a legjobb developer-ek rust-ot szeretnenek hasznalni, es ez valojaban egyfajta szurokent mukodik a geek vs. megelhetesi developer szetvalasztasara.

Szerintem meg csak azért Rust, mert úgy magasabb szintű a C-nél, hogy ehhez képest alig van overhead-je. Az unsafe részeket meg könnyebb észrevenni és kiosztani a kokikat és sallereket a Linus mesternek a fejlesztői számára, mint a C beli bűvészkedésekért :).

Valamint a Rust-al próbálja ledolgozni/eliminálni azt a "hátrányt", hogy a Linux nem mikrokernel felépítésű, mert megoldja azon problémák egy részét, ami felmerülhet a monolitikus felépítés miatt.

Ja, ezen én is mindig röhögök. Érdekes, hogy mind Torvalds, mind a többi nagy (Ken Thomson, Richard Stallman, James Gossling, Rob Pike, stb.) mind leekézi, hogy így szar, úgy hibridnyelv, mindenből van benne egy kevés (mint a Fradi levesben, egy kis OOP, egy kis funkcionális, egy kis ez meg az), de igazából semmiben nem jó, bloat, amúgy nem elég koherens, csak random összehányt elemekből van összeollózva, stb.. John Carmackot leszámítva (meg talán Kernighan, akinek nem kedvence, de semlegesen áll hozzá), tényleg mindenki csak ekézi, és szerintem méltatlanul, mert ilyen Go, Rust, egyéb ma divatos nyelvekhez képest simán jobb, tradicionálisabb. Az sem mérőfok, hogy néhányan fos kódot írnak vele, olyat mindenben lehet írni, aki gányolni akar, az mindenben fog, mindegy milyen eszközt adsz a kezébe. Játékokhoz meg GUI-khoz egyenesen a legjobb az OOP meg a sok lib miatt.

A computer is like air conditioning – it becomes useless when you open Windows.” (Linus Torvalds)

Najó, de míg a Kernelben számít, hogy tudsz spórolni néhány kB/MB-ot, addig egy játéknál teljesen normális ha több 10, vagy több 100MB-os mérete van az engine-nek.

Pl ha egy embedded retken akarsz Linuxot futtatni, aminek kevés memóriája/flash-je van, ott érdemes optimalizálni, és nem minden fost belelapátolni a kódbázisba.