C++은 어디로 가고 있는가?

DDJ 에 실린 Bjarne Stroustrup 의 <The C++0x "Remove Concepts" Decision> 을 보면 "Concept" 가 제거되며 C++0x의 일정 역시 연기되어 C++1x로 바뀐다고 한다. 기사에서는 "Concept"를 제거하는 결정을 하게 된 배경을 설명하고 있는데, 5년 정도의 재 작업 후에 다시 들어가리라는 희망에도 불구하고 C++ 위원회가 시대에 뒤쳐진 것은 아닌가 하는 의구심을 버릴 수가 없다. 지금 사용하고 있는 C++표준은 무엇인가? 2003년의 사소한 개정을 제외하면 1998년 표준안을 사용하고 있다. C++1x 가 아무리 빨리 나와도 2010년 이어야 하니까, 두 표준안 사이에 12년 이라는 세월이 놓이게 된다. 지나치지 않은가? 물론 성숙한 언어를 허구한날 바꿔대는 것이 꼭 바람직한 것은 아니다. 아마 C 위원회는 가능하면 바꾸지 않는 것을 원칙으로 삼고 있으리라 생각된다. 하지만 C++1x 에 결국 포함되게 될 기능들을 살펴보면 C++ 위원회는 계속 바꾸겠다는 생각을 갖고 있는 것이 분명하다. Thread, Garbage Collection, Regular Expression, Enum Class, Lambda 등으로 Java 흉내 내는데 12년이 필요하다는 뜻일까? 물론 그 동안 "Concept" 에 매달려 왔고 지금 느끼는 허망함은 "Concept"의 제거로 인해 발생한 것이라는 걸 안다. 하지만 "Concept" 가 뭔가? 잘못된 설계를 바로잡겠다는 뜻 아닌가? Template 에 재갈을 물리겠다는 뜻 아닌가? C++이 걱정된다. C++1x 라는 표준이 영원히 구현되지 않는 죽은 표준이 될까봐, 그리고 그 것이 C++의 끝이 될까봐 걱정된다.