Programmering

C ++ 14 er færdig - her er hvad der er nyt

C ++ 14, den nyeste kladdestandard til C ++ -sprog, er godkendt og er nu indstillet til at blive offentliggjort senere på året.

"Vi har CPP ++ 14!" proklamerer titlen på et blogindlæg på IsoCPP.org, webstedet for Standard C ++ Foundation, der hævder, at levering af C ++ 14 var "den hurtigste turnaround for en ny standard i historien om C ++."

Indlægget kan også prale af en anden første til C ++, nemlig "flere i det væsentlige eller helt i overensstemmelse implementeringer (modulo bugs) af C ++ 14, der er tilgængelige allerede i dag eller i den nærmeste fremtid - på samme tid som C ++ 14 offentliggøres." Med andre ord behøver folk ikke at vente på, at udviklingsværktøjer indhenter standarden, før de kan bruge den, uden at der foretages mindre ændringer i C ++ 14 mellem nu og offentliggørelse.

Ændringerne, som C ++ 14 medfører på sproget, er mindre, men mange, og mange af dem er designet til at udvide den tidligere version af C ++ - standarden. Denne version, C ++ 11, introducerede for det meste mindre og inkrementelle ændringer i sproget, men de var designet til at bringe enhed til funktioner, der indtil da var leveret på ikke-standardiserede måder. Af hovedinteresse var den måde, hvorpå trådniveau og låsefri samtidighed blev håndteret - et emne af stor interesse for systemprogrammerere, der er blevet C ++ 's største brugere. Også nyt for C ++ 11 var lambdas, en funktion der nu er en grundpille blandt andre meget anvendte sprog og for nylig blev føjet til Java 8.

C ++ 14 polerer disse funktioner og tilføjer et par flere. Lambdas kan for eksempel nu udtrykkes generisk - typisk på andre sprog, der bruger lambdas. "Constexpr", en måde, hvorpå funktioner evalueres på kompileringstidspunktet, kan nu indeholde en bredere vifte af instruktioner og er følgelig lidt mere kraftfulde. Og support til nogle brugerdefinerede bogstaver er nu tilgængelig i standardbiblioteket, men på dette tidspunkt kun for strenge og tidsintervaller.

Efter C ++ skaberen Bjarne Stroustrup designede sproget i 1979 - det blev oprindeligt kaldt "C med klasser" - det blev meget brugt af systemprogrammerere og platform-native udviklere, der skrev apps, hvor ydeevne var dagens orden. Men i nogen tid har andre sprog vundet plads på C ++ i systemer og apps. Mozilla har sit Rust-programmeringssprog på lavt niveau, som blandt andet bruges til at oprette en næste generations browsermotor. Googles Go-sprog er designet til opbygning af systemsoftware med indbyggede funktioner til oprettelse af stærkt distribuerede og samtidige applikationer. Og stigningen i sprog som Python og JavaScript, som muliggør hurtigere softwareudvikling ved at undgå typesikkerhed og ren hastighed på C ++, har produceret appkulturer, der muligvis ikke havde været mulige under formaliseringen af ​​C ++.

På trods af alt dette er Stroustrup stadig overbevist om, at C ++ vil fortsætte med at trives takket være sin hastighed og bredde af support - både hos programmører og med standardorganet, der skubber det fremad.

"Folk har forudsagt dets død ganske entusiastisk i mere end 20 år," fortalte han i sidste uge, "men det vokser stadig. Dybest set går intet, der kan håndtere kompleksitet, så hurtigt som C ++."

Denne historie, "C ++ 14 er færdig - her er hvad der er nyt", blev oprindeligt offentliggjort på .com. Få det første ord om, hvad de vigtige tekniske nyheder virkelig betyder med Tech Watch-bloggen. For at få den nyeste udvikling inden for nyheder inden for forretningsteknologi, følg .com på Twitter.