C++를 대체하는 프로그래밍 언어 Carbon

몇일 전에 구글 직원 공개 누가 새로운 프로그래밍 언어를 개발하고 있습니까? "석탄", 해적 C++의 실험적 대체품으로 자리 잡았습니다., 이 언어를 확장하고 기존 결함을 제거합니다.

Carruth의 프레젠테이션에 따르면 이 언어는 성능이 중요한 소프트웨어를 만들 수 있도록 개발되었습니다. 그들은 또한 개발자가 Carbon을 사용하여 현대적인 프로그래밍 언어 디자인을 활용할 수 있기를 원했습니다.

C++와 비교하여 Carbon의 하이라이트로 강조된 몇 가지 예는 다음과 같습니다. 더 간단한 구문 및 API 가져오기. Carruth에 따르면, 이 새로운 실험 언어는 C++와 양방향으로 상호 운용 가능해야 합니다. 즉, 프로젝트는 큰 어려움 없이 한 언어에서 다른 언어로 마이그레이션할 수 있어야 합니다.

또한, 인터넷에서 공개적으로 언어를 더욱 발전시켜 가고자 하는 모든 사람이 소스 코드를 기여할 수 있도록 하는 것이 목표입니다. 프로젝트는 Github에서 공개적으로 사용 가능합니다. 를 위해 열려 있습니다. 풀 리퀘스트. 

언어는 기본 C++ 이식성을 지원합니다., 기존 C++ 코드와 통합할 수 있으며 C++ 라이브러리를 Carbon 코드로 자동 변환하여 기존 프로젝트의 마이그레이션을 단순화하는 도구를 제공합니다.

예를 들어 Carbon에서 특정 라이브러리를 다시 작성하고 기존 C++ 프로젝트에서 사용할 수 있습니다. Carbon 컴파일러는 LLVM 및 Clang 빌드를 사용하여 작성되었습니다.

카본의 주요 특징 중, 다음이 두드러집니다.

  • 결과 코드의 성능은 C++와 비슷하지만 낮은 수준의 주소와 비트 수준 데이터에 액세스할 수 있는 기능을 유지합니다.
  • 클래스 상속 및 템플릿을 포함한 기존 C++ 코드와의 이식성.
  • 빠른 컴파일 및 C++용 기존 빌드 시스템과의 통합 기능.
  • 다양한 버전의 Carbon 간의 마이그레이션을 단순화합니다.
  • 메모리 영역이 해제된 후 주소 지정, 널 포인터 역참조 및 버퍼 오버플로로 인해 발생하는 취약성으로부터 보호하는 메모리 안전 도구를 제공합니다.

물론 우리는 C와 C++에 대한 제안된 대안으로 Rust를 가지고 있지만 이것은 실제로 확장 언어가 아니라 본격적인 언어에 가깝습니다. 다시 시작하겠습니다. Carbon은 여전히 ​​C++의 세계와 호환되는 동시에 Rust와 같도록 노력하고 있습니다. 글쎄, Github 페이지에는 다음과 같이 나와 있습니다.

  • 비트 및 주소에 대한 저수준 액세스와 함께 LLVM을 사용한 C++ 성능 일치
  • 상속에서 템플릿에 이르기까지 기존 C++ 코드와 상호 운용
  • 기존 C++ 빌드 시스템에서 작동하는 빠르고 확장 가능한 빌드

Carbon은 단순히 제거할 수 없는 역사적 짐으로 인해 C++의 점진적인 개선이 더 이상 불가능하기 때문에 필요하다고 주장됩니다. 개인적으로, 나는 더 나아가 C++의 점진적인 "개선"이 실제로 C++이 그렇게 큰 언어인 이유의 일부라고 제안하고 싶습니다.

“C++의 후계자가 되려고 하는 새로운 언어는 항상 있습니다. 프로그래밍 언어와 프로그래밍 스타일에 대한 실험은 환영하지만 논란을 일으키고 싶지는 않습니다. 기존 언어를 비판하기는 쉽지만(우리는 그들의 문제를 알고 있습니다), 일반적으로 언어 규칙, 라이브러리 및 거버넌스에서 완전히 새로운 문제 세트를 생성하지 않고 대안을 제공하기 어렵습니다. Carbon은 너무 새롭고 과소 지정되어 의미 있는 기술적인 언급을 할 수 없습니다.” C++ 발명가 Bjarne Stroustrup이 이메일에서 말했습니다.

Carbon은 내부 Google 프로젝트로 시작했지만 개발 팀은 궁극적으로 Google 또는 기타 개별 회사의 기여도를 연말까지 50% 미만으로 줄이려고 합니다. 궁극적으로 그들은 자원 봉사자들이 개발을 수행할 독립 소프트웨어 재단에 프로젝트를 넘기기를 원합니다.

최종적으로 그것에 대해 더 많이 알고 싶다면 프로젝트의 개발이 Apache 2.0 라이선스에 따라 배포된다는 것을 알아야 하며 이를 참조할 수 있습니다. 다음 링크에서.


코멘트를 남겨주세요

귀하의 이메일 주소는 공개되지 않습니다. 필수 필드가 표시되어 있습니다 *

*

*

  1. 데이터 책임자 : Miguel Ángel Gatón
  2. 데이터의 목적 : 스팸 제어, 댓글 관리.
  3. 합법성 : 귀하의 동의
  4. 데이터 전달 : 법적 의무에 의한 경우를 제외하고 데이터는 제 XNUMX 자에게 전달되지 않습니다.
  5. 데이터 저장소 : Occentus Networks (EU)에서 호스팅하는 데이터베이스
  6. 권리 : 귀하는 언제든지 귀하의 정보를 제한, 복구 및 삭제할 수 있습니다.