C++26 bocciato al voto ISO per la disputa sui Contracts
La bozza di standard (DIS) di C++26 non ha superato il voto dell'ISO di ottobre 2026: 13 sì, 9 no, 12 astenuti. Troppi no, e la causa principale sono i Contracts. Se C++26 uscirà nel 2026 non è certo.
aggiornata il 13 novembre 2026 · si legge in 4 minuti
C++ è uno dei linguaggi con cui sono scritti sistemi operativi, browser e videogiochi. Il comitato che lo aggiorna ha una versione quasi pronta, ma il voto internazionale è andato male. Qui trovi cosa è successo, cosa sono i Contracts e cosa cambia per chi programma. I dati vengono da The Register, dal blog di un membro del comitato e dai documenti WG21, citati caso per caso.
Cosa è successo al voto
Secondo The Register e il blog della società Margo, la bozza di standard internazionale (in inglese DIS) di C++26 non ha superato il voto ISO di ottobre 2026 (Andreas Fertig, membro del comitato, parla del 23 ottobre; Margo dice che il voto si è chiuso il 22). I voti sono stati 13 a favore, 9 contrari e 12 astenuti.
I contrari sono troppi: le regole ISO non ammettono più del 25% di voti negativi. Sempre secondo The Register, la ragione principale dei no sono i Contracts.
Il DIS è la penultima fase dell'approvazione ISO: la bocciatura ferma la strada, non cancella il lavoro fatto.
C++, ISO e DIS: cosa sono
C++ è un linguaggio di programmazione, cioè il modo in cui un programmatore scrive le istruzioni che un computer esegue. Le sue regole sono scritte in uno standard, un documento che i produttori di programmi seguono.
Lo standard è approvato dall'ISO, l'organizzazione internazionale che fissa norme tecniche. Il lavoro tecnico è fatto dal gruppo WG21, il comitato di C++.
Prima dell'approvazione finale c'è un voto sulla bozza, il DIS (Draft International Standard). È quello che C++26 non ha superato.
I Contracts e perché dividono
I Contracts sono precondizioni, postcondizioni e asserzioni: controlli scritti nel codice che dicono cosa deve essere vero prima e dopo una funzione, e permettono di verificare che il programma si comporti come previsto.
Erano stati tolti da C++20 per timori su impostazioni pericolose. La versione rivista, chiamata P2900, è entrata in C++26.
Bjarne Stroustrup e colleghi si oppongono alla P2900 così com'è. In un documento di agosto 2026 (P4334R0) la definiscono una minaccia esistenziale per C++ per complessità e gonfiore, con un'implementazione disordinata e poco provata, che a loro avviso potrebbe essere una libreria.
Andreas Fertig, membro del comitato, sul suo blog definisce la bozza respinta un «massive disaster» e dice che il voto ha incrinato la fiducia su cui si regge il consenso; per The Register sostiene che le critiche erano già state valutate e che l'opposizione danneggia C++ stesso. Harry Bott, CEO della C++ Alliance, dice che la bozza rimandata indietro mostra un processo che funziona. Sono opinioni riportate da The Register, non nostre.
Cosa cambia per chi programma
Per ora, nel codice che scrivi, niente: C++ resta com'è. Cambia quando potrai contare su C++26.
Secondo The Register, C++26 potrebbe non uscire nel 2026. Se uscisse nel 2027, il nome ufficiale sarebbe ISO/IEC 14882:2027, informalmente forse «C++27».
Il gruppo WG21 si riunisce a Búzios, in Brasile, dal 16 al 21 novembre 2026 (invito ufficiale N5021). Thibault Ricord-Marchal, consulente di Margo, elenca per Búzios le strade possibili (non sono un ordine del giorno ufficiale del WG21): togliere i Contracts e far uscire il resto (si dovrebbe sciogliere il lavoro di libreria che ne dipende); spostarli in una specifica tecnica separata; fare una revisione minore e votare di nuovo. Secondo Margo decide poi il presidente di SC22 dopo la raccomandazione del comitato, e se il progetto non è approvato entro fine 2027 viene cancellato automaticamente.
Fertig scrive che le regole ISO possono impedire di pubblicare il dettaglio dei voti: i numeri 13/9/12 sono quelli di The Register e Margo.
Cosa non si sa ancora
L'esito della riunione di Búzios non è noto: non è ancora avvenuta. La data del voto è non dichiarata in modo univoco (22 o 23 ottobre secondo le fonti) e il testo dell'avviso ISO non è stato letto.
I documenti P2900 e P4334R0 non sono stati letti nel testo (il PDF di P4334R0 risulta di Stroustrup, 11 agosto 2026): le posizioni sopra sono quelle riportate dalle fonti citate.
La pagina si aggiorna dopo la riunione.
Domande frequenti
C++26 è stato bocciato?
La bozza (DIS) non ha superato il voto ISO di ottobre 2026: 13 favorevoli, 9 contrari, 12 astenuti, oltre il limite del 25% di no. Lo scrivono The Register e Margo.
Cosa sono i Contracts di C++?
Controlli scritti nel codice, come precondizioni, postcondizioni e asserzioni, per verificare che un programma si comporti come previsto.
Quando uscirà C++26?
Non si sa. Secondo The Register potrebbe non uscire nel 2026. Dipende dalla riunione WG21 di Búzios (16-21 novembre), il cui esito non è ancora noto.
Da dove vengono questi dati
- The Register — C++26 stumbles at finish line over Contracts dispute (13 novembre 2026) letta il 13 novembre 2026: voti, posizioni, opzioni
- Andreas Fertig (membro WG21) — C++26 DIS failed, how does C++ survive letta il 13 novembre 2026: voto del 23 ottobre, DIS respinto, riunione del 16 novembre; non dà i numeri
- Margo — C++26 rejected by ISO standard letta il 13 novembre 2026: 13/9/12, percorsi ISO, cancellazione se non approvato entro fine 2027
- WG21 — N5021, invito alla riunione autunnale 2026 letta il 13 novembre 2026: riunione dal 16 al 21 novembre 2026; luogo non leggibile nel testo, Búzios dal titolo
Questa guida l’ho scritta con l’aiuto dell’intelligenza artificiale e l’ho verificata sulle fonti qui sopra prima di pubblicarla. Come lavoro


