21 lip, 2022
admin2023

Google wprowadza Carbon, eksperymentalny zamiennik C++

Sfrustrowani powolną ewolucją C++, inżynierowie Google uruchomili nowy „eksperymentalny” język programowania open source, zwany Carbon, jako możliwy następca czcigodnego, ale starzejącego się C++.

Pozycjonowanie SEO czy Google Ads?

Spis treści

Tak jak Microsoft zbudował Typescript w celu aktualizacji JavaScript, a Kotlin został stworzony w celu uzupełnienia słabości Javy, Carbon może służyć jako następca języka C ++, który oferuje programistom łatwy punkt wyjścia do nowszego języka, który odnosi się do nowoczesnych koncepcji programistycznych, takich jak jako bezpieczeństwo pamięci i generyki.

Inżynier Google Chandler Carruth przedstawił język w tym tygodniu na konferencji CPP North C++ w Toronto.

Następca C++

Od dawna używany do tworzenia aplikacji krytycznych pod względem wydajności, C++ jest nękany wieloma problemami, które utrudniają współczesnym programistom, wyjaśnił Carruth na stronie GitHub. Nagromadził dziesięciolecia długu technicznego, przynosząc ze sobą wiele przestarzałych praktyk, które były częścią poprzednika języka C. Właściciele C++ traktują priorytetowo kompatybilność wsteczną, aby nadal wspierać szeroko używane projekty, takie jak Linux i jego pakiety.

Ewolucję języka hamuje również biurokratyczny proces komitetowy, zorientowany raczej na standaryzację niż na projektowanie. Co może utrudnić dodawanie nowych funkcji. C++ ma w dużej mierze sekwestrowany proces rozwoju, w którym komisja selekcyjna podejmuje ważne decyzje w procesie kaskadowym, który może trwać latami.

„Struktura komitetu ma na celu zapewnienie reprezentacji narodów i firm, a nie budowanie integracyjnego i przyjaznego zespołu oraz społeczności ekspertów i osób aktywnie przyczyniających się do rozwoju języka” – napisał Carruth. „Dostęp do komitetu i standardów jest ograniczony i kosztowny, frekwencja jest niezbędna, aby mieć głos, a decyzje podejmowane są głosami na żywo obecnych”.

Carruth chce budować Carbon przez bardziej otwarte środowisko kierowane przez społeczność . Projekt będzie utrzymywany na GitHub i omawiany na Discordzie .

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

Co jest w boxie?

Projekt chce wydać podstawową działającą wersję („0.1”) do końca roku. Carbon zostanie zbudowany na podstawie nowoczesnych zasad programowania, w tym systemu generycznego, który usunie potrzebę podwójnego sprawdzania kodu.

Inną bardzo potrzebną funkcją, której brakuje w C++, jest bezpieczeństwo pamięci. Błędy dostępu do pamięci są jednymi z największych winowajców luk w zabezpieczeniach. Projektanci Carbon będą szukać sposobów na lepsze śledzenie niezainicjowanych stanów, projektowych interfejsów API i idiomów, które obsługują dynamiczne sprawdzanie granic, oraz zbudowanie kompleksowego domyślnego trybu kompilacji debugowania. Z czasem projektanci planują zbudować bezpieczny podzbiór węgla.

Zgodnie z dokumentacją język będzie wspierał:

  • Oprogramowanie krytyczne dla wydajności
  • Ewolucja oprogramowania i języka
  • Kod, który jest łatwy do odczytania, zrozumienia i napisania
  • Praktyczne mechanizmy bezpieczeństwa i testowania
  • Szybki i skalowalny rozwój
  • Nowoczesne platformy systemu operacyjnego, architektury sprzętowe i środowiska
  • Interoperacyjność i migracja z istniejącego kodu C++.

Zespół programistów zajmie się również stworzeniem wbudowanego menedżera pakietów, czego bardzo brakuje w C++.

Zespół programistów planuje napisać narzędzia do tłumaczenia umożliwiające migrację kodu C++ do kodu Carbon.

Dlaczego więc nie Rust?

Rust to kolejny nowy język stworzony specjalnie w celu zaspokojenia potrzeb aplikacji zapewniających wydajność bezpieczną w pamięci. Dlaczego więc po prostu nie użyć Rusta? W swojej prezentacji w CPP North, Carruth poradził osobom używającym Rust, aby nadal z niego korzystali. Carbon jest dla tych programistów, którzy mają już duże bazy kodu w C++, które są trudne do przekonwertowania na Rust. Carbon jest konkretnie tym, co Carruth nazwał „językiem następców”, który jest zbudowany na już istniejącym ekosystemie, w tym przypadku C++.

„Zaprojektowano go z myślą o interoperacyjności z C++, a także o przyjęciu i migracji na dużą skalę dla istniejących baz kodu C++ i programistów” — wyjaśnia dokumentacja. Oznacza to, że język powinien być tak wydajny jak C++, powinien zapewniać bezproblemową i dwukierunkową interoperacyjność z C++.

Przeczytaj także:

Współpracujemy z CODEXO

Uwaga! Korzystamy z ciasteczek „Cookies”! Jeśli Ci to nie odpowiada, opuść naszą stronę.

Wszystkie prawa zastrzeżone  ©WDesign 2024
linkedin facebook pinterest youtube rss twitter instagram facebook-blank rss-blank linkedin-blank pinterest youtube twitter instagram