C++0x, il nuovo standard C++
Avevo già letto qualcosa in proposito tempo fa: un articolo in inglese che ora non trovo più che potete trovare qui (pdf).
Per il momento è chiamato C++0x ma sarà C++09 quando l'ISO ratificherà lo standard, nel 2009; grandissime novità per gli sviluppatori di tutto il mondo. Il lavoro per la preparazione del nuovo C++ sono arrivate ad una fase cruciale. Il comitato di standardizzazione dell'ISO spera di lanciare il nuovo standard nel 2009, inaugurando quindi il C++09. Per terminare in tempo il processo di standardizzazione il comitato ha interrotto da qualche tempo l'analisi delle nuove funzionalità focalizzandosi quindi su quelle già considerate ed approvate. Come si sa il C++ è un linguaggio di programmazione "general-purpose" con uno sguardo alla programmazione di sistema che:Per "programmazione di sistema" s'intende quell'insieme di operazioni che sono tradizionalmente correlate al sistema operativo e alle utility di base, si parla quindi di kernel, device driver, utility di sistema, networking, sistemi di elaborazione testi, compilatori, una miscela di grafica e GUI, database, motori di rendering per videogiochi, CAD/CAM, sistemi di telecomunicazioni, ecc.. Il C++0x non apporta sconvolgimenti all'attuale paradigma di programmazione del C++, non sono state infatti intaccate le peculiarità che hanno fatto del C++ "il" linguaggio di programmazione, come non sono stati posti limiti alla compatibilità tra C e C++; non sono stati neanche introdotti paradigmi completamente nuovi ed estranei agli attuali programmatori C++. Tra gli scopi principali del C++0x ci sono:
- è un C migliore
- supporta l'astrazione dei dati
- supporta la programmazione orientata agli oggetti
- supporta la programmazione generica
Il comitato di standardizzazione si sta focalizzando su:
- far diventare il C++ un migliore linguaggio per la programmazione di sistema e la creazione di librerie
- far diventare il C++ un linguaggio più semplice da insegnare e da imparare
Questa è solo un'estrema sintesi del futuro C++; lo stesso Bjarne Stroustrup ("l'inventore" del C++) è parte integrante del processo di standardizzazione.
- fornire stabilità e compatibilità con il C++98 e, ove possibile, con il C
- preferire librerie standard alle estensioni di linguaggio
- applicare cambiamenti solo nel modo con il quale sarebbero applicate dagli utenti
- preferire la generalizzazione alla specializzazione
- indirizzare il C++ sia agli esperti, sia ai novizi
- aumentare la sicurezza
- migliorare le performance e la possibilità di interfacciarsi direttamente all'hardware
- adattarsi al mondo reale
Source, Neden.it, che ha preso quasi sicuramente spunto da questa analisi approfondita e dettagliata (in inglese, consigliatissima la lettura).
Qui invece potete trovare una presentazione di Stroustrup sulle “linee guida” del nuovo linguaggio.