내가 듣기로 20년전에도 C++ 부터해서 C가 대체되니 마니 얘기는 많이 나왔음


결론부터 말해주면 C 는 대체불가 언어이고 미래에도 굳건할거야


그렇다고 C가 모든언어의 근본이니 우월하니 이런얘기는 하지 말아

(중요한건 개발자의 두뇌수준이지 언어는 누구나 배우는 거니까 중요한건 아님)




우선 임베디드와 운영체제는 모두 C로 짜여져있어


임베디드 영역이 존나 넓은데 자동차, 항공, 드론, 스마트워치, VR고글등 미래에도 절대 죽지않는 시장이야


또 인터넷시대인데 전세계 인터넷을 담당하는 라우터, 서버는 모두 C 프로그래밍이야 (커널 및 응용프로그램까지)


또 스마트폰시대인데 안드로이드, 애플등 OS 커널도 모두 C 프로그램으로 짜여져있어




그래서 C 가 아직까지 위치가 너무 공고한거야


그러면 러스트가 C 를 대체할수 있느냐?


결론적으론 불가능이야


C 의 대규모 오픈소스를 보면 포인터가 있어서 편리하다 정도가 아니라 포인터 및 자유로운 메모리 엑세스를 기반으로


코드 및 기술이 짜여져있는 오픈소스가 굉장히 많아


unsafe 를 사용해야만 포인터에 접근하는 러스트로는 짤수 없는 코드야


처음부터 새로 짜야 하니까





또 C가 절차지향이라는 것도 옛말인게 요즘 C 오픈소스 프로젝트는 객체지향적으로 짜고 있고


작은 기능별로 모듈화를 시켜서 분리 및 재사용을 하고 있어


C언어 얘기 나올때 어셈블리 운운하는 애들은 진짜 배움이 짧고 무식한 애들이야


어셈블리로 C는 대체할수 있지만 효율이 수백배 이상 차이 나니까 C를 사용하는거고




고급언어로는 C 보다 효율이 좋지만 C를 대체 못하니까 C가 아직 많이 사용되는 거고.


다만 과거 20년전처럼 윈도우기반 프로그래밍을 C로 하는일은 없을거야


하지만 임베디드, OS, 네트워크 쪽은 아직 C 로 하고 있고 이것들은 바뀌지 않을거야


그리고 위 분야들은 미래에도 매우 유망한 분야야




다만 일자리는 점점 줄어들면서 고급화가 될거다


당장 자동차 ECU 를 개발하는 회사, 인력을 봐도 고연봉을 받는 회사들이야


저급인력이 C 로 임베디드 개발하는 분야가 대표적으로 네이게이션인데 이런쪽은


C를 버리고 다른 언어로 바뀔 가능성이 크지


어차피 머리나쁜 저급인력이 쓴다면 어려운 C 를 써서 얻을 이득이 없으니까