Danny Kalev

최근의 DDJ 기사에서 「ConceptC++0x의 근간을 이루는 신기능이다」라고 쓰고 있지요. 어떤 사람은 C++0x의 「주요 기능」이라고 단언했었어요(N2893. 그렇지만 Concept이 들어가지 않는다고 정한 것은 어쩐지 무정하네요. 예를 들면 Herb Sutter블로그에 쓰고 있습니다만 concept 연기에 관한 Web 상의 코멘트를 읽고 있으면 기술적인 부정확함은 물론이고 C++0xConcept이 들어가지 않는다고 하는 것은 굉장히 중대한 일이라고 생각하고 있는 것 같다. 이상한 일이다」라든가. 결국 Concept 어떻게 되도 상관 없는 것이네요. 어째서 이런 기능에 바보같이 시간과 일손을 소모했습니까?

 

 

Bjarne stroustrup

내가 썼던 것을 전부 인용하면

Concepttemplate의 사용을 보다 논리적으로 하거나 표준 라이브러리의 규격을 고쳐 쓰거나 하는 것에 근간을 이루는 신기능이며 또 제네릭 프로그래밍을 일반적으로도 사용할 수 있도록 하기 위한 주요한 기능이다.

이것은 단지

ConceptC++0x의 근간을 이루는 신기능이다」

라고 하는 것은 꽤 인상이 달라집니다.

그리고 저로서는 concept 자체를 「주요 기능」이라고 말하거나 하지 않았습니다. 그렇다고 하는 것도 어느 하나의 기능만을 가지고 그 언어의 「주요」라고 하는 등이라고 하는 것은 의미를 알 수 없습니다. 대부분의 사람에게 있어서 C++0x의 가장 중요한 신기능이란 병렬처리(concurrency)의 표준 지원이라고 생각하지 말세요. concept과 같이 taskatomic type 등을 직접 사용하는 것은 극히 일부의 프로그래머 뿐이지만 혜택을 받는 사람은 많습니다. C++0x의 개량은 보다 더 프로그램을 쓰거나 개발 환경을 만드는데 도움이 되는 툴에 중점을 두고 있습니다. 단지 그 기능 자체 뿐입이라고 잘라서 말할 수 있는 것은 아닙니다.

제가 생각컨대 concept이란 중요했고 또 장래도 중요하게 될 것입니다. 템플릿의 usability를 향상시켜 제네릭 프로그래밍의 범위를 펼쳐、고품질 라이브러리의 지원을 위한 중요한 기능입니다. 몇 십년의 장기적으로 봐도 중요합니다. 하지만 일반 프로그래머에 있어서 이 앞의 수년의 중요도라고 하는 것은 그만큼은 아닐 것입니다. 손을 쓸 수 없게 되기 전에 concept이 어쩔 수 없이 필요한 시대에 이르기 전에 개량한 concept을 넣을 수도 있을 것입니다.

장기적인 것의 견해가 중요합니다. 원래 Concept은 많은 C++0x의 개량점 중 하나 밖에 지나지 않는 것입니다. 비록 Concept이 없어도 C++0xC++98 보다 아득하게 뛰어난 툴이 될 것입니다.




Bjarne Stroustrup Concept와 미래를 말하다 - 1  http://jacking.tistory.com/443

Bjarne Stroustrup Concept와 미래를 말하다 - 2  http://jacking.tistory.com/467

Bjarne Stroustrup Concept와 미래를 말하다 - 3  http://jacking.tistory.com/474

Bjarne Stroustrup Concept와 미래를 말하다 – 4 http://jacking.tistory.com/559

Bjarne Stroustrup Concept와 미래를 말하다 – 5  http://jacking.tistory.com/652


by 흥배 2010.06.11 08:30