Zostaw swoje dane kontaktowe, a prześlemy Ci nasz oficjalny dokument e-mailem
Wyrażam zgodę na przetwarzanie moich danych osobowych w celu przesyłania spersonalizowanych materiałów marketingowych zgodnie z Regulaminem. Politykę Prywatności. Potwierdzając zgłoszenie, użytkownik wyraża zgodę na otrzymywanie materiałów marketingowych
Dziękuję!

Formularz został pomyślnie przesłany.
Więcej informacji można znaleźć w skrzynce pocztowej.

Innowise jest międzynarodową firmą tworzącą oprogramowanie w pełnym cyklu założona w 2007 roku. Jesteśmy zespołem ponad 1600 specjalistów IT tworzących oprogramowanie dla innych profesjonalistów na całym świecie. profesjonalistów na całym świecie.
O nas
Innowise jest międzynarodową firmą tworzącą oprogramowanie w pełnym cyklu założona w 2007 roku. Jesteśmy zespołem ponad 1600 specjalistów IT tworzących oprogramowanie dla innych profesjonalistów na całym świecie. profesjonalistów na całym świecie.

Język Google Carbon może zastąpić C++

Podczas konferencji CPP North, Chandler Carruth, główny inżynier oprogramowania w Google, ogłosił wydanie języka programowania Carbon. Google Carbon to eksperymentalny język open-source, który ma być raczej następcą C++, ale nie jego zamiennikiem. W artykule przyjrzymy się bliżej Carbonowi, jego celom, potencjałowi i powodom, dla których C++ potrzebuje następcy.
Język węglowy Google&#039

Co jest nie tak z C++?

Według Indeks TIOBE za sierpień 2022 r.C++ zajmuje 4. miejsce po PythonC, oraz Java. Od 2001 roku C++ nigdy nie spadł poniżej 5. miejsca, co wskazuje na dużą popularność tego języka programowania pomimo jego wieku (po raz pierwszy pojawił się w 1985 roku). C++ ma wiele zalet kluczowych dla rozwoju oprogramowania o krytycznym znaczeniu dla wydajności. Dlaczego więc potrzebuje następcy?Jak wyjaśnił Chandler Carruth, C++ nie spełnia głównych celów tego języka. Obejmują one między innymi obsługę oprogramowania o krytycznym znaczeniu dla wydajności, prostą składnię, ewolucję języka, nowoczesne systemy i solidne bezpieczeństwo. Specyficzne cechy języka i kwestie biurokratyczne uniemożliwiają stopniową poprawę C++.Jeśli chodzi o specyfikę języka, C++ zgromadził wysoki dług techniczny w trakcie swojej ewolucji. Co więcej, odziedziczył wiele starszych funkcji z języka C. Poza tym użytkownicy C++ priorytetowo traktują kompatybilność wsteczną, aby wspierać istniejące ekosystemy C/C++. Jednocześnie kompatybilność wsteczna nie pozwala na naprawienie długu technicznego, dlatego proces ewolucji C++ jeszcze bardziej utrudnia wdrażanie ulepszeń.Mówiąc o kwestiach biurokratycznych, proces ulepszania C++ jest znacznie spowolniony przez komitet (WG21) skoncentrowany na standaryzacji, ale nie na projektowaniu. WG21 stosuje powolne procesy kaskadowe, które prowadzą do opóźnień w podejmowaniu kluczowych decyzji. Co więcej, komitet ograniczył dostęp do większości ekspertów C++ i reprezentuje tylko niektóre firmy i kraje, ignorując dużą społeczność C++.

Cele języka programowania Carbon

Jako następca języka, Carbon odziedziczył następujące cechy Oryginalne cele dla C++ i otrzymał dodatkową.
Język węgla
Opierając się na podejściu języka następcy, Carbon koncentruje się na 3 głównych kwestiach, które odpowiadają na istniejące wyzwania C++ i pozwalają nam uznać Carbon za obiecujący projekt: interoperacyjność, migracja i ewolucja języka. Opierając się na tych punktach, twórcy Carbon dążą do pozbycia się długu technicznego C++, utrzymania dostępu do istniejących ekosystemów, zapewnienia szybkich ulepszeń i uniknięcia wstecznej kompatybilności przy użyciu aktualizacji opartych na narzędziach.

Jakie są obietnice Carbon?

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.

Co więcej, twórcy Carbon twierdzą, że Carbon będzie językiem programowania typu open-source i będzie 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 programiści C++, którzy chcą w pełni przejść na Carbon, będą mieli zestaw narzędzi do automatycznej transliteracji bibliotek C++ na kod w nowym języku. Możliwa jest również odwrotna migracja. W przyszłości biblioteki te mogą być używane w istniejącym projekcie C ++. Wszystkie narzędzia Carbon są hostowane na GitHub i rozpowszechniane na licencji Apache 2.0. Do tej pory dostępne są Demo Carbon interpreter dostępne.

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ść.

Dolna linia

Ważne jest, aby zrozumieć, że Carbon jest projektem eksperymentalnym i jest zbyt wcześnie, aby jednoznacznie stwierdzić, że Carbon jest pełnoprawnym następcą C++. Zgodnie z mapą drogową Carbon, rozwój głównych konstrukcji językowych powinien zostać zakończony do końca 2022 roku i jest to dokładnie czas, w którym Carbon 0.1 powinien zostać wydany. Potrzeba czasu, aby ocenić sukces projektu, ale już teraz możemy mówić o dużych perspektywach języka programowania Carbon jako następcy C++ w oparciu o zapowiedziane funkcje i zasady rozwoju.
Dziękujemy za ocenę!
Dziękuję za komentarz!

Spis treści

Oceń ten artykuł:

4/5

4.8/5 (45 opinii)

Powiązane treści

Blog
Blog
Mała okładka Ewolucja transakcji P2P
Blog
Czerwcowy przegląd rozwoju aplikacji mobilnych Innowise
Blog
Przełamując granice, Innowise znalazł się wśród 100 najszybciej rozwijających się firm w 2023 r.
Blog
Przegląd deweloperów mobilnych Innowise
Blog
Najważniejsze trendy w rozwoju oprogramowania
Blog
Inteligencja decyzyjna
Blog
Sztuczna inteligencja w opiece zdrowotnej
Blog
Blog
Blog

Przyniósł nam wyzwanie?

    Prosimy o podanie szczegółów projektu, czasu trwania, stosu technologicznego, potrzebnych specjalistów IT i innych istotnych informacji.
    Nagraj wiadomość głosową na temat
    projekt, który pomoże nam lepiej go zrozumieć
    W razie potrzeby dołącz dodatkowe dokumenty
    Prześlij plik

    Można załączyć maksymalnie 1 plik o łącznej wielkości 2 MB. Ważne pliki: pdf, jpg, jpeg, png

    Informujemy, że po kliknięciu przycisku Wyślij Innowise będzie przetwarzać Twoje dane osobowe zgodnie z naszą Polityką prywatności w celu dostarczenia Ci odpowiednich informacji.

    Co będzie dalej?

    1

    Po otrzymaniu i przetworzeniu Twojego zgłoszenia skontaktujemy się z Tobą wkrótce, aby wyszczególnić potrzeby projektu i podpisać umowę o zachowaniu poufności, aby zapewnić poufność informacji.

    2

    Po przeanalizowaniu wymagań, nasi analitycy i programiści opracowują projekt z zakresem prac, wielkością zespołu, czasem i kosztami szacunki.

    3

    Umówimy się z Tobą na spotkanie, aby omówić ofertę i dojść do porozumienia porozumienia.

    4

    Podpisujemy umowę i rozpoczynamy pracę nad projektem tak szybko, jak to możliwe możliwe.

    Dziękuję!

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

    Dziękuję!

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

    strzałka