La versione 26 di C++ potrebbe essere anche una delle ultime? Forse no, ma Rust dovrà diventare lo standard
Questa notizia potrebbe tranquillamente rientrare nella categoria delle “cose scontate, ma che scontate non sono per nulla”. Già, perché l’annuncio dell’imminente nuova release di C++, la 26, effettuato da Herb Sutter di Microsoft, mostra la vitalità di un progetto che a dispetto degli anni (è stato creato negli anni ’80 da Bjarne Stroustrup) si dimostra attivo ed in costante evoluzione.
Sebbene l’NSA ne sconsigli l’utilizzo, e della divertente questione ne abbiamo parlato in questo bell’articolo di Jacopo Prendin a cui proprio Stroustrup rispondeva alla NSA, C++ è sostanzialmente dappertutto: è il linguaggio in cui è scritto il Kernel di Microsoft Windows, o quello di macOS, è alla base dei motori di gioco come Unity e Unreal Engine, è il linguaggio di Photoshop, MySQL o PostgreSQL e ci sono miriadi di componenti che utilizzano componenti scritte in C++, vedi Mozilla Firefox o Google Chrome.
La versione 26 di cui ha parlato Sutter viene descritta come “imponente” in termini concorrenza e parallelismo.
Ma perché 26? Va sottolineato come le versioni C++ siano denominate in base all’anno di rilascio e seguano un ciclo di 3 anni. La notizia della nuova promettente release arriva dal comitato di sviluppo che, nell’avviare il ciclo per la nuova versione, si è riunito a Varna (in Bulgaria) e online, con quasi 180 membri, adottando formalmente la schedulazione di C++ 26.
Nella pratica Sutter ha indicato come il criterio per la schedulazione della release sia lo stesso del C++ 23, con l’aggiunta di 3 anni “ovunque”.
L’ultima data per le nuove (mai viste in precedenza) funzionalità da introdurre nel linguaggio è fissata nel terzo trimestre del 2024 e il blocco delle funzionalità è il primo trimestre del 2025.
La notizia potrebbe anche finire qui, non fosse che, come sovente accade ultimamente, a compendio dell’annuncio sono fornite diverse dichiarazioni da parte di chi governa i processi di sviluppo di questi linguaggi, ed a colpire sono parole come quelle di Mark Russinovich, CTO di Microsoft, che dice:
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.
è ora di fermarsi dallo sviluppare nuovi progetti in C/C++ ed utilizzare Rust per quegli scenari in cui è richiesto un linguaggio non-GC (Garbage collection). In virtù della sicurezza e dell’affidabilità l’industria dovrebbe deprecare quei linguaggi.
Il che sposta l’attenzione anche su Linux e tutti i ragionamenti in merito alle implementazioni Rust che abbiamo raccontato negli ultimi mesi: Il linguaggio C (e di riflesso anche C++, almeno nativamente) non ha un sistema di Garbage Collection incorporato. I programmatori devono esplicitamente allocare e liberare la memoria utilizzando funzioni come malloc()
e free()
ed abbiamo tutti visto in termini di sicurezza cosa questo può comportare.
Da qui il monito: basta progettare con linguaggi che dovrebbero essere deprecati.
Siamo di fronte quindi alle prime avvisaglie di estinzione per C, C++ ed affini?
In realtà no, di certo non nell’immediato. Centinaia di software sono sviluppati in quei linguaggi e tutto il codice esistente difficilmente (se non impossibilmente) sarà migrato, quindi la risposta alla provocazione nel titolo è chiara: C++ continuerà ad essere manutenuto ed evoluto per molto, molto tempo ancora.
Raoul Scarazzini
Da sempre appassionato del mondo open-source e di Linux nel 2009 ho fondato il portale Mia Mamma Usa Linux! per condividere articoli, notizie ed in generale tutto quello che riguarda il mondo del pinguino, con particolare attenzione alle tematiche di interoperabilità, HA e cloud.
E, sì, mia mamma usa Linux dal 2009.
Se vuoi sostenerci, puoi farlo acquistando qualsiasi cosa dai diversi link di affiliazione che abbiamo nel nostro sito o partendo da qui oppure alcune di queste distribuzioni GNU/Linux che sono disponibili sul nostro negozio online, quelle mancanti possono essere comunque richieste, e su cui trovi anche PC, NAS e il ns ServerOne. Se ti senti generoso, puoi anche donarmi solo 1€ o più se vuoi con PayPal e aiutarmi a continuare a pubblicare più contenuti come questo. Grazie!
Hai dubbi o problemi? Ti aiutiamo noi!
Se vuoi rimanere sempre aggiornato, iscriviti al nostro canale Telegram.Se vuoi ricevere supporto per qualsiasi dubbio o problema, iscriviti alla nostra community Facebook o gruppo Telegram.
Cosa ne pensi? Fateci sapere i vostri pensieri nei commenti qui sotto.
Ti piace quello che leggi? Per favore condividilo con gli altri.