Jopa Valkoinen talo on Yhdysvalloissa ilmoittanut, että ohjelmistonkehityksessä pitäisi päästä eroon ”muistivaarallisista” C- ja C++-kielistä. Mitä sitten tilalle? Ainakin Googlen vastaus on selvä: Rust on turvallisempi ja myös tehokkaampi kieli koodaustiimien käsissä.
Googlen suunnittelujohtaja Lars Bergstrom kertoi viime viikolla Rust Nation UK -tapahtumassa Lontoossa, mitä kokemuksia hakukonejätillä on projektien siirtämisestä Go- ja C++-koodista Rustiin. Tulokset ovat kiistattomia.
Rust on suorituskykyinen ja tehokkaasti muistia käyttävä kieli. Se on myös hyvin luotettava: muistin käyttöön liittyviä tietoturvaongelmia on hyvin vähän, usein ei ollenkaan. Hyvä dokumentointi ja kääntäjä tekevät siitä myös tehokkaan työkalun.
Tuottavuus on lisäksi monipiippuinen asia. Sitä on mitattu esimerkiksi tuotetuilla koodiriveillä, mikä ei Bergstromin mukaan ole kovin hyvä mittari. Tärkeämpiä ovat koodin laatua, koodin tarkastelun nopeus ja build-aika eli kuinka kauan kestään koodin saamiseen toimivaksi.
Googlen omien tilastojen mukaan Rust-tiimit ovat yhtä tuottavia kuin Go-tiimit ja kaksi kertaa niin nopeita kuin C++-kieltä käyttävät tiimit. - Jos Go-projekti koodataan Rustilla, aikaa kuluu suurinpiirtein saman verran. Sen lisäksi koodin muistinkäyttö paranee, ja ajan myötä koodista löytyy vähemmän vikoja.
C++koodin korvaaminen Rustilla johtaa vieläkin parempiin tuloksiin. - Joka tapauksessa nopeus kasvaa vähintään kaksinkertaiseksi. Tämä koskee sekä koodaamista että ylläpitoa.
Rustin oppimiskäyrä on lisäksi lyhyt. Bergstromin mukaan Googlen koodaajat tuottavat uutta toimivaa koodia useimmiten alle 2 kuukaudessa siitä, kun ovat kielen oppineet.
Bergstromin esitys löytyy Youtubesta. Siitä raportoi ensiksi The Register.