러스트 경쟁자 등장…구글, C++ 대체언어 '카본' 공개

컴퓨팅입력 :2022/07/21 16:56    수정: 2022/07/21 17:26

구글이 C++를 대체하기 위한 실험적 오픈 소스 프로그래밍 언어 카본(carbon)을 공개했다.

20일(현지시간) 구글의 챈들러 캐러스 오픈소스 엔지니어는 캐나다 토론토에서 열린 개발자 컨퍼런스 C++노스(CPP North)에서 카본을 소개했다.

카본은 1985년 공개 후 전 세계에서 가장 많이 쓰이는 프로그래밍 언어 중 하나인 C++를 대체하는 것을 목표로 한다. 수십 년에 걸친 기술 발전을 감당하지 못해 개발자의 요구 사항을 충족시키는 데 C++가 어려움을 겪고 있기 때문이다.

구글

특히 챈들러 캐러스는 표준화를 지향하는 관료적 위원회 프로세스에 의해 새로운 기능 추가가 수년에 걸쳐 이뤄지는 등 IT업계의 빠른 기술 변화에 대처하지 못하고 있다고 지적했다.

캐러스는 "현재 위원회 구조는 언어에 적극적으로 기여하는 전문가와 사람들로 구성된 포괄적이고 환영하는 팀과 커뮤니티보다 국가와 회사를 대표하도록 설계되었다"며 “카본은 개발 커뮤니티가 주도하는 개방적인 환경을 목표로 한다”고 밝혔다.

카본 프로젝트는 코드 저장소인 깃허브에서 유지 관리되며, 개발자는 디스코드를 통해 제한없이 의견을 논의할 수 있다.

카본은 C++와 동일한 수준의 성능을 지원하며, 상속에서 템플릿에 이르기까지 기존 C++ 코드와 상호 운용할 수 있다. 빠르고 확장 가능한 개발환경과 최신 OS 플랫폼, 하드웨어 아키텍처를 지원한다.

또한, C++의 고질적인 보안 취약점인 메모리 버그 등을 해결하고, 오픈소스 개발방식에 적합한 구조를 제공한다.

캐러스는 C++의 대체제로 주목받고 있는 러스트와 차이점으로 호환성을 강조했다.

러스트는 메모리 안전 성능 응용 프로그램의 요구 사항을 해결하기 위해 특별히 구축된 또 다른 최근 언어다. 최근 아마존, 마이크로소프트(MS) 등에서 C++를 대체하기 위해 적극 활용하고 있다.

카본과 C++를 동시에 활용한 코드(이미지=깃허브)

카본은 기존 C++코드를 그대로 활용할 수 있을 뿐 아니라 구조도 비슷해 학습이 필요한 러스트와 달리 기존 개발자의 진입 장벽을 낮췄다.

캐러스는 “카본은 러스트로 변환하기 어려운 대규모 C++ 코드베이스 프로젝트나 C++ 생태계를 전환하는 것을 목표로 개발한 것”이라며 ”러스트는 새 프로젝트를 시작하기엔 훌륭하지만 대규모 프로젝트 전환에는 적합하지 않은 만큼 러스트를 사용 중인 개발자라면 그대로 사용하는 것이 유리할 것”이라고 설명했다.

카본 개발 팀은 개발 커뮤니티의 참여를 높이기 위해 연말까지 구글을 비롯한 다른 단일 기업의 기여도를 50% 미만으로 줄일 계획이다. 최종적으로 독립 소프트웨어 재단에 프로젝트를 넘기는 것을 목표로 한다.

관련기사

캐러스는 “올해 말까지 핵심 작업 버전(0.1)을 출시하려 한다”며 “카본은 각 인스턴스화에 대한 코드를 확인하고 재확인할 필요가 없는 제네릭 시스템을 포함하여 현대적인 프로그래밍 원칙에 기초하여 구축할 것”이라고 강조했다.

카본은 깃허브 프로젝트(바로가기)에서 소스코드를 다운받아 사용할 수 있다.