Trawling

Herb Sutter, C++26 표준안 부결의 핵심 원인으로 Stroustrup 반대 지목

Herb Sutter는 WG21의 C++26 Contracts 합의보다 Bjarne Stroustrup의 반대가 ISO 국가 회원기구 표결에서 더 큰 무게를 얻어 DIS 부결로 이어졌다고 분석합니다. 그는 반대 로비가 반대한 국가 회원기구 수를 두 배 이상 늘렸다고 주장하며, C++29 논의에서는 우려를 확인할 구현·배포 결과를 측정 가능한 기준으로 미리 정하자고 제안합니다.

Herb Sutter는 2026년 10월 31일 WG21에 제출한 문서 P4454R0에서 C++26 국제표준안(DIS) 표결 부결의 핵심 원인으로 Contracts 설계 논쟁 자체보다 WG21 합의와 Bjarne Stroustrup의 반대가 맞선 상황을 들었습니다. Sutter는 ISO 국가 회원기구(NB)가 위원회의 합의보다 C++ 창시자의 반대에 더 큰 무게를 뒀다고 분석합니다. 문서는 어느 쪽 설계가 기술적으로 옳은지 다시 판정하기보다, 창시자의 반대가 DIS 표결에 미친 영향을 설명합니다.

C++ 표준안은 WG21에서 논의한 뒤 ISO 국가 회원기구가 DIS 단계에서 표결합니다. Sutter는 Contracts를 C++26에 넣자는 WG21의 지지를 ‘90% 합의’라고 표현했습니다. 그는 WG21 출범 36년 동안 창시자가 강한 위원회 합의에 반대하고 그 합의안의 DIS 승인을 거부한 사례가 처음이라고 썼습니다. Sutter가 새롭게 본 점은 국가 회원기구가 위원회의 기술적 합의와 창시자의 반대를 함께 접한 뒤 후자의 판단에 더 무게를 뒀다는 것입니다.

Sutter는 표결 전 반대 로비가 결과를 바꾼 경로도 설명했습니다. 그가 아는 범위에서 다섯 명이 추가 반대표를 모으는 조직적 캠페인을 벌였고, 그가 본 반대 로비 메시지마다 Stroustrup의 입장이 핵심 근거로 등장했습니다. DIS에 반대한 국가 회원기구의 절반 이상은 WG21에 참여한 적이 없거나 C++26 Contracts에 대한 우려를 앞서 제기하지 않았다고 Sutter는 썼습니다. 그는 로비로 반대 국가 회원기구 수가 두 배 이상으로 늘었고, 이 변화가 표결 결과를 바꿨다고 판단합니다. 이 수치와 인과관계는 Sutter가 확보한 정보와 관찰에 근거한 분석입니다.

Stroustrup의 반대 근거를 설명하며 Sutter는 안전성 우려, 계약 위반 처리의 제약, 핵심 기능 일부가 구현 정의에 맡겨지는 점, 컴파일러 설정에 따라 의미가 달라질 수 있다는 주장을 제시했습니다. P4454R0는 이 기술적 쟁점을 다시 판정하기보다 Stroustrup의 견해가 표결에서 어떤 역할을 했는지에 초점을 둡니다.

향후 Contracts 논의를 위해 Sutter는 지지자와 반대자가 어떤 구현·배포 결과를 우려의 확인이나 반증으로 받아들일지 미리 정하고, 이를 측정 가능한 기준으로 써 두자고 제안합니다. Contracts는 C++29 작업 초안에도 현 WG21 합의로 포함돼 있으며, Sutter는 이를 바꾸려면 새로운 정보가 필요하다고 설명합니다. 그는 예측으로 표현한 이견은 경험으로 검토할 수 있지만, 취향에 따른 이견은 경험만으로 해소하기 어렵다고 덧붙였습니다.

참고 자료

오류 제보