Język Google Carbon może zastąpić C++

Na konferencji CPP North, Chandler Carruth, główny inżynier oprogramowania w Google, ogłosił wydanie języka programowania Carbon. Carbon od Google to eksperymentalny, otwarty język, który ma być następcą C++, ale nie jego zamiennikiem. W artykule przyjrzymy się bliżej językowi Carbon, jego celom, potencjałowi oraz powodom, dla których C++ potrzebuje następcy.
Język węglowy Google

Co jest nie tak z C++?

Według indeksu TIOBE z sierpnia 2022, C++ zajmuje 4. miejsce, po Python, C oraz Java. Od 2001 roku C++ nigdy nie spadł poniżej 5. miejsca, co świadczy o dużej popularności tego języka pomimo jego wieku (pierwsze pojawienie się w 1985 roku). C++ ma wiele zalet kluczowych dla rozwoju oprogramowania wymagającego wysokiej wydajności. Dlaczego więc potrzebuje następcy?As explained by Chandler Carruth, C++ falls short of the achievement of the language’s major goals. They include the support of performance-critical software, simple syntax, language evolution, modern systems, and robust safety among others. The specific language features and bureaucratic issues prevent C++ from gradual improvement. As for language peculiarities, C++ has accumulated high technical debt throughout its evolution. Moreover, it has inherited many legacy features from the C language. Besides, C++ users prioritize backwards compatibility to support existing C/C++ ecosystems. At the same time, backwards compatibility doesn’t allow for fixing the technical debt, hence the C++ evolution process makes it even more difficult for improvements to get implemented. Speaking of bureaucratic issues, the process of C++ improvement is significantly slowed down by a committee (WG21) focused on standardization but not design. WG21 employs sluggish waterfall processes that lead to delays in making crucial decisions. Moreover, the committee has restricted access to most C++ experts and only represents certain companies and nations, ignoring the large C++ community.

Cele języka programowania Carbon

Jako następca języka, Carbon odziedziczył oryginalne cele C++ i otrzymał dodatkowy cel.
Język węgla
Opierając się na podejściu języka następcy, Carbon koncentruje się na 3 głównych kwestiach, które odpowiadają na istniejące wyzwania C++ i pozwalają nam uznać Carbon za obiecujący projekt: interoperacyjność, migracja i ewolucja języka. Opierając się na tych punktach, twórcy Carbon dążą do pozbycia się długu technicznego C++, utrzymania dostępu do istniejących ekosystemów, zapewnienia szybkich ulepszeń i uniknięcia wstecznej kompatybilności przy użyciu aktualizacji opartych na narzędziach.

Jakie są obietnice Carbon?

Dostępne obecnie informacje pozwalają uznać Carbon za bardzo obiecujący projekt. Jeśli chodzi o praktyczną stronę nowego języka programowania, Chandler Carruth twierdzi, że możemy spodziewać się po Carbon prostszej gramatyki, słów kluczowych wprowadzających (tj. fn i var), systemu generycznego sprawdzanego pod kątem definicji oraz stromej krzywej uczenia się. Carbon odziedziczy wysoką wydajność języka C i uniknie jego głównych wad.

Na dodatek, twórcy Carbon zapewniają, że będzie to otwarty język programowania, w pełni interoperacyjny z C++. Kod Carbon jest bardzo podobny do kodu C++, a w wielu przypadkach są one niemal identyczne. Co więcej, kod Carbon może być zintegrowany z kodem C++. Tak więc, deweloperzy C++, którzy chcą całkowicie przejść na Carbon, będą mieli zestaw narzędzi do automatycznego transliterowania bibliotek C++ na kod w nowym języku. Możliwa jest również migracja odwrotna. W przyszłości te biblioteki mogą być używane w istniejącym projekcie C++. Wszystkie narzędzia Carbon są hostowane na GitHubie i dystrybuowane na licencji Apache 2.0. Jak dotąd dostępny jest interpreter demonstracyjny Carbon.  

Ważną częścią eksperymentalnego projektu Carbon jest struktura zarządzania. Zespół Carbon kieruje się zasadami inkluzywności i otwartości. Struktura zarządzania Carbon została zaprojektowana z myślą o szybkim podejmowaniu decyzji, elastyczności i szybkim rozwoju projektu. Wszystkie kluczowe decyzje są podejmowane przez liderów Carbon, reprezentowanych obecnie przez Chandlera Carrutha, Kate Gregory i Richarda Smitha. Ponieważ projekt Carbon opiera się na modelu rozwoju open-source, każdy użytkownik może wysyłać żądania GitHub, aby zasugerować zmiany w projekcie i napędzać ewolucję języka Carbon.

Obecnie pracownicy Google pracują nad językiem programowania Carbon jako projektem wewnętrznym. Planowane jest jednak zmniejszenie poziomu zaangażowania firmy w projekt, ponieważ programiści rozumieją, że dla przyszłego sukcesu Carbon musi być projektem niezależnym i kierowanym przez społeczność.

Podsumowanie

Ważne jest, aby zrozumieć, że Carbon jest projektem eksperymentalnym i jest zbyt wcześnie, aby jednoznacznie stwierdzić, że Carbon jest pełnoprawnym następcą C++. Zgodnie z mapą drogową Carbon, rozwój głównych konstrukcji językowych powinien zostać zakończony do końca 2022 roku i jest to dokładnie czas, w którym Carbon 0.1 powinien zostać wydany. Potrzeba czasu, aby ocenić sukces projektu, ale już teraz możemy mówić o dużych perspektywach języka programowania Carbon jako następcy C++ w oparciu o zapowiedziane funkcje i zasady rozwoju.
Dziękujemy za ocenę!
Dziękuję za komentarz!
autor
Dmitry Nazarevich Dyrektor ds. technologii

Spis treści

Oceń ten artykuł:

4/5

4.8/5 (45 opinii)

    Skontaktuj się z nami

    Umów się na rozmowę lub wypełnij poniższy formularz, a my odezwiemy się do Ciebie po przetworzeniu Twojego zgłoszenia

    Wyślij nam wiadomość głosową
    Załącz dokumenty
    Prześlij plik

    Można załączyć 1 plik o rozmiarze do 2 MB. Prawidłowe formaty plików: pdf, jpg, jpeg, png.

    Klikając "Wyślij", wyrażasz zgodę na przetwarzanie Twoich danych osobowych przez Innowise zgodnie z naszą Polityką Prywatności w celu przekazania Ci odpowiednich informacji. Podając numer telefonu, zgadzasz się na kontakt za pośrednictwem połączeń głosowych, SMS-ów lub komunikatorów. Mogą obowiązywać opłaty za połączenia, wiadomości i transmisję danych.

    Możesz także wysłać swoje zapytanie
    na adres contact@innowise.com
    Co dalej?
    1

    Po otrzymaniu i przetworzeniu zgłoszenia skontaktujemy się z Tobą, aby szczegółowo opisać projekt i podpisać umowę NDA w celu zapewnienia poufności.

    2

    Po przeanalizowaniu Twoich potrzeb i oczekiwań, nasz zespół opracuje propozycję projektu z zakresem prac, wielkością zespołu, czasem i szacunkowymi kosztami.

    3

    Zorganizujemy spotkanie w celu omówienia oferty i ustalenia szczegółów.

    4

    Na koniec podpiszemy umowę, błyskawicznie rozpoczynając pracę nad projektem.

    Więcej świadczonych przez nas usług

    strzałka