Il C ++ 14 è pronto: ecco cosa c'è di nuovo

C ++ 14, la più recente bozza di standard per il linguaggio C ++, è stata approvata e dovrebbe essere pubblicata entro la fine dell'anno.

"Abbiamo CPP ++ 14!" proclama il titolo di un post sul blog su IsoCPP.org, il sito web della Standard C ++ Foundation, che afferma che la consegna di C ++ 14 è stata "la più rapida inversione di tendenza per un nuovo standard nella storia del C ++".

Il post vanta anche un altro primato per C ++, vale a dire "implementazioni multiple sostanzialmente o completamente conformi (bug modulo) di C ++ 14 disponibili già oggi o nel prossimo futuro - nello stesso momento in cui viene pubblicato C ++ 14". In altre parole, le persone non devono aspettare che gli strumenti di sviluppo raggiungano lo standard prima di poterlo utilizzare, a meno che non vengano apportate piccole modifiche a C ++ 14 da ora alla pubblicazione.

Le modifiche apportate da C ++ 14 al linguaggio sono minori ma numerose e molte di esse sono progettate per espandersi rispetto alla versione precedente dello standard C ++. Quella versione, C ++ 11, introduceva per lo più modifiche minori e incrementali al linguaggio, ma erano progettate per portare unità a funzionalità che fino ad allora erano state fornite in modi non standard. Di interesse principale era il modo in cui veniva gestita la concorrenza a livello di thread e senza blocchi, un argomento di grande interesse per i programmatori di sistema che sono diventati i principali utenti di C ++. Un'altra novità di C ++ 11 era lambdas, una funzionalità che ora è un pilastro tra gli altri linguaggi ampiamente utilizzati ed è stata recentemente aggiunta a Java 8.

Il C ++ 14 raffina queste funzionalità e ne aggiunge altre. Lambda, ad esempio, ora può essere espresso in modo generico, tipico in altre lingue che utilizzano lambda. "Constexpr", un modo per valutare le funzioni in fase di compilazione, può ora contenere una gamma più ampia di istruzioni e di conseguenza sono un po 'più potenti. E il supporto per alcuni valori letterali definiti dall'utente è ora disponibile nella libreria standard, sebbene a questo punto solo per stringhe e intervalli di tempo.

Dopo che il creatore di C ++ Bjarne Stroustrup progettò il linguaggio nel 1979 - originariamente era chiamato "C with Classes" - divenne ampiamente utilizzato dai programmatori di sistema e dagli sviluppatori nativi della piattaforma che scrivevano app in cui le prestazioni erano all'ordine del giorno. Ma da qualche tempo altri linguaggi stanno guadagnando terreno su C ++ nei sistemi e nelle app. Mozilla ha il suo linguaggio di programmazione di basso livello Rust, che viene utilizzato per creare un motore di browser di nuova generazione, tra gli altri elementi. Il linguaggio Go di Google è progettato per la creazione di software di sistema, con funzionalità native per la creazione di applicazioni simultanee e altamente distribuite. E l'ascesa di linguaggi come Python e JavaScript, che consentono uno sviluppo software più veloce evitando la sicurezza dei tipi e l'assoluta velocità del C ++,ha prodotto culture di app che potrebbero non essere state possibili con il formalismo di C ++.

Nonostante tutto ciò, Stroustrup rimane fiducioso che il C ++ continuerà a prosperare, grazie alla sua velocità e ampiezza di supporto, sia con i programmatori che con il corpo degli standard che lo spinge in avanti.

"Le persone hanno previsto la sua fine con entusiasmo per più di 20 anni", ha detto la scorsa settimana, "ma è ancora in crescita. Fondamentalmente, nulla che possa gestire la complessità funziona alla stessa velocità del C ++."

Questa storia, "C ++ 14 è fatto - ecco cosa c'è di nuovo", è stata originariamente pubblicata su .com. Ottieni la prima parola su cosa significano veramente le notizie tecnologiche importanti con il blog Tech Watch. Per gli ultimi sviluppi nelle notizie di tecnologia aziendale, segui .com su Twitter.