C로도 객체 지향 설계나 함수형 프로그래밍 다 가능해... 특화되어 있느냐 아니냐의 차이지....
시스템 개발에 C--나 Forth같은 언어들이 훌륭하긴 하지만 결국에 ABI와 바인딩하려면 별도의 노력이 필요하지
C가 최고의 시스템 개발 언어인 이유는 언어 자체가 시스템의 표준 ABI와 잘 결합되어 있기 때문이지...
사실상 시스템 개발의 기본이 C 컴파일러니까...
오히려 고급 언어는 이게 거의 불가능하고, C++은 표준 ABI가 없기 때문에 한계가 있어...
게다가 C++의 언어 패러다임이가 잡탕이라서 불필요하게 프로그램이 복잡해지는 경향도 있고(예를 들면 boost같은 것들...)
C++ 11 이후로 이게 강형 언어인지 약형 언어인지조차 불분명해졌어... 난 C++ 11 나오고 나서 C++을 아예 접었다...
모든 언어는 각각의 도메인에 특화된 생산성이 있는거야... C의 생산성이 떨어지진 않아...(compiler의 구현이 개떡같지만 않으면 말야)
하지만 trivial한 문제 해결에 추가적인 리소스가 들어가는건 자랑은 아님 ㅇㅇ 장단이 있다는.
개인적으론 ADT를 쓸 때의 가독성이 너무 떨어져서 C++를 씀.
실제로 잘 짜여진 VM 소스를 보면 C++로 짠 것보다 C99으로 짠게 더 compact하다... C++ 개발자들이 괜히 template meta programming 한다고 불필요한 type traits만 주섬주섬 다는 경향이 강함...
ㄴ 캐공감 - _-)b