Olyan gyors, mint a C++, de biztonságosabb
A Rust gépi kódra fordul, és nincs benne szemétgyűjtő, amely időnként megállítaná a programot, hogy memóriát szabadítson fel. Ezért a sebessége a C és a C++ szintjén van, a válaszideje pedig kiszámítható.
A különbség a biztonságban van. C-ben és C++-ban a memóriakezelés a programozó dolga, és az ebből adódó hibák évtizedek óta a súlyos biztonsági rések fő forrásai. A Rust fordítója ezeket a hibákat nem engedi át: a hibás kód le sem fordul.
Kisebb szerver, alacsonyabb költség
Egy Rust-szerver ugyanannyi kérést jellemzően jóval kevesebb memóriával és processzoridővel szolgál ki, mint egy szkriptnyelven írt rendszer. Egy cégnek ez kisebb bérelt szervert, kevesebb gondot a terhelés növekedésekor és alacsonyabb havi számlát jelent.
Ezt a saját rendszereinknél is látjuk. A ChatLord csevegő és ez a weboldal is szerény szerveren fut, egy teljes webes rendszer szervere pedig egyetlen lefordított programfájl, külön futtatókörnyezet nélkül.
Kevesebb hiba élesben
A Rust típusrendszere szigorú. Egy hiányzó érték, egy elfelejtett hibaág vagy két szál, amely egyszerre írja ugyanazt az adatot, más nyelveken csak futás közben, ritka esetekben derül ki. A Rust fordítója ezeket már azelőtt jelzi, hogy a program egyáltalán elindulna.
Ez a fejlesztés elején több átgondolást igényel, cserébe később sokkal kevesebb a váratlan hiba. Egy évekig működő céges rendszernél ez bőven megéri.
- A hiányzó értékeket mindig kezelni kell, így nincs váratlan „null” hiba
- A hibákat kötelező kezelni, vagy kifejezetten továbbadni
- A párhuzamos adathozzáférésből eredő hibák le sem fordulnak
Egy nyelv a szervertől a telefonig
A Rust nemcsak szerverre jó. Ugyanebben a nyelvben írjuk a webes rendszerek szerveroldalát és a natív asztali és mobilalkalmazásokat is. Ha egy szabályt, például egy árkalkulációt vagy egy jogosultsági feltételt a szerveren és az alkalmazásban is használni kell, nem kell két nyelven kétszer megírni.
Mikor nem a Rust a jó választás?
Nem minden feladatra a Rust a legjobb. Egy pár napos prototípushoz, egy egyszer lefutó adatfeldolgozó szkripthez vagy egy egyszerű bemutatkozó oldalhoz gyakran gyorsabb egy másik eszköz. Ha pedig egy cégnek van egy jól működő rendszere más nyelven, és nincs vele gond, az átírás ritkán térül meg.
Ezt a konzultáción is megmondjuk. A technológiát mindig a feladathoz választjuk.
Röviden
Ha egy rendszernek évekig kell működnie, sok felhasználót kell kiszolgálnia, vagy több platformon is futnia kell, a Rusttal gyorsabb, olcsóbban üzemeltethető és megbízhatóbb lesz. Ezért dolgozunk ebben a nyelvben.