Volgens de TIOBE-index voor augustus 2022, C++ staat 4e na Python, C, en Java. Sinds 2001 is C++ nooit onder de 5e plaats gezakt, wat wijst op de grote populariteit van deze programmeertaal ondanks haar leeftijd (voor het eerst verschenen in 1985). C++ heeft meerdere voordelen die cruciaal zijn voor de ontwikkeling van prestatiegerichte software. Dus waarom heeft het een opvolger nodig?
Zoals Chandler Carruth uiteenzet, schiet C++ tekort in de verwezenlijking van de belangrijkste doelstellingen van de taal. Deze omvatten onder andere de ondersteuning van prestatie-kritische software, eenvoudige syntaxis, taalevolutie, moderne systemen en robuuste veiligheid. De specifieke taalkenmerken en bureaucratische kwesties verhinderen dat C++ geleidelijk wordt verbeterd.
Wat de eigenaardigheden van de taal betreft, heeft C++ in de loop van zijn ontwikkeling een grote technische schuld opgebouwd. Bovendien heeft het veel oude functies van de C-taal geërfd. Bovendien geven C++-gebruikers prioriteit aan achterwaartse compatibiliteit om bestaande C/C++ ecosystemen te ondersteunen. Tegelijkertijd maakt achterwaartse compatibiliteit het niet mogelijk de technische schuld te herstellen, zodat het evolutieproces van C++ het nog moeilijker maakt verbeteringen door te voeren.
Over bureaucratische kwesties gesproken, het proces van verbetering van C++ wordt aanzienlijk vertraagd door een comité (WG21) dat gericht is op standaardisatie maar niet op ontwerp. WG21 hanteert trage watervalprocessen die leiden tot vertragingen bij het nemen van cruciale beslissingen. Bovendien heeft het comité beperkte toegang tot de meeste C++-deskundigen en vertegenwoordigt het alleen bepaalde bedrijven en landen, waarbij het de grote C++-gemeenschap negeert.
Op basis van de informatie die momenteel beschikbaar is, kunnen we Carbon als een veelbelovend project beschouwen. Wat de praktische kant van de nieuwe programmeertaal betreft, beweert Chandler Carruth dat we van Carbon een eenvoudiger grammatica, introducerende sleutelwoorden (d.w.z. fn en var), een op definitie gecontroleerd generiek systeem en een steile leercurve kunnen verwachten. Carbon zal de hoge prestaties van C erven en de belangrijkste nadelen ervan vermijden.
Bovendien zeggen de makers van Carbon dat Carbon een open-source programmeertaal zal zijn en volledig interoperabel met C++. Carbon-code lijkt sterk op C++-code, en in veel gevallen zijn ze bijna identiek. Bovendien kan Carbon-code worden geïntegreerd in C++-code. C++-ontwikkelaars die volledig willen overstappen op Carbon beschikken dus over een toolkit om C++-bibliotheken automatisch te vertalen naar code in de nieuwe taal. Omgekeerde migratie is ook mogelijk. In de toekomst kunnen deze bibliotheken worden gebruikt in een bestaand C ++ project. Alle Carbon tools worden gehost op GitHub en gedistribueerd onder de Apache 2.0 licentie. Tot nu toe is er een demo Koolstoftolk beschikbaar.
Een belangrijk onderdeel van het experimentele Carbon-project is de bestuursstructuur. Het Carbon-team laat zich leiden door de beginselen van inclusiviteit en openheid. De bestuursstructuur van Carbon is ontworpen voor snelle besluitvorming, flexibiliteit en snelle ontwikkeling van het project. Alle cruciale beslissingen worden genomen door de Carbon-leiders, die momenteel worden vertegenwoordigd door Chandler Carruth, Kate Gregory en Richard Smith. Aangezien het Carbon-project is gebaseerd op het open-source ontwikkelingsmodel, kan elke gebruiker GitHub-verzoeken sturen om wijzigingen in het project voor te stellen en de evolutie van de Carbon-taal te sturen.
Momenteel werken Google-medewerkers aan de programmeertaal Carbon als een intern project. Er zijn echter plannen om de betrokkenheid van het bedrijf bij het project te verminderen, omdat de ontwikkelaars begrijpen dat Carbon voor toekomstig succes een onafhankelijk en door de gemeenschap gestuurd project moet zijn.
Conclusie
Beoordeel dit artikel:
4.8/5 (45 beoordelingen)
Gerelateerde inhoud
Na ontvangst en verwerking van uw aanvraag, nemen wij binnenkort contact met u op om uw projectbehoeften in detail te beschrijven en een NDA te ondertekenen om de vertrouwelijkheid van informatie te garanderen.
Na het bestuderen van de vereisten, stellen onze analisten en ontwikkelaars een projectvoorstel met de omvang van de werkzaamheden, teamgrootte, tijd en kosten schattingen.
Wij regelen een ontmoeting met u om het aanbod te bespreken en tot een overeenkomst.
We tekenen een contract en beginnen zo snel mogelijk aan uw project te werken. mogelijk.
Bedankt.
Uw bericht is verzonden.
Wij verwerken uw aanvraag en nemen zo spoedig mogelijk contact met u op.