Blog IT, Blog Marketing

Czy Google Carbon zastąpi C++?

Czy Google Carbon zastąpi C++?

Joanna Wasiak , 29.07.2022 r.

Inżynierowie pracujący w Google właśnie dokonali rewolucyjnego eksperymentu, wypuszczając na rynek język Carbon, który ma być godnym następcą C++. Chandler Carruth przedstawił w tym tygodniu na konferencji CPP North w Toronto wady języka C++, które spowodowały, że inżynierowie Google pracowali nad nowocześniejszą wersją tego języka programowania. Czy Google Carbon rzeczywiście odniesie taki sukces, jak zapowiada Carruth?

W artykule przedstawiono następujące zagadnienia:

  • Problemy C++
  • Modyfikowany węgiel, czyli nowoczesny Carbon

Problemy C++

C++, który był rozwijany przez dziesięciolecia, zdążył już wnieść ze sobą wiele praktyk, które obecnie stały się przestarzałe – mowa tutaj o tych, które były częścią języka C. Ponieważ każdą nową funkcję C++ musi zatwierdzić specjalnie powołany komitet, jego aktualizacje opóźniają się, przez co ewolucja C++ także zwalnia. Z tego powodu powstaje wiele sytuacji, w których nie można użyć C++ właśnie ze względu na jego niekompatybilność z najnowocześniejszymi rozwiązaniami technicznymi.

Rust, o którym mówiono, że ma zastąpić C++ nie zdał egzaminu, jeśli chodzi o swobodną dwukierunkową interoperacyjność, którą inne narzędzia, co tworzy pewną barierę językową podczas prób przekładania kodu z Rust na inne języki programowania. Kolejnym problemem z językiem C++ jest bezpieczeństwo pamięci. Błędu dostępu do pamięci kodu pisanego w C++ tworzą luki w zabezpieczeniach, powodując, że projekt staje się narażony na cyberataki.

Modyfikowany węgiel, czyli nowoczesny Carbon

Odpowiedzią na problemy z językiem C++ ma być Carbon, który Chandler Carruth chce rozwijać dzięki wsparciu społeczności na GitHubie i Discordzie. Początkowo miał być wewnętrznym projektem firmy Google, ostatecznie prognozy są takie, by zmniejszyć wkład Google lub innej firmy zaangażowanej w rozwój tego języka do 50% w terminie do końca 2022 r., a docelowo projekt zostanie przekazany niezależnej fundacji programistycznej.

Carbon ma zostać dostosowany do nowoczesnych zasad projektowania kodu, w tym ma posiadać wbudowany system generyczny, który zlikwiduje konieczność podwójnego sprawdzania kodu. Społeczność rozwijająca projekt Carbon będzie szukała sposobów na rozwiązanie problemów z bezpieczeństwem, które występowały w C++, tj. opracują lepsze śledzenie niezainicjowanych stanów, projektowych interfejsów API, czy idiomów, które mogą obsługiwać dynamiczne sprawdzanie granic. W planach jest również zaprojektowanie kompleksowej kompilacji debugowania.

Carbon ma mieć prostszą składnię niż język C++ oraz ma umożliwić szybką i bezproblemową migrację użytkownikom, którzy będą chcieli przenieść swoje projekty z języka C++ na Carbon, dzięki wbudowanej interoperacyjności z C++.

Wsparcie języka Carbon obejmuje:

  • stworzenie oprogramowania krytycznego dla wydajności;

  • ciągłą, swobodną ewolucję języka;
  • łatwy do odczytania, zrozumienia i napisania kod;
  • szybki i skalowalny rozwój języka;
  • usprawnione mechanizmy bezpieczeństwa;
  • nowoczesne platformy systemu operacyjnego, tj. architektury sprzętu i środowisko;
  • wbudowany menedżera pakietów, czego obecnie brakuje w języku C++.

Obecnie Carbon jest w eksperymentalnej fazie projektu. Możesz pobrać jego kod źródłowy lub pobawić się z jego możliwościami za pomocą aplikacji Compiler Explorer w przeglądarce internetowej. Wersja Carbon 0.1 ma zostać opracowana i wydana do końca roku, ale to przyszłość pokaże, czy rzeczywiście w tak szumnie zapowiadanym języku od Google’a tkwi potencjał na zastąpienie nim C++.

Najnowsze oferty pracy:

Polecane wpisy na blogu IT:

Szukasz pracownika IT?

Dostarczymy Ci najlepszych specjalistów z branży IT. Wyślij zapytanie

Wyrażam zgodę TeamQuest Sp. z o.o. na przetwarzanie moich danych osobowych w celu marketingu produktów i usług własnych TeamQuest, w tym na kontaktowanie się ze mną w formie połączenia telefonicznego lub środkami elektronicznymi.
Administratorem podanych przez Ciebie danych osobowych jest TeamQuest Sp. z o.o., z siedzibą w Warszawie (00-814), ul. Miedziana 3a/21, zwana dalej „Administratorem".
Jeśli masz jakiekolwiek pytania odnośnie przetwarzania przez nas Twoich danych, skontaktuj się z naszym Inspektorem Ochrony Danych (IOD). Do Twojej dyspozycji jest pod adresem e-mail: office@teamquest.pl.
W jakim celu i na jakiej podstawie będziemy wykorzystywać Twoje dane? Dowiedz się więcej