C++은 주객이 전도된 언어입니다. 프로그래밍 언어는

어렵고 난해한 문제를 가급적 컴퓨터가 처리하도록 하고

프로그래머가 부담하는 비용은 최소화 하는 데에

그 설계목적이 있습니다.


C++은 이에 반해 기존 OOP에는 없는 복잡하고

다양한 개념을 도입, 가능하다면 그런 특성을

최대한 적용해서 프로그래밍 하라고 유혹합니다.

프로그래머에게 당신의 지적 상상력을 최대한 발휘해서

몸값을 올리는 복잡한 코딩을 해보라고 강요합니다.


그러나 현실은 어떤가요. C++에 자신만만한 그 어떤 개발자도

남들이 짠 C++ 코드를 유지보수하거나 해석하기를 꺼려합니다.

심지어 본인이 작성한 C++코드조차 일정시간이 지난 후에

다시 손 댈 수 없는 지경에 이르기도 합니다.

이는 대부분 C++의 함정에 빠진 것입니다.


프로그래밍은 어렵고 복잡한 일을 컴퓨터에게 시키고자

하는 데에 그 목적이 있습니다. 그러나 C++로 작성하게 되면

오히려 프로그래머가 덫에 빠져서 온갖 복잡한 추상화의 해석을

떠안으면서 논리 버그에 시달리게 됩니다.