출처 http://jacking.springnote.com/pages/1563294

「Bjarne Stroustrup씨와의 대화」연재를 담당하게 되었습니다, 토요타 타카시라고 합니다.  잘 부탁드리겠습니다.

대화의 상대인 Bjarne Stroustrup씨는 프로그램 언어 「C++」를 설계하여 처음으로 구현한 사람입니다. 그뿐만이 아니고 Stroustrup씨는C++를 국제 표준 프로그램 언어의 지위를 뒤따르게 했습니다. 대단한 에너지의 소유자입니다.

필자는 이 수년 「Stroustrup씨의 삶의 방법으로부터 무엇인가를 배울 수 있는 것은 아닌가」라고 생각해 왔습니다. 그 생각은 매일 마다 열을 띠어 「배울 수 있을 것이다!」 에서 마침내 「우리 나라의 개발자에게 Stroustrup씨의 생각과 삶의 방법 꼭 전해 싶다!」 로 변화해 이번 연재를 시작하기에 이르렀습니다.

본고의 Stroustrup씨와의 대화는 메일 교환을 통해 행해집니다. 기본적으로는 필자가 질문문을 준비하여 Stroustrup씨가 그 질문에 대해서 높은 곳에서부터 코멘트를 보내게 됩니다. C++ 언어의 구문 규칙이나프로그래밍 기술이 아니고 어느 쪽일까라고 말하면 소프트웨어 전반에 관한 Stroustrup씨의 생각을 물어, 프로그램 언어 설계자의 육성을 독자의 분들에게 직접전해 싶습니다. 바쁜 일의 사이나 주말 등에 부담없이 읽어주면 다행입니다.

Bjarne Stroustrup씨

사용자 삽입 이미지

이번 질문 의도

 Stroustrup씨는 여러가지 미디어로부터의 인타뷰 의뢰에 적극적으로 응하고 있습니다(참조 페이지: Inform IT ). 필자는 거의 모든 인타뷰 기사에 대충 훑어보고 있습니다만 하나 신경이 쓰이고 있는 것이 있었습니다. 그것은 Stroustrup씨가 소개 되는 방법입니다.

 어느 미디어는 Stroustrup씨를 C++의 발명자(inventor)나 창조자(creator)로서 소개합니다. 다른 미디어는 설계자(designer)나 구현자(implementer)로서 소개합니다. Stroustrup씨는 이전 「자신은 Simula로부터 많은 아이디어를 빌리고 있다」라고 말하고 있었습니다(참조 페이지: C++설계자의 인품 ). 필자는 Stroustrup씨의 우직하기도 한 겸허한 삶의 방법에 접하여 깊게 감동한 것을 지금도 선명히 기억하고 있습니다. C++의 발명자. C++의 창조자. 본인은 이렇게 소개의 되는 방법을 어떻게 느끼고 있는 것입니까? 를 물었습니다.


Question 1:당신의 직함은?

This is something rather personal. These days media people introduce you to their readers as C++ inventor, C++ creator and the like. How does it sound to you? Are you willing to a ccept the caption C++ inventor? Is it annoying you?

지극히 개인적인 것을 질문합니다. 미디어의 일부는 ”C++발명자” 나 ”C++창조자” 등으로 당신을 소개하고 있습니다만 소개되는 당신 자신은 어떻게 느끼고 있는 것입니까? ”C++발명자”로 불리면 기쁜가요? 그렇지 않으면 곤혹스러운 것인가요?의 회답~1:「C++에는2개의 측면이 있다」

When I can, I say "the design er and original implementer of C++." That's precise and maybe a bit understated because it doesn't mention the 20 years of effort refining and evolving C++, my work in the ISO C++ standards committee, my writings, etc. However, it is still far too verbose for people who want to stick a snappy label on a book cover or under a photograph. In such contexts, there are no room for even the distinction between design and implementation (I think it was essential for C++ that I did both). So it boils down to "if yo u can use only one adjective, which one should it be?" Given that, "creator" and "inventor" don't seem all that bad, even though I think that a short paragraph would be more likely to prevent misinterpretation of my role.

할 수 있다면 C++를 설계하여 최초로 구현한 사람이라고 불러 주었으면 한다고 생각하고 있습니다. 이것이 정확한 것입니다. 그러나, 여기서 한 마디 말하고 싶은 것이 있습니다. 나는 C++를 설계하여 최초로 구현 했습니다. 이것은 사실입니다만 내가 과연 한 역할은 그것 만이 아니다고 하는 것입니다.

나는 이 20년간 C++의 발전에 힘써 ISO의 C++표준화 위원회에서도 적극적으로 활동해 왔습니다. C++를 보급시키기 위해서 방대한 양의 문서를 작성하고 공개해 왔습니다. 유감스럽게 이런 종류의 활동 내용과 성과는 서적의 표지나 얼굴 사진의 주변에 소개될 것은 없습니다. 공간적인 제약이 있습니다.

C++에는 설계와 구현이라고 하는 두개의 면이 있어, 나는 그 양쪽 모두를 완수한 인간입니다.  이것은 지극히 중요한 일입니다만 별로 소개될 것은 없습니다. 결국 「형용사를 하나를 선택한다고 하면 상대적으로 어떤 것이 첫번째 일까?」라고 미디어로부터 타협이 재촉당합니다. ”발명자” 나 ”창조자”라고 소개되어도 어쩔 수 없을 것입니다. 나의 역할을 보충하는 작은 단락을 삽입해 주면 오해 받지 않아도 됩니다만....


사용자 삽입 이미지


In the bigger picture, I hope that those overly short labels are less important than my long-term effort to document the design and evolution of C++:

Bjarne Stroustrup: Evolving a language in and for the real world : C++ 1991-20 06. ACM HOPL-III. June 2007.

B. Stroustrup: A History of C++: 1979-1991. Proc ACM History of Programming Languages conference (HOPL-2). March 1993.

B. Stroustrup: The Design and Evolution of C++. Addison Wesley, ISBN 0-201-54330-3. March 1994.

Those writings focus primarily on the design of C++, but of course they also reflect my roles in its development.

나는 C++의 발전에 오랜 세월 공헌해 왔습니다. 다음과 같은 문서를 작성해 C++의 설계와 진화의 배경을 역사적으로 정리했습니다.

    Bjarne Stroustrup: Evolving a language in and for the real world : C++ 1991-2006. ACM HOPL-III . June 2007.

    B. Stroustrup: A History of C++: 1979-1991 . Proc ACM History of Programming Languages conference (HOPL-2). March 1993.

    B. Stroustrup: The Design and Evolution of C++ . Addison Wesley, ISBN 0-201-54330-3. March 1994.

이러한 오랜 세월의 노력과 실적을 평가해 주시면 제가 붙일 수 있는 작은 라벨은 그만큼 중요하지 않다고 생각합니다. 여기에 소개한 3개의 문서는 C++의 설계에 초점을 맞히고 있습니다만 내가 지금까지 해 왔던 역할을 분명히 나타내 보이고 있습니다.

Stroustrup씨의 회답~2:「소프트웨어의 발전에 대한 본질 부분의 논의는 경시되고 있다」

I think too little emphasis is placed on the documenting the history of programming languages and the fundamental parts of our software development culture. Software is fundamental in our modern world, yet the work on fundamentals is so poorly documented that complete ignorance is almost standard and weird myths are common. For example, I recently tried to find photographs of the designers of the major programming languages. This turned out to be unexpectedly hard: even the Computer History Museum didn't have a complete "set" of decent photos of the designers of the major languages. The history of hardware seems to be better understood and better documented.

프로그램 언어의 역사를 적은 문서가 주목을 받는 것은 거의 없습니다. 소프트웨어의 발전은 문화의 진화라고 하는 면을 겸비하고 있습니다만 그 본질 부분의 논의는 경시되고 있습니다. 소프트웨어는 현대 사회를 아래에서부터 지지하고 있습니다. 

그러나, 이 사실을 알 수 있게 쉽게 설명될 것은 없고 거의 완벽하게 무시되고 있습니다. 결과 정말 표현이 없는 신화가 세상에 횡행하고 있습니다.

나는 최근 주요한 프로그램 언어의 설계자들의 얼굴 사진을 입수하고 싶다고 생각하였습니다. 놀랐던 것은 간단하게 입수할 수가 없었습니다!  컴퓨터 역사관(Computer Histroy Museum)에마저 적당한 사진이 갖추어져 있지 않습니다. 하드웨어의 역사를 알기 쉽게 적은 문서는 그 나름대로 갖추어져 있는 인상을 받습니다만.

사용자 삽입 이미지


대화의 포인트:소프트웨어 업계의 현상에 위기감

「소프트웨어는 현대 사회를 지지하고 있지만 그것은 완벽하게 무시되고 있다」 세계의 IT업계를 20년 이상에 걸쳐 선도해 온 C++설계자가 이러한 인식을 가지고 있는 것에 필자는 정직하게 놀랐습니다.

필자의 주위에는 패키지 소프트를 개발·판매하고 있는 사람들이 있습니다. 그들은 밤낮 노력하면서 「소프트 비즈니스는 어렵다!」라고 이구동성으로 한숨을 쉽니다. 40년 이상에 걸쳐 소프트웨어 하우스를 경영해 온 사람도 있습니다. 「이제 회사 경영을 아드님에게 양보할 생각입니까?」 「아니오.잇게 할 예정은 없습니다!」

Stroustrup씨가 말하듯이 소프트웨어가 해 온 역할이 완벽하게 무시되고 있다고 하면 논리적으로는 소프트웨어 업계는 성장하지 않게 됩니다. 업계에 있는 우리의 지위도 향상하지 않고 비즈니스 수익도 오르지 않습니다. 또, 유능한 인재도 모여 주지 않습니다. 필자 친구의 「잇게 할 예정은 없다」라고 하는 발언도 이것에 기인하고 있는지도 모릅니다. 이것으로는 곤란합니다.

Stroustrup씨의 발언 내용을 몇번이나 몇번이나 다시 읽어 보면 ”설명 책임” 이나 ”설명 능력”이라고 하는 문자열이 떠올라 옵니다. Stroustrup씨의 여러가지 논문을 대충 훑어보고 있으면 「꿈을 실현하기 위해서 활동 내용을 적극적으로 어필하자!」 등과 국제 표준화 위원회등에서 동석하는 지인이나 친구들에게 호소하고 있는 문장을 만납니다. Stroustrup씨는 현상의 본연의 자세에 위기감을 안고 있는 인상을 받습니다. 발언문에 있는 weird myths (표현이 없는 신화)는 구체적으로 어떠한 사상을 가리키고 있겠지요.  weird는 바람직한 단어가 아닙니다. 기회가 있으면 묻고 싶습니다.

Stroustrup씨는 현재 C++입문서를 집필중으로 다음 번은 그 입문서의 특징이나 집필 동기등을 물을 예정입니다. Stroustrup씨는 시판되고 있는C++ 관련 도서에 상당한 불만을 말하고 있었습니다. 현상의 컴퓨터 교육 그 자체에의 불만도 가끔 표명되고 있습니다. C++ 설계자 스스로가 새로 쓰는 입문서는 도대체 어떠한 것일까요. C++ 입문서를 쓰는 것은 Stroustrup씨에게 있어서는 ”설명 책임”을 완수하는 일환이며 중요한 의미를 가지고 있습니다(참조 페이지: 토요타 타카시의 「C++을 배우는 방법」 ). 집필중의 C++ 입문서는 1,000페이지를 넘는 대저라고 합니다. 그 대저에는 어떠한 메세지가 포함되겠지요. 기대하세요!


AND