Microsofts teknologidirektør med ansvar for skytjenestene, Mark Russinovich, tok denne uken til orde for at utviklere bør slutte å starte nye prosjekter basert på programmeringsspråkene C og C++. I stedet bør de av sikkerhets- og pålitelighetsårsaker benytte programmeringsspråket Rust i de tilfellene hvor det er nødvendig med språk som ikke er basert på «garbage collection», som er en form for automatisk minnehåndtering.
Ikke minnesikkert
Noe av den mest brukte programvaren i verden, inkludert mange operativsystemer og nettlesere, er skrevet i nettopp C eller C++. Dette er programmeringsspråk som ikke er «minnesikre». Språkene gir utviklerne store friheter og forutsigbar ytelse, men også betydelig ansvar, inkludert å sørge for minnehåndteringen. En stor andel av sårbarhetene som oppdages i C/C++-basert programvare, skyldes mangler på dette området.
Automatisk minnehåndtering med garbage collection krever ekstra ressurser og kan føre til uforutsigbare avbrudd i kjøringen av programvaren. Dette spiller liten rolle i mange tilfeller, men stor rolle i en del andre.
Rust, et programmeringsspråk som opprinnelig ble skapt hos Mozilla, anses som minnesikkert uten å benytte garbage collection. Språket har særlig i den senere tid seilet opp som et godt alternativ til C/C++, selv om det nok fortsatt anses som ungt og kanskje umodent av enkelte.
Blant annet tyder alt på at kode skrevet i Rust for første gang vil inkluderes i den offisielle Linux-kjernen i versjon 6.1. Google har lenge før dette åpnet for å inkludere Rust-kode i Linux-kjernen som benyttes av Android.
Tiår med fortsatt vedlikehold
I en senere tvitring presiserer Russinovich at det finnes enorme mengder med C/C++-kode som fortsatt kommer til å bli vedlikeholdt og videreutviklet i mange tiår framover. Dette inkluderer også Sysinternals-verktøyene som Russinovich kanskje er aller mest kjent for.