Wiadomość została wysłana.
Przetworzymy Twoją prośbę i skontaktujemy się z Tobą tak szybko, jak to możliwe.
Formularz został pomyślnie przesłany.
Więcej informacji można znaleźć w skrzynce pocztowej.

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.

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?
Jak wyjaśnił Chandler Carruth, język C++ nie spełnia głównych celów, jakie przed nim postawiono. Obejmują one między innymi obsługę oprogramowania, w którym wydajność ma kluczowe znaczenie, prostą składnię, ewolucję języka, nowoczesne systemy oraz solidne zabezpieczenia. Konkretne cechy języka oraz kwestie biurokratyczne uniemożliwiają stopniowe ulepszanie języka C++.
Jeśli chodzi o specyfikę języka, C++ w trakcie swojej ewolucji zgromadził znaczny dług techniczny. Co więcej, odziedziczył wiele przestarzałych funkcji z języka C. Ponadto użytkownicy C++ priorytetowo traktują kompatybilność wsteczną, aby zapewnić wsparcie dla istniejących ekosystemów C/C++. Jednocześnie kompatybilność wsteczna nie pozwala na likwidację długu technicznego, w związku z czym proces ewolucji języka C++ jeszcze bardziej utrudnia wdrażanie ulepszeń.
Skoro mowa o kwestiach biurokratycznych, proces ulepszania języka C++ jest znacznie spowalniany przez komisję (WG21), która zajmuje się standaryzacją, a nie projektowaniem. WG21 stosuje powolne procesy typu „waterfall”, co prowadzi do opóźnień w podejmowaniu kluczowych decyzji. Co więcej, komisja ta ograniczyła dostęp do większości ekspertów w dziedzinie C++ i reprezentuje jedynie wybrane firmy oraz kraje, ignorując liczną społeczność programistów C++.

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
Oceń ten artykuł:
4.8/5 (45 opinii)












Wiadomość została wysłana.
Przetworzymy Twoją prośbę i skontaktujemy się z Tobą tak szybko, jak to możliwe.