2009년 03월 07일
C++을 C++스럽게 쓰기??
이펙티브 C++씨를 보면 이러한 내용이 나옵니다.
1. C++에 왔으면 C++의 법을 따릅시다. 라는 장에서 C++의 하위언어에 대한 설명이 나오네요.
C, 객체지향개념의 C++, 템플릿 C++, STL입니다.
여기서 주목해야 하는 부분이 C를 제외한 객체지향C++, 템플릿C++, STL이 삼총사 군입니다.
제가 처음에 C++책을 샀을때는 C스타일의 코드와 C++이 합쳐진 듯한 스타일의 C++책이 전부였던걸로 기억합니다.
그때는 번역서를 안보고 쉽게 설명되있고 한글도 딱딱한 번역서가 아닌 한글책을 보다보니 그런부분이 좀더 있었죠.
근데 재밌는데 비슷한시기에 나온 외국 번역서는 이미 템플릿과 STL이 들어가 있다는 점입니다.
뭐 이건 시간되면 따로 쓰고싶은 주제이긴 합니다만 참 재밌는게 우리나라는 필요한 기술에 도입은 빠른데 그 이후에 좀더 잘 만들기 위한 기술에 도입은 생각이상으로 느리다는 점입니다.
간단한 예를 몇개 들어보자면 미국번역서의 C++책은 아무렇지 않게 템플릿 코드가 나오는부분입니다.
그것도 1990년대 후반책에서요....
또한 JAVA 3D책을 발견하고 뒤적거리던중 미국 아마존에서는 이미 1~5위를 Java 3D군이 휩쓸고 있더군요. 그때 우리나라에 딱 한권이 있었고..음..지금은 2~3권쯤 되던것 같습니다만..오프라인에서는 제가 봤었던 한권 외에는 본적이 없습니다.
하여튼..이런식으로 추가적인 신기술에서는 조금 굼뜬것 같은 느낌이 듭니다.
잘난체를 할려는건 아니고..그냥 근무환경등의 복합적인 문제로 생각해 주시면 감사하겠습니다.
하여튼 외국사람들이 그렇게 템플릿C++과 STL을 고집하는걸 보면 아마도 템플릿의 좀 난애한 가독성과 이해하기 위한 머릿속의 스택들을 뛰어넘은 장점이 있는것이라 생각을 하고 있습니다.
조금 이야기가 벗어났네요. 결론적으로 말씀드리고 싶은건 Ansi C++이 나온이상 최대한 표준스럽게 사용하는게 좋겠다는 뜻입니다. 물론 자기 마음대로 쓸수 있다는게 C++의 가장큰 장점이라고 할 수 있긴 하지만 적어도 그러한건 표준내에서 이루어짐이 맞지 않을까 하는 생각이 들어서 조금 건방져 보이게 글을 쓰게 됬습니다.
C++을 C++스럽게 쓰는건 이펙티브 씨리즈에서 가슴에 와닫도록 잘 설명하고 있으니 스윽 읽으시면 제가 제대로 표현못한 부분을 이해하시게 되지 않을까 싶습니다.
1. C++에 왔으면 C++의 법을 따릅시다. 라는 장에서 C++의 하위언어에 대한 설명이 나오네요.
C, 객체지향개념의 C++, 템플릿 C++, STL입니다.
여기서 주목해야 하는 부분이 C를 제외한 객체지향C++, 템플릿C++, STL이 삼총사 군입니다.
제가 처음에 C++책을 샀을때는 C스타일의 코드와 C++이 합쳐진 듯한 스타일의 C++책이 전부였던걸로 기억합니다.
그때는 번역서를 안보고 쉽게 설명되있고 한글도 딱딱한 번역서가 아닌 한글책을 보다보니 그런부분이 좀더 있었죠.
근데 재밌는데 비슷한시기에 나온 외국 번역서는 이미 템플릿과 STL이 들어가 있다는 점입니다.
뭐 이건 시간되면 따로 쓰고싶은 주제이긴 합니다만 참 재밌는게 우리나라는 필요한 기술에 도입은 빠른데 그 이후에 좀더 잘 만들기 위한 기술에 도입은 생각이상으로 느리다는 점입니다.
간단한 예를 몇개 들어보자면 미국번역서의 C++책은 아무렇지 않게 템플릿 코드가 나오는부분입니다.
그것도 1990년대 후반책에서요....
또한 JAVA 3D책을 발견하고 뒤적거리던중 미국 아마존에서는 이미 1~5위를 Java 3D군이 휩쓸고 있더군요. 그때 우리나라에 딱 한권이 있었고..음..지금은 2~3권쯤 되던것 같습니다만..오프라인에서는 제가 봤었던 한권 외에는 본적이 없습니다.
하여튼..이런식으로 추가적인 신기술에서는 조금 굼뜬것 같은 느낌이 듭니다.
잘난체를 할려는건 아니고..그냥 근무환경등의 복합적인 문제로 생각해 주시면 감사하겠습니다.
하여튼 외국사람들이 그렇게 템플릿C++과 STL을 고집하는걸 보면 아마도 템플릿의 좀 난애한 가독성과 이해하기 위한 머릿속의 스택들을 뛰어넘은 장점이 있는것이라 생각을 하고 있습니다.
조금 이야기가 벗어났네요. 결론적으로 말씀드리고 싶은건 Ansi C++이 나온이상 최대한 표준스럽게 사용하는게 좋겠다는 뜻입니다. 물론 자기 마음대로 쓸수 있다는게 C++의 가장큰 장점이라고 할 수 있긴 하지만 적어도 그러한건 표준내에서 이루어짐이 맞지 않을까 하는 생각이 들어서 조금 건방져 보이게 글을 쓰게 됬습니다.
C++을 C++스럽게 쓰는건 이펙티브 씨리즈에서 가슴에 와닫도록 잘 설명하고 있으니 스윽 읽으시면 제가 제대로 표현못한 부분을 이해하시게 되지 않을까 싶습니다.
# by | 2009/03/07 04:44 | C++ | 트랙백 | 덧글(0)





☞ 내 이글루에 이 글과 관련된 글 쓰기 (트랙백 보내기) [도움말]