C++ 창시자 "바꿔야 할 건 언어가 아니라 개발자의 사고 방식" 작성일 05-12 73 목록 <div id="layerTranslateNotice" style="display:none;"></div> <strong class="summary_view" data-translation="true">"AI가 코드를 대신 짜도, 문제 해결은 인간 몫"…AI 시대 속 C++ 존재 이유 강조</strong> <div class="article_view" data-translation-body="true" data-tiara-layer="article_body" data-tiara-action-name="본문이미지확대_클릭"> <section dmcf-sid="34ZF0QA8N3"> <p contents-hash="f1b2990fd5fc2729b4e5b7e41e7f2217427b39786ac0cf58ee5429241b23727a" dmcf-pid="0nq9VahLAF" dmcf-ptype="general">(지디넷코리아=남혁우 기자)"C++는 대체될 수 있는 언어가 아닙니다. 우리가 진정으로 바꾸려는 게 무엇인지 묻는다면, 그것은 언어가 아니라 개발자의 사고 체계일지도 모릅니다."</p> <p contents-hash="d1ad67305f7cefd4809436d79b3887cb0f0103a4f48f4e884512f536deb96429" dmcf-pid="pLB2fNlojt" dmcf-ptype="general">C++ 창시자인 콜롬비아대학 비아네 스트롭스트룹 교수는 12일 데브클래스와의 인터뷰에서 인공지능(AI)과 신생 언어들이 주도하는 개발 환경의 변화 속에서도 C++의 존재 이유는 여전히 유효하다고 강조하며 언어의 문제가 아니라 사고 방식의 전환이 진정한 과제라고 지적했다.</p> <p contents-hash="57d2da2bd299abd228ddea4f67803575d3a1de1fccc4d9e0f6a41d3b6ece90c4" dmcf-pid="UobV4jSgo1" dmcf-ptype="general">그는 현재의 소프트웨어(SW) 생태계가 '편의성'과 '속도'에 지나치게 치우쳐 있으며 그 결과 언어와 개발 방법론의 핵심 원칙이 약화되고 있다고 진단했다.</p> <figure class="figure_frm origin_fig" contents-hash="d3c8c0fd393be54fcfc28578acbeddea26453e4fe02d294cded9b2a6b4d75eb6" dmcf-pid="ugKf8AvaN5" dmcf-ptype="figure"> <p class="link_figure"><img alt="C++ 창시자 비아네 스트롭스트룹(이미지=콜롬비아 대학교)" class="thumb_g_article" data-org-src="https://t1.daumcdn.net/news/202505/12/ZDNetKorea/20250512111011252foxq.jpg" data-org-width="640" dmcf-mid="F80diI1mk0" dmcf-mtype="image" height="auto" src="https://img3.daumcdn.net/thumb/R658x0.q70/?fname=https://t1.daumcdn.net/news/202505/12/ZDNetKorea/20250512111011252foxq.jpg" width="658"></p> <figcaption class="txt_caption default_figure"> C++ 창시자 비아네 스트롭스트룹(이미지=콜롬비아 대학교) </figcaption> </figure> <p contents-hash="aadcf4ce35e04936f5c94ada2e4c9a3fbf82f0901e58203735212a7dbced2d11" dmcf-pid="7a946cTNoZ" dmcf-ptype="general">스트롭스트룹은 특히 AI 기반 코드 생성 도구들이 "생각 없이 코딩하는 습관"을 확산시키고 있다고 지적했다. 그는 "AI는 이미 존재하는 코드를 학습하고 재조합하는 데 특화돼 있다"며 "그 결과 과거의 잘못된 패턴, 낡은 스타일이 그대로 반복될 가능성이 크다"고 밝혔다.</p> <p contents-hash="612abfe30644cc5e72893aab6073a8dbe0c4c70eed7d8b208194612c00127cb9" dmcf-pid="zN28PkyjgX" dmcf-ptype="general">이에 대한 근거로 그는 GPT 기반의 코드 생성기가 생 포인터(raw pointer)나 전통적 배열 포인터 전달처럼 C++에서 오랫동안 지양돼 온 방식들을 여전히 제안하고 있다고 지적했다. 이러한 도구들이 오히려 현대적인 C++ 철학, 즉 안전하고 표현력 높은 코드를 작성하려는 흐름을 방해할 수 있다는 설명이다.</p> <p contents-hash="de3ef58ad1ae0b76b18e7272b3c2d0f4084c78124aa425ed5dcd249b3181df6e" dmcf-pid="qjV6QEWAAH" dmcf-ptype="general">이에 그는 AI가 제공하는 '정답처럼 보이는 코드'에 의존하는 개발자들이 늘어날수록 프로그래밍의 본질인 문제 인식과 추상화 설계 능력은 퇴화할 수밖에 없다고 경고했다.</p> <p contents-hash="5e966132656658c20f069ba53a8649ecdea346371637439e3553ceb6e2a0a224" dmcf-pid="BAfPxDYckG" dmcf-ptype="general">더불어 그는 "좋은 개발자는 문제를 정의하고 그에 맞는 모델을 구성할 수 있어야 한다"며 "코딩은 그 결과물에 불과하다며 문제 인식 자체를 AI에 위임하는 순간 개발자는 더 이상 기술자가 아니다"고 단언했다.</p> <p contents-hash="db7b3c670a095645be3a1cd1bd72bcaedae97560722455d726742445f01311a4" dmcf-pid="bc4QMwGkAY" dmcf-ptype="general">스트롭스트룹 교수는 AI 시대에 새로운 언어를 만들거나 기존 언어를 폐기하려는 시도에 대해서도 강한 입장을 보였다. 그는 "언어의 일부 기능이 위험하다고 해서 그 기능 자체를 제거하거나 언어를 대체하는 것이 정답은 아니다"고 말했다.</p> <p contents-hash="b92580b1c7f1259b1b2a592675b9870e7eecbd3e9c89806a09dbcdc616a5e87c" dmcf-pid="Kk8xRrHEcW" dmcf-ptype="general">C++는 분명 복잡하고 때로는 위험할 수 있는 기능들을 제공하지만 바로 그 기능들이야말로 고성능 시스템, 실시간 제어, 대규모 분산 처리와 같은 중요한 영역에서 반드시 필요한 도구들이라고 설명했다.</p> <p contents-hash="92c8ab3d5867e40c2eddf433093b0a70172bf6f29770724eea9bc30a515d01a1" dmcf-pid="9E6MemXDAy" dmcf-ptype="general">또 스트롭스트룹 교수는 AI와 같은 기술의 발전이 반드시 개발자의 전문성을 위협하는 방식으로 흘러가지 않기를 바란다고 강조했다. AI는 코드 작성의 생산성을 높이는 데 기여할 수 있지만, 이에 따른 판단 능력의 상실, 기술적 부채의 확산을 막기 위해서는 개발자 스스로가 언어와 설계 원리에 대한 깊은 이해를 갖춰야 한다는 게 그의 입장이다.</p> <p contents-hash="e7033fd8496d8225b42ea46e84b3e0fc2f5ab6a9dec2d2419ab687154d04f0ca" dmcf-pid="2DPRdsZwjT" dmcf-ptype="general">이와 함께 스트롭스트룹 교수는 C++의 메모리 안전성 문제와 이를 이유로 언어를 대체하려는 움직임에 대해 깊은 우려를 표명했다.</p> <p contents-hash="387011ee0f0d31f8e91146fcf7870903aefe5ee38d7711f5eb4927856664dd88" dmcf-pid="VwQeJO5rgv" dmcf-ptype="general">최근 C++의 수동 메모리 관리 특성으로 인해 발생하는 메모리 버그가 보안 취약점의 주요 원인으로 지목되며 이에 따라 러스트 같은 메모리 안전성을 강조하는 언어로의 전환이 논의되고 있다.</p> <p contents-hash="556978618bed8e4c930bd00e9d1dc3b0fb75117c51df7a13a7fb9ee77555c290" dmcf-pid="fAfPxDYcgS" dmcf-ptype="general">스트롭스트룹 교수는 이러한 비판에 대해 C++의 근본적인 설계 철학을 강조하며 대응했다. C++는 초기부터 타입 안전성과 리소스 안전성, 즉 메모리 안전성을 핵심 목표로 삼았다. 또 C++는 진화 가능한 언어로 설계돼 현대적인 기능과 도구를 통해 안전성을 지속적으로 향상시켜 왔다고 강조했다.</p> <p contents-hash="a6cf491554c4a16867a14c4ac3f419aa7a78418d926ca562872b7f0af18fea19" dmcf-pid="4c4QMwGkNl" dmcf-ptype="general">이런 흐름에 맞춰 그는 C++ 내에서 메모리 안전성 문제에 대응하기 위한 전략으로 프로파일 개념을 제안했다.</p> <p contents-hash="d9bb5dfa0564ed3390c55f65f9695305e99cb2e416169a35bd5e6608aa0ede91" dmcf-pid="8k8xRrHEoh" dmcf-ptype="general">스트롭스트룹 교수는 "새로운 언어는 C++만큼의 성능과 제어력, 추상화 범위를 동시에 갖추는 데 실패해왔다"며 "C++가 가진 특성은 단지 오래된 전통이 아니라 고성능 SW개발에 필요한 본질적인 능력"이라고 말했다.</p> <p contents-hash="f2bdcd02958904ddd06845d09c0fa4c592cfae6f5cad45a9e81c1a4b5e8f810b" dmcf-pid="6E6MemXDcC" dmcf-ptype="general">이어 "C++는 대체될 수 있는 언어가 아니다"며 "우리가 진정으로 대체하려는 게 무엇인지 묻는다면 그건 언어가 아니라 개발자의 사고 체계일지도 모른다"고 덧붙였다.</p> <p contents-hash="ada1ae5b434741bdad8a5978b4ad82f2fd876a83437480e092045cfb30c7f7a2" dmcf-pid="PDPRdsZwjI" dmcf-ptype="general">더불어 새로운 언어들이 반드시 마주치는 현실적인 문제로 '상호 운용성'을 지적했다.</p> <p contents-hash="29aaa24c4b1ab949f5c700e5d17722e8e478ddebf2d51c3db739d14bc0ea47ef" dmcf-pid="QwQeJO5rNO" dmcf-ptype="general">그는 "어떤 신생 언어가 성공하려면 C++, 파이썬 같은 기존 언어들과 자연스럽게 연동돼야 한다"며 "그렇지 않으면 결국 우리가 손에 쥐게 되는 것은 서로 교류하기 위해 애쓰는 수많은 불완전한 언어일 수 있다"고 경고했다.</p> <p contents-hash="0c1185abc7f9ec20935e9a5d3ae459738d9dbfa09480515011721b721c6a677f" dmcf-pid="xrxdiI1mas" dmcf-ptype="general">이 같은 주장과 함께 그는 '모던 C++'의 핵심은 새로운 기능을 사용하는 데 있는 것이 아니라 언어의 철학과 스타일을 어떻게 조화롭게 통합하느냐에 있다고 밝혔다.</p> <p contents-hash="cfbcb889ce1e161706127273a7d00251c54a69158fcee6296e6e686d7a9bb7a6" dmcf-pid="ybyHZVLKjm" dmcf-ptype="general">스트롭스트룹 교수는 스마트 포인터, 자동 타입 추론(auto), 콘셉트(concepts), 모듈 시스템(modules) 등 C++11 이후로 언어가 제공하는 수많은 기능들이 단순히 선택적인 옵션이 아니라 안전하고 강력한 SW를 만들기 위한 핵심 구성요소라고 설명했다.</p> <p contents-hash="e4ded1d930049972c8419ead10bd86474dc7e4f26c7a832f14f0ff339f31c5da" dmcf-pid="WKWX5fo9Ar" dmcf-ptype="general">그는 "전통적인 '#인클루드(#include)' 대신 '임포트(import)'를 사용하고 이동 시맨틱과 스마트 포인터를 적극적으로 활용하라"며 "현대적인 C++ 사용법이야말로 개발자의 역량을 유지하고 향상시키는 열쇠"라고 강조했다.</p> <p contents-hash="a8a6eaa0b1c5dd2e4c6f06dbe792f99015e14d71c163548dbf8ce7f49da94cd1" dmcf-pid="Y9YZ14g2ow" dmcf-ptype="general">남혁우 기자(firstblood@zdnet.co.kr)</p> </section> </div> <p class="" data-translation="true">Copyright © 지디넷코리아. 무단전재 및 재배포 금지.</p> 관련자료 이전 스마트폰 '두께 경쟁' 점화…삼성전자, '갤S25 엣지'로 선공 05-12 다음 넵튠 품은 크래프톤, 배그·이터널 리턴으로 e스포츠 강화하나 05-12 댓글 0 등록된 댓글이 없습니다. 로그인한 회원만 댓글 등록이 가능합니다.