Nessun risultato. Prova con un altro termine.
Guide
Notizie
Software
Tutorial

Basta C e C++, meglio Rust. Lo dice il CTO di Microsoft Azure

Mark Russinovich, CTO di Microsoft Azure, propone di abbandonare i linguaggi di programmazione C e C++ in favore di Rust
Basta C e C++, meglio Rust. Lo dice il CTO di Microsoft Azure
Mark Russinovich, CTO di Microsoft Azure, propone di abbandonare i linguaggi di programmazione C e C++ in favore di Rust
Link copiato negli appunti

Secondo Mark Russinovich, CTO di Microsoft Azure, i linguaggi di programmazione come C e C++ non dovrebbero essere utilizzati per la creazione di nuovi software.

Al loro posto si dovrebbe optare per Rust, almeno in tutti quei progetti che non richiedono l'uso di una soluzione con supporto per la Garbage Collection come per esempio Java o C#.

C e C++ in Windows e Linux

L'affermazione del dirigente di Redmond potrebbe sorprendere se si considera che i sistemi operativi Windows sono in gran parte realizzati in C e C++, lo stesso vale per alcune applicazioni della casa madre statunitense come per esempio SQL Server e le applicazioni della suite Office. A ciò si aggiunga che gli stessi linguaggi vengono utilizzati per lo sviluppo di Linux le cui principali distribuzioni sono disponibili tramite il Cloud di Azure.

A questo proposito è utile segnalare che, come emerso nel corso dell'ultimo Open Source Summit, Rust potrebbe essere la scelta già identificata da Linux Torvalds e soci per l'implementazione delle prossime versioni del Kernel, almeno a livello di integrazione di nuove feature.

Perché Rust?

La scelta di Rust da parte di Microsoft, anche se non ufficializzata, sarebbe dovuta al fatto che considerando tutte le vulnerabilità rilevate fino ad ora almeno il 70% di esse sarebbero dipese da problemi di sicurezza legati alla gestione della memoria.

Nella maggior parte dei casi tali falle dovrebbero essere riconducibili ad un difetto nella validazione dei dati, quando una porzione di codice accede ad una porzione di memoria.

Tra le cause troviamo per esempio il fatto che alle variabili viene assegnata una quantità specifica di memoria. Se questa risulta troppo limitata il codice può estendere la lettura della memoria oltre lo spazio assegnato, consentendo l'injection di dati arbitrari.

Nello stesso modo possono presentarsi dei rischi dovuti al tentativo di leggere dati negli spazi di memoria precedentemente liberati. Infine, nel caso delle applicazioni che gestiscono più thread, il fatto che questi ultimi cerchino di scrivere sulla medesima area di memoria potrebbe causare la corruzione della stessa.

Stando a queste considerazioni, alternative come Python o Java sembrerebbero essere molto più sicure rispetto a C e C++ ma non sono state concepite per lo sviluppo di sistemi operativi. Da qui la scelta di Rust.

Ti consigliamo anche