rein's world

C++ 0x draft에서 Concept이 빠지다

via Sutter’s Mill: Trip Report: Exit Concepts, Final ISO C++ Draft in ~18 Months

via DDJ The C++ 0x “Remove Concept” decision

H. Sutter는 C++ 0x 최종 드래프트가 내년에 나오려면  올 겨울 안에 — 앞으로 최종 커멘트가 달릴 — 드래프트가 나와야 하고, 이에 따라 Concept이 미뤄져다고(defer) 설명하고 있다. 덤으로 B. Stroustrup은 이게 꽤나 불만이 많은 듯. 이건 안중요하지만 나도 그닥 맘에 안든다.

B. Strousrup의 표현을 빌자면,

C++이 좀 더 단순한 언어로 남아서 기뻐하는 사람들조차 보인다

라는데,

물론 Concept이 전혀 새로운 개념인 것은 맞다. 그렇지만 Java interface 같은 제약 없이도 C++의 템플릿을 최대한 활용할 수 있게 해주는 + 컴파일 시간에 좀 더 유용한 오류 정보 출력 및 오류 검사를 가능케 해주는 기능인데 이번 표준에는 안들어간다니 좀 많이 아쉽다.

ps. 둘 다 얘기하고 있는거지만(아침에 보니 Sutter의 글은 업데이트 되었다), Concept 자체는 “보통의 프로그래머"가 template 이란 어찌보면 C++의 태생과는 상당히 이질적인 개념을 쉽게 쓸 수 있게 해준다였는데. 좀 아쉽다.

그래도 이유 자체가 정치적인게 아니라 “기한 안에 표준을 내자"라니 납득해야하나? 하지만 B. Stroustrup 인터뷰를 보면 표준 라이브러리 명세의 경우 Concept이 없는, 사실상 작년 11월 판으로 일단 돌리고 진행하게 될거라한다. Concept 자체가 의논은 좀 되었지만 “production quality"가 아니라서 앞으로 빠르게 진행이 안되기 때문에 어쩔 수 없다나.