본문 바로가기
C++

C와 C++이 백악관에서 더 이상 사용하지 않게 된 이유

by Warehaus 2024. 3. 17.

이 사진은 C와 무관하다.

 

 

C와 C++을 그만 사용해야 하는 이유

 

 

최근 ciokorea.com 에서 발행한 뉴스기사 중 재밌는 글을 보았다.

 

제목은 백악관, 'C'와 'C++' 사용 중단 촉구··· 전문가들 "시의적절한 권고"  였는데,

사실 예전부터 계속 나오던 얘기이기는 하다.

 

기사가 궁금한 분들은 아래 링크를 확인해 보자

 

백악관, 'C'와 'C++' 사용 중단 촉구··· 전문가들 "시의적절한 권고"

바이든 행정부가 버퍼 오버플로 및 기타 메모리 액세스 취약성을 유발하는 프로그래밍 언어에서 벗어날 것을 촉구했다. Image Cr

www.ciokorea.com

 

 

C, C++ 이 보안적으로 문제가 있고 이러쿵저러쿵..

 

우리는 메모리를 관리하는 언어를 사용해야 하며

go 나 rust가 그런 것이다!

 

이런 주장이 대부분이었다.

 

사실 틀린 말은 하나도 없고

이번에도 귀에 피가 나도록 듣던 얘기 그대로다.

 

조 바이든 행정부에서 개발자들에게 C, C++ 좀 그만 쓰라고 하는 얘기를 했다는 내용이다.

 

메모리 안전 프로그래밍 언어(memory-safe programming languages )를 사용하라는 권고다.

 

제목을 좀 자극적으로 적었나 싶은데, 사실은 행정부에서 권고를 하는 상황인 것이지

이제 쓰면 안 되니까 총 맞을 각오 해라 뭐 이런 상황은 아니다.

 

백악관에서는 메모리 취약성을 문제가 된다고 생각하는 것 같다.

사실 요즘같이 메모리 관리를 잘해주는 판국에.. 굳이 위험한 언어를 왜 쓰냐 이런 느낌?

 

"러스트, C#, Go, Java, Ruby, Swift" 는 무료로 해줍니다.

 

 

 

실제로 MS, Google 연구에서도 보안 취약점 70%는 메모리 안전 문제라고 하니 말 다했다.

 

 

 

 

그래도 쓰는 이유..

 

솔직히 메모리 관리해 주면 편한 거 모르나..

개발자도 너무 바꾸고 싶다.

 

문제는 시간과 돈이다.

 

"It's the economy, stupid"

- 빌 클린턴

 

 

일단 기존 C, C++로 작성된 레거시들이 너무나 많고 그것들을 다른 언어로 대체하는데 시간이 걸린다.

그리고 리눅스부터 C, C++ 로 발라져 있는데..

쉽지가 않은 이야기이다.

 

기존 언어로 개발을 해도 목표달성이 어려운데

언어까지 바꿔가면서 새로운 기능을 만드는 게 비즈니스 적으로 상당히 난도가 높다.

 

회사는 그런 프로젝트에 투자할 돈이 없을 것이다.

AI 하겠다고 기존 인력 쫓아내는 마당에..

 

바꾸고 싶으면 반도체 보조금처럼 뭐 좀 주시면서 얘기를 하셔야 하지 않을까 싶다.

 

그나마 요즘 google은 정말 go를 많이 쓰고 있는 것 같다.

 

 

 

그래서 어쩌라고

 

 

내 생각에는 기존 코드 고쳐서 비즈니스 망치는 멍청이는 드물 것이라 생각한다.

다들 비슷하게 생각하겠지만, 새로 시작하는 프로젝트는 새로운 언어를 사용하는 것을 고민해 보자.

 

이런저런 이해관계 때문에 언어 바꾸는 게 쉽지 않겠지만

개발자면 도전 한번 해볼 만하지 않을까?

 

C++ 하던 나는 고민이 된다.

 

Go로 넘어가야 할지... Rust로 가야할지..

 

 

 

 

[프로그래밍 언어] Go 언어 시작하기, 환경설정 - Hello world

안녕하세요 warehouse 입니다. 최근 프로젝트를 진행하면서 Go 언어를 접하게 되었습니다. C++, Python 위주로 사용하였으나, 일부 모듈에서 Go 언어의 도입이 필요했기 때문인데요. Go는 이미 꽤나 많

armin.tistory.com

 

 

리눅스에서 C++ 프로그래밍을 위한 gcc, g++ 의 개념과 활용

리눅스에서 C++ 코드를 작성하고 이를 바이너리로 만들기 위해서는 gcc 또는 g++ 이 필요하다. 오늘은 이 도구들의 개념에 대해 알아보고, 어떻게 사용하는지 알아보고자 한다. 전공자라면 학교에

armin.tistory.com