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.
Speaking of languages, it's time to halt starting any new projects in C/C++ and use Rust for those scenarios where a non-GC language is required. For the sake of security and reliability. the industry should declare those languages as deprecated.
— Mark Russinovich (@markrussinovich) September 19, 2022
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.
Microsofts nye KI-verktøy lager «ekte» mennesker i sanntid
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.
There is an enormous amount of C/C++ that will be maintained and evolve for decades (or longer). Last night I coded a feature for Handle, adding to the roughly 85,000 lines of Sysinternals C/C++ code I've written. That said, I'll bias towards Rust for new tools.
— Mark Russinovich (@markrussinovich) September 21, 2022
Open AI: Tør ikke lansere ny modell ennå