Carbon, język programowania, który ma zastąpić C++

Kilka dni temu ujawnił się pracownik Google kto opracowuje nowy język programowania o nazwie "Węgiel", oferuje nasz konfigurator jest pozycjonowany jako eksperymentalny zamiennik C++, rozszerzając ten język i eliminując istniejące braki.

Według prezentacji Carrutha język został opracowany, aby umożliwić tworzenie oprogramowania, w którym wydajność ma kluczowe znaczenie. Chcieli również umożliwić programistom korzystanie z nowoczesnego projektowania języka programowania przy użyciu Carbon.

Niektóre z rzeczy wyróżnionych jako najważniejsze w Carbonie w porównaniu do C++ to na przykład: prostsze importy składni i API. Według Carrutha ten nowy język eksperymentalny powinien być dwukierunkowo interoperacyjny z C++, co oznacza, że ​​projekty powinny mieć możliwość migracji z jednego języka do drugiego bez większych trudności.

Ponadto celem jest dalsze rozwijanie języka w sposób otwarty w Internecie, gdzie każdy, kto chce, może wnieść kod źródłowy. Projekt jest publicznie dostępny na Github i jest otwarty dla żądania ściągnięcia. 

Język obsługuje podstawową przenośność C++, może integrować się z istniejącym kodem C++ i zapewnia narzędzia upraszczające migrację istniejących projektów poprzez automatyczne tłumaczenie bibliotek C++ na kod Carbon.

Na przykład możesz przepisać pewną bibliotekę w Carbon i użyć jej w istniejącym projekcie C++. Kompilator Carbon jest napisany przy użyciu kompilacji LLVM i Clang.

Z głównych cech węglawyróżniają się następujące:

  • Wydajność wynikowego kodu jest porównywalna do C++, przy zachowaniu możliwości dostępu do adresów niskiego poziomu i danych na poziomie bitów.
  • Przenośność z istniejącym kodem C++, w tym dziedziczenie klas i szablony.
  • Szybka kompilacja i możliwość integracji z istniejącymi systemami budowania dla C++.
  • Uprość migrację między różnymi wersjami Carbon.
  • Zapewnia narzędzia bezpieczne w pamięci, które chronią przed lukami spowodowanymi przez adresowanie obszaru pamięci po jego zwolnieniu, wyłuskiwanie wskaźników zerowych i przepełnienie buforu.

Oczywiście mamy Rust jako proponowaną alternatywę dla C i C++, ale tak naprawdę nie jest to język rozszerzeń, jest to bardziej pełnoprawny język, zacznijmy od nowa. Carbon stara się być jak Rust, pozostając jednocześnie kompatybilnym ze światem C++, Cóż, na swojej stronie Github mówi:

  • Dopasowanie wydajności C++ przy użyciu LLVM, z niskopoziomowym dostępem do bitów i adresów
  • Współdziałaj z istniejącym kodem C++, od dziedziczenia po szablony
  • Szybkie, skalowalne kompilacje, które działają z istniejącymi systemami kompilacji C++

Uważa się, że Carbon jest niezbędny, ponieważ stopniowe ulepszanie C++ po prostu nie jest już możliwe ze względu na historyczny bagaż, którego po prostu nie można się pozbyć. Osobiście posunąłbym się dalej i zasugerował, że przyrostowe „ulepszenia” w C++ są jednym z powodów, dla których w praktyce jest to tak obszerny język.

„Zawsze pojawiają się nowe języki, które próbują być następcami C++. Z zadowoleniem przyjmuję eksperymenty z językami programowania i stylami programowania, ale naprawdę nie chcę wzbudzać kontrowersji. Łatwo jest krytykować ugruntowane języki (znamy ich problemy), ale zwykle trudno jest oferować alternatywy bez tworzenia zupełnie nowych zestawów problemów w regułach językowych, bibliotekach i zarządzaniu. Carbon jest tak nowy i niewystarczająco określony, że tak naprawdę nie mogę poczynić żadnych znaczących komentarzy technicznych” – powiedział w e-mailu wynalazca C++ Bjarne Stroustrup.

Chociaż Carbon zaczynał jako wewnętrzny projekt Google, zespół programistów ostatecznie chce zmniejszyć wkład Google lub jakiejkolwiek innej firmy do mniej niż 50% do końca roku. Docelowo chcą przekazać projekt niezależnej fundacji software'owej, gdzie jego rozwojem będą się zajmować wolontariusze.

W końcu jeśli chcesz dowiedzieć się więcej na ten temat powinieneś wiedzieć, że rozwój projektu jest rozpowszechniany na licencji Apache 2.0 i możesz się z nimi zapoznać W poniższym linku.


Zostaw swój komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *

*

*

  1. Odpowiedzialny za dane: Miguel Ángel Gatón
  2. Cel danych: kontrola spamu, zarządzanie komentarzami.
  3. Legitymacja: Twoja zgoda
  4. Przekazywanie danych: Dane nie będą przekazywane stronom trzecim, z wyjątkiem obowiązku prawnego.
  5. Przechowywanie danych: baza danych hostowana przez Occentus Networks (UE)
  6. Prawa: w dowolnym momencie możesz ograniczyć, odzyskać i usunąć swoje dane.