ISO C++ 위원장 "C++26, 프로그래밍 언어 혁신 가져올 것"

컴파일 타임 리플렉션 추가·메모리 안전성 강화…생산성·안전성 혁신

컴퓨팅입력 :2024/11/17 09:03    수정: 2024/11/17 10:21

프로그래밍 언어 C++의 차기 개발 표준이 소프트웨어(SW) 개발에 혁신을 가져올 것으로 주목받고 있다. 최근 꾸준히 지적된 안전성을 보완하고 복잡성을 줄임으로써 개발에 대한 진입장벽을 낮출 수 있을 것이란 전망이다.

17일 데브클래스 등 외신에 따르면, 허브 서터 ISO C++ 위원회 위원장은 개발자 컨퍼런스 Cpp콘(CppCon)에서 C++ 26이 언어의 새로운 시대를 열 것이라고 발표했다.

허브 서터 위원장은 C++ 26 표준의 핵심 요소로 ▲컴파일 타임 리플렉션 ▲메모리 안전성 강화 ▲언어 단순화 ▲표준 라이브러리 현대화를 꼽았다.

C++

컴파일 타임 리플렉션은 소스코드를 앱으로 만드는 컴파일 단계에서 프로그램 구조를 분석하는 기능이다. 분석한 구조를 바탕으로 오류를 방지하거나 앱 내 반복 업무를 자동화하고, 필요한 코드를 자동으로 생성할 수 있다.

특히 소스코드를 앱으로 만든 후에 구조를 분석하는 기존 런타임 리플렉션과 달리 컴파일 단계에서 모든 구조를 미리 파악하고 필요한 작업을 처리할 수 있어 속도, 안전성, 편의성이 향상된다는 점이 장점이다.

허브 서터 위원장은 "컴파일 타임 리플렉션은 C++ 현대화와 생산성 향상이라는 목표를 실현하는 핵심 기능 중 하나"라며 "게임 개발, 금융 등 고성능, 안전성, 생산성을 요구하는 분야에 필수적이 될 것"이라며 C++ 역사상 가장 영향력 있는 기능 중 하나라고 평가했다.

C++의 취약점으로 지적되던 메모리 안전성을 강화하는 기능도 추가될 예정이다. 위원회측은 성능 저하 없이 메모리 안전성을 보장해 C++의 기존 단점을 해결하는 것을 목표로 한다.

메모리 접근 오류를 방지하기 위해 더 많은 컴파일 타임 검사를 추가하고, 안전한 포인터 관리 및 기본 데이터 타입 처리를 강화할 방침이다.

언어의 복잡성을 줄이기 위해 소스코드의 가독성을 높이고 유지보수성을 강화하는 새로운 문법을 도입할 예정이다.

이를 위해 함수나 클래스의 사전 조건, 사후 조건, 불변 조건 등을 명시적으로 정의할 수 있는 계약(Contracts) 기능을 도입해 코드의 명확성과 안정성을 높일 계획이다.

컴파일 타임 리플렉션을 활용해 반복적인 코딩 작업을 줄이고, 표준 라이브러리에 새로운 모듈과 헤더를 추가하며 기존 기능을 개선해 복잡한 기능을 손쉽게 구현할 수 있도록 지원한다.

개발자들은 C++ 26의 새로운 기능이 언어의 장기적인 발전에 기여할 것이라고 평가하고 있다. 특히, 컴파일 타임 리플렉션과 계약 프로그래밍은 코드 작성의 효율성을 높이고 복잡성을 줄이는 데 도움을 줄 것으로 기대된다.

그러나 일부 개발자들은 추가되는 신규 기능으로 인해 언어의 복잡성이 증가하거나 기존 소스코드와의 호환성 문제가 발생할 가능성에 대해 우려를 표하기도 했다.

이에 대해 허브 서터 위원장은 "C++ 26이 C++의 새로운 시대를 여는 전환점이 될 것"이라고 강조했다.

관련기사

C++ 기술 표준은 C++ 프로그래밍 언어의 기능, 문법, 라이브러리, 그리고 컴파일러와의 동작 방식을 정의한 공식적인 사양을 의미한다. 이는 C++ 언어의 일관성, 이식성, 품질을 보장하기 위해 국제 표준화 기구인 ISO/IEC에 의해 관리된다.

기술 표준은 IT 기술 발전으로 새롭게 등장하는 기술이나 장비 등을 효율적이고 일관되게 구현할 수 있도록 약 3년 주기로 갱신된다. C++ 26은 이름에서 알 수 있듯이 2026년 중반 공개를 목표로 표준화 작업이 진행 중이다.