c++에 비해 느리다는 c#같은 관리 언어도 사실 요즘 컴퓨팅 파워 생각하면 티도 안 나는 수준이고,


c++이 필요하다는 무거운 작업도 사실 대규모 데이터 처리하는 멀티미디어 작업이 제일 무거운데,


이런거는 요즘 대부분 하드웨어 가속을 받으니 CPU에서 돌아가는 언어의 효율에는 크게 개의치 않음.


그렇다면 극한의 성능과 효율을 추구하는 임베디드 환경에서 C를 누르고 C++을 쓰느냐 하면, 


물론 퓨어한 C보다는 템플릿을 사용한 컴파일 시간 함수(constexpr) 같은 강력한 기능이 많으니 좋기야 더 좋지만,


그런 복잡한 기능을 이루기 위해서 만들어야 하는 컴파일러가 지나치게 복잡하고, 따라서 컴파일러가 올바르게 동작하지 않는 경우도


간혹 있음. 이런 오동작은 임베디드에서 짊어지기에는 너무 큰 위험 부담임.


게다가 그 좋다는 STL도 임베디드 환경에서는 바이너리 용량이나 동적 메모리 문제로 거세를 당하는 셈이고, 프로그램에 


new가 한 번이라도 쓰이는 거기에 엮인 allocator부터 시작해서 의존성이 줄줄이 링크돼서 바이너리 용량이 순식간에 폭발함


결국 임베디드에서는 울며 겨자먹기로 C를 쓸 수밖에 없어용.


상황이 이렇다보니 c++이 재미는 있는데, 레거시를 다루는 것 이외에 과연 더 깊게 팔 가치가 있을까 싶다.


물론 CPU에 가장 의존적인 게임에서는 c++ 밥줄이 끊길 일은 없기야 하겠지만요 ....



그래서 현탐이 진하게 왔는데


c++ 공부 해서 얻다 쓸까요