Bjarne Stroustrup' Homepage 데니스 리치와 켄 톰슨이 벨연구소에서 C 언어를 개발한 이후 좀더 새로운 언어가 절실히 필요하게 됐는데 이때 B 스트로우스트럽(B Stroustrup)은 현재까지 많은 개발자가 사랑하고 있는 C++를 개발했다. 스트로우스트럽은 1950년 덴마크의 알허스에서 태어났다. 알허스 대학에서 수학과 전산학을 전공하고 1979년 영국의 캠브리지 대학에서 박사학위를 받았다. 분산시스템, 운영체제, 시뮬레이션, 디자인, 프로그래임에 관심이 많은 그는 현재 AT&T연구소에서 연구하고 있다. 스트로우스트럽은 C++를 디자인하고 구현했다. C++를 C언어를 기반으로 객체 지향적 프로그래밍의 요소를 도입한 것으로, C의 본래 장점인 간결함과 저수준 기능을 살리면서 고도로 추상적인 기법을 사용할 수 있게 했다는 점에서 높이 평가받고 있다. 처음에는 C의 전처리기형태로 사용됐으나 근래에는 완벽한 컴파일러로 나오고 있으며, 객체 지향적 프로그래밍에 대한 인식이 확산되면서 C++도 주목받고 있다. 스트로우스트럽은 현존하고 있는 인물로, 우리는 앞으로 그의 삶을 지켜볼 수 있을 것이다. "Bjarne Stroustrup의 IEEE Computer 지(誌)와의 인터뷰" : 김도형 : ...... 평균적인 `C' 프로젝트의 기간이 어느 정도 걸리죠? 약 6개월입니다. 부인과 아이들이 있는 사람이 여유있게 살만큼 충분한 기간이 아닙니다. 동일한 프로젝트를 C++로 설계하면 어떨까요? 1년 내지 2년입니다. 대단하지요? 잘못된 결정이 이 모든 안정된 직업을 가져온 셈입니다. 또 있습니다. 오랜 기간 대학에서 C를 가르치지 않은 결과, 이제 훌륭한 C 프로그래머가 부족합니다. 특히 Unix 시스템 프로그래밍의 전문가가요. 오랫동안 `new' 을 써온 지금, `malloc' 을 제대로 사용할 줄 아는 사람이 몇명이나 될까요? return 값을 체크하느라 신경쓰는 일도 없죠. 실제로 대부분 C++ 프로그래머들은 return 값을 그냥 내버립니다. `-1' 을 쓰는 일은 이제 추억이 되었습니다. 적어도 `throw', `catch', `try' 같은 걸 쫓아다니지 않고도 에러가 있다는 걸 알 수 있던 시절이었죠 ....... 그럴까요? C 프로젝트 계획과 C++ 프로젝트 계획의 차이를 아십니까? C++ 프로젝트의 계획 단계가 3배는 길게 걸립니다. 어떤 부분이 inherit를 해야 하고 어떤 부분이 안되는지 정확히 가려내야 합니다. 그리고 나서는, 여전히 뭔가 잘못되어있지요. C 프로그램에서 memory leaks이 있을 수 있습니까? 지금은 이걸 찾는게 회사들의 중요 일이 되었습니다. 대부분 회사들이 포기하고는 그냥 제품을 내놓습니다. leak이 있다는 걸 다 알면서도 단지 그걸 찾아내는 비용을 줄이기 위해서 입니다....... 글쎄요. 말씀 드렸듯이 C++ 는 이제 전성기를 지났습니다. 정상적인 회사라면 선행 시도(pilot trial)을 안해보고 C++ 프로젝트를 착수하지 않을 겁니다. 이를 통해서 재앙으로 가는 길이라는 걸 확인할 수 있어야 합니다 ........ -----이런 말두 있네-- 이 글은 실제 인터뷰 과정에서 일어난 일이 아니라 누군가가 장난으로 만든 가공의 인터뷰라고 개인적으로는 생각된다. 실제 IEEE Computer 지 1998년 1월호에는 스트러스트럽의 인터뷰가 없다. 그러나 그 내용은 대단히 재미있고 정곡을 찌르는 말이 많다. (김도형 주)