태그 : STL
1. 기존 함수기반프로그래밍이었던 C에서는 입력과 출력에 대한 구조가 간결하였으나 (파라메터와 리턴값) 추가적으로 포인터를 이용한 레퍼런스를 따라하기 시작하였습니다. 그러한식으로 객제지향도 발달하고 그로 인해서 블랙박스식의 이용이라 할지언정 서로 알고 있어야 하는 규약들이 늘어났죠. (이건 저번에 템플릿을 좋아하는 이유의 글에서도 잠깐 적었던 적이 있습니다.)
그렇기 때문에 서로 알고 있는 부분이 많은것일수록 빨리 그리고 쉽게 개발을 할수 있겠다는 뜻입니다. 즉 서로가 가장 잘 알고 있는 공통분보로 개발을 하는것이 좋기 때문에 STL을 쓰면 좋다고 저는 생각합니다.
2. STL에서 만들어주는 각종 라이브러리를 사용할수 있으며, 우리가 손대지 않아도 계속 버전업 되고 가장 재밌는건 컴파일러 최적화에 가장 부합될수 있도록 각종 컴파일러들 및 STL구현자들이 노력하고 있다는 부분입니다.
특히 각종 만들어진 알고리즘들과 가장 궁합이 잘맞는(속도 및 안정성)것은 STL이라고 할수 있습니다.
마지막으로, 컴파일러 옵션과 머신에 따라서 프로그램 속도의 차이가 변하는 마당인데 오히려 한곳에서 만든 코드는 컴파일러가 바뀔때마다 틀려질수 있다고 생각합니다.
3. 엄청나게 많은 개발자들이 친절하게 QA를 열심히 해주고 있습니다. 덕분에 어지간한 환경 어지간한 문제는 거의 테스트 되고 있고 만일 되지 않더라도 곧 해결이 가능하다는 점이 있겠습니다.
4. 어떠한 라이브러리보다 일반적인 성능을 기대할 수 있습니다. 위에 컴파일 최적화나 머신에 따른 최적화랑 상당히 겹치는게 아닐까도 싶습니다만 STL만큼 생각보다 각종 변수가 많은 개발환경에서 일정한 성능을 기대할수 있는 라이브러리는 STL이라고 생각하구요, 혹시나 STL구현자가 다르더라도 우리가 숙지하고 있는 명세에 맞춰서 프로그래밍만 하면 STL은 반드시 그 부분을 만족시켜 줄꺼라 생각합니다.
그 외에도 이것저것 많을텐데....제가 생각하는 강력한 장점은 이정도인것 같습니다.
# by | 2009/03/07 04:26 | C++ Template | 트랙백 | 덧글(0)
◀ 이전 페이지 다음 페이지 ▶