Carbon to najnowszy język programowania zaprojektowany przez inżynierów Google. Czy zostanie on godnym następcą C++? Czym dokładnie wyróżnia się Carbon od C++? Co powinni wiedzieć o nim programiści? Szereg przydatnych informacji na temat nowego języka programowania stworzonego przez Google przedstawiamy w poniższym artykule. Zapraszamy do lektury.
Dlaczego Carbon ma być alternatywą C++?
Obecnie najczęściej wybierane technologie i języki programowania to przede wszystkim JavaScript, HTML/CSS, Python i SQL. Czy w tym gronie znajdzie się wkrótce Carbon? Czym wyróżnia się ten język programowania?
Carbon to eksperymentalny język programowania Google ogólnego przeznaczenia, który został zaprojektowany przez wspomnianego amerykańskiego potentata. Jego pierwsza prezentacja miała miejsce w lipcu 2022 roku w Toronto. O założeniach Carbon mówił tam Chandler Carruth – inżynier powiedział wówczas, że Carbon ma być następcą języka C++.
Twórcy tego języka postawili sobie za cel naprawienie istotnych niedociągnięć, które posiada C++. Ponadto oferuje on bardzo podobny zestaw funkcji. Najważniejsze cechy Carbon to czytelność i dwukierunkowa interoperacyjność. Cała dokumentacja, projekt oraz implementacja i szereg narzędzi Carbon są dostępne na GitHub na licencji Apache-2.0.
Jakie problemy C++ Carbon planuje rozwiązać?
C++ to język programowania, który był rozwijany przez bardzo wiele lat. Niestety, niektóre technologie są już dość przestarzałe – zwłaszcza te, które były implementowane w języku C. Dodatkowo, każda nowa funkcjonalność w C++ musi być zatwierdzana przez specjalny komitet. To z kolei powoduje, że wprowadzanie kolejnych aktualizacji zajmuje dużo czasu, dlatego zmiany pojawiają się z dużym opóźnieniem. Jednocześnie brak aktualizacji sprawia, że często język ten jest niekompatybilny z nowoczesnymi rozwiązaniami technologicznymi, a używanie go może sprawiać programistom wiele trudności.
Celem Carrutha jest to, by Carbon był szeroko dostępny dla wszystkich zainteresowanych. Dzięki wspólnej pracy programistów z całego świata łatwiej będzie wprowadzać istotne modyfikacje – wzrośnie jego wydajność oraz poziom zabezpieczeń.
„Struktura komitetu ma na celu zapewnienie reprezentacji krajów i firm, a nie tworzenie integracyjnego, przyjaznego zespołu i społeczności ekspertów i osób aktywnie przyczyniających się do rozwoju języka. Dostęp do komitetu i standardu jest ograniczony i kosztowny, obecność jest wymagana do głosowania, a decyzje są podejmowane w głosowaniu na żywo przez obecnych”
– tak o bolączkach C++ pisał twórca Carbon Chandler Carruth.
Wcześniej mówiono, że C++ może zostać zastąpione przez język Rust stworzony przez Mozillę. Mimo iż język ten posiada wiele zalet, nie oferuje pełnej dwukierunkowej interoperacyjności, dlatego przekładanie kodu z Rust na inne języki programowania jest trudne lub czasem niemożliwe.
Ważnym problemem z językiem C++ jest także bezpieczeństwo pamięci. Błędy dostępu do pamięci kodu, który jest pisany w C++, mogą doprowadzić do powstania luk w zabezpieczeniach. W efekcie realizowany przez nas projekt jest bardzo mocno narażony na atak ze strony cyberprzestępców.
Co Google planuje zrobić z projektem?
Inżynierowie Google początkowo zakładali, że Carbon będzie wewnętrznym projektem firmy, jednak plany te szybko uległy zmianie. Teraz planują oni zmniejszenie wkładu Google do 50% do końca 2022 roku. Długoterminowe plany zakładają przekazanie Carbon niezależnej fundacji programistycznej, która ma pracować nad wprowadzaniem kolejnych ulepszeń i aktualizacji.
Wizja twórców zakłada, że Carbon ma wyróżniać się zastosowaniem nowoczesnych wytycznych w zakresie projektowania kodu. Ma także posiadać wbudowany system generyczny – dzięki temu zniknie konieczność podwójnego sprawdzania kodu. Carbon będzie miał prostszą składnię niż język C++, a migracja użytkowników do nowego języka ma przebiegać szybko i sprawnie. Będzie to możliwe dzięki funkcji wbudowanej interoperacyjności z C++ do Carbon.
Czym Carbon będzie się różnił od C++
Carbon będzie się różnił od języka C++ w istotny sposób. Najważniejsze różnice między tymi technologiami to:
- Carbon jest otwarto-źródłowy,
- Carbon oferuje wyższy poziom bezpieczeństwa, co zmniejsza ryzyko występowania cyberataków na realizowane przez nas projekty,
- wprowadzenie modyfikacji w Carbon będzie znacznie prostsze i szybsze,
- w Carbon zastosowane zostaną nowoczesne wytyczne w zakresie projektowania kodu, co ułatwi codzienną pracę programistów,
- w Carbon zastosowano dwukierunkową interoperacyjność, co umożliwia migrację projektów z C++ do nowego języka,
- Carbon posiada wbudowany menedżer pakietów, czego nie ma w C++,
- Carbon wyróżnia się łatwością w tworzeniu kodu.
Każdy, kto myśli o tym, jak zostać programistą, powinien poważnie zastanowić się nad opanowaniem podstaw języka Carbon. Może bowiem okazać się, że w przyszłości będzie to jedna z najpopularniejszych technologii programistycznych na świecie.
Czy Carbon ma szansę wysłać C++ na emeryturę?
Carbon to nowy język programowania, a prace nad tą technologią dalej są w fazie eksperymentalnej. W tym momencie nie wiadomo, jaka będzie jego przyszłość. Wszyscy zainteresowani mogą pobrać jego kod źródłowy, modyfikować i udostępniać swoje propozycje. Wersja Carbon 0.1 ma ujrzeć światło dzienne do końca 2022 roku.
Czy Carbon ma szansę, by wysłać C++ na emeryturę? Uzależnione jest to przede wszystkim od twórców. Jeśli zadbają oni o to, by proces tworzenia kodu w Carbon był sprawny i wydajny, liczba błędów była niewielka, a poziom bezpieczeństwa był na wysokim poziomie, wówczas prawdopodobieństwo jest bardzo wysokie.