Szerző: Hlács Ferenc

2015. május 18. 16:40:00

Megérkezett a Rust 1.0

Bejelentette saját fejlesztésű programozási nyelvének első stabil, 1.0-s verzióját a Mozilla. A Rust névre keresztelt nyelv sokat merít más megoldásokból, az a fejlesztők szerint a kezdők és a tapasztalt programozóknak is kedvez majd.

Mérföldkőhöz érkezett a Mozilla által fejlesztett nyílt forrású Rust: a szervezet a napokban jelentette be a programozási nyelv 1.0-s verzióját, így a fejlesztők végre komolyan használatba vehetik azt. A készítők célja, hogy megoldásukkal alacsony szintű hozzáférést irányítást biztosítsanak a teljesítményéhes komponensek esetében, ezt a magas szintű megoldások kényelmével és biztonságával párosítva.

A statikus nyelvek közé tartozó, objektumorientált, funkcionális és imperatív elemeket egyaránt tartalmazó Rust a C-vel és a JavaScripttel is mutat hasonlóságokat. Az elsősorban webes projektekhez alacsony szintű programozásra (akár operációs rendszerek írására) szánt  nyelvnek a kódgeneráláshoz külön fordítási menetre van szüksége. A fejlesztésért felelős Rust Core Team szerint ugyanakkor nincs szüksége szemétgyűjtő algoritmusra (garbage collector vagy röviden GC), sem runtimera - a Rust könyvtárak teljes körű kompatibilitást mutatnak a C-vel, a népszerű nyelven íródott kód akár Rustban is folytatható.

A GC-paradigma kidobásával, illetve a felturbózott memóriakezeléssel a Mozilla egyik oldalról a C, másik oldalon a JavaScript/Java egyik legnagyobb problémájától szabadul meg - a nyelv rossz memóriamenedzsmentje ugyanis jócskán visszavetheti egy-egy program teljesítményét. De a Java vagy JavaScript esetében sem sokkal jobb a helyzet, ahol a memóriát tisztán tartó szemétgyűjtő éli fel az erőforrásokat. A natív kóddal dolgozó Rust ehelyett egy a fordítóban implementálja ezt, egy a fordítóra épülő referenciaszámlálót használ, amely rögtön eltávolítja a memóriában lévő objektumokat, ha már nincs rájuk szükség.

A Rust kifejlesztésénél a többszálú végrehajtás is kiemelt szerepet kapott, amit jól szemléltet a nyelvben íródott Servo böngészőmotor-prototípus is - amellyel a Mozillának bár nagy tervei voltak, végül nem került be a szervezet egyik termékébe sem.

 

Miért érdemes belevágnod a Scrum képzésünkbe? (x) Október 21-én Scrum alapozó képzést indít a HWSW, íme néhány jó érv a kurzus mellett.

A frissen bejelentett nyelvhez saját csomagkezelő is párosul. A fejlesztők által Cargo névre keresztelt megoldással tölthetők le és telepíthetők új könyvtárak - a függőségek kezelése a Rust központi repository-ján, a crates.io-n keresztül végezhető, segítségével egyszerűen tehetők közzé, illetve kereshetők mások által publikált csomagok. A crates.io nagyjából fél éve aktív, és bár egyelőre nem mondható túlzottan kiterjedtnek, tartalma folyamatosan bővül.

A megoldás a tapasztaltabb és a kezdő programozók számára is jó választás lehet: az öreg motorosok számára a debugging feladatokat könnyíti meg, a kezdők pedig azért örülhetnek, mert az alacsony szintű kódban vétett kisebb hibák nem okoznak majd rejtélyes összeomlásokat. A Rust fejlesztései természetesen nem állnak le 1.0-nál, a csapat folyamatosan csiszolja, illetve új funkciókkal bővíti a nyelvet. Az érdeklődők a folyamatosan megjelenő nightly verziókat kipróbálva követhetik nyomon az újdonságokat. A Mozilla mostantól mindenesetre elkötelezett marad a stabil változatok mellett, így a Rust már teljes biztonsággal használatba vehető. Az érdeklődőknek projekt GitHub oldalán megtalálják a szükséges információkat, illetve érdemes elolvasni a szabadon elérhető oktatóanyagokat is.

a címlapról