Microsoft overweegt programmeertaal C uit te breiden

Microsoft overweegt om de C-programmeertaal uit te breiden zodat ontwikkelaars betere en veiligere applicaties kunnen bouwen. Het bedrijf onderzoekt momenteel hoe het C kan uitbreiden en ontwikkelaars eenvoudig kan helpen met het bouwen van veilige applicaties.

Volgens Microsoft zijn de meeste besturingssystemen, browsers, databases en programmeertalen geschreven in C of C++. Het probleem met deze programeertalen is dat als er een fout optreedt in de code dit kan leiden tot beveiligingsrisico’s, iets waar kwaadwillenden dag in dag uit dankbaar gebruik van maken. Microsoft gaat nu mogelijk een extensie ontwikkelen met de naam "dubbed Checked C", deze extensie moet ontwikkelaars helpen om veel voorkomende problemen te detecteren. Zaken waaraan gedacht kan worden zijn buffer underruns, out-of-bounds memory accesses en incorrecte type casts.

"De Checkec C extensie laat ontwikkelaars controles toevoegen aan hun programma’s om dit soort veel gemaakte fouten te detecteren wanneer een applicatie wordt geschreven en getest. Ook voor bestaande software moet deze extensie gaan werken", aldus het onderzoeksteam van Microsoft.

Ontwikkelaars kunnen bij de extensie ook aangeven hoe zij data gaan gebruiken en wegschrijven in het geheugen, zodat de extensie melding kan maken als de data niet gelezen wordt of er verkeerde data wordt gelezen of weggeschreven.

"Veel bestaande programmeertalen hebben dit soort controles als standaard ingebouwd, aldus Microsoft. Bijvoorbeeld C# en Java zijn voorbeelden van dit soort programmeertalen. Daarbij worden de controles echter automatisch toegevoegd en dat kan niet bij systeemsoftware, daarbij moet de ontwikkelaar volledige controle hebben over wat de applicatie moet doen."

In de Checked C extensie kan de ontwikkelaar dus exact bepalen wanneer controles moeten worden gedaan en hoe de informatie en data door het programma moet lopen. De ontwikkelaar behoudt ten allen tijden de volledige controle. Microsoft gaat de extensie, documentatie en test code beschikbaar maken via GitHub.