에릭 레이먼드의 '더 이상 C는 쓰지 않겠다' 선언을 듣고, 우리가 VBA로 해온 것의 정당성을 깨달은 이야기
요약
에릭 S. 레이먼드가 C 언어 사용 중단을 선언하며 AI 시대 개발 패러다임 변화를 예고했습니다. 이 글은 VBA가 '작성 용이성'이라는 약점을 잃으면서, 오히려 Excel 내부 메모리 직결 및 고속 실행이라는 본연의 강점이 부각됨을 주장합니다. 이는 최첨단 AI 개발 방식과 유사하며, 프로그래머의 역할이 아키텍트로 재정의되고 있음을 강조합니다.
핵심 포인트
- AI 시대에는 '인간에게 쓰기 쉬운 문법'보다 시스템 설계가 중요해진다.
- VBA는 외부 의존성 없이 내부 메모리에 직결되는 압도적 강점을 지닌다.
- 개발자는 코드를 짜는 장인에서 AI를 다루는 아키텍트로 역할이 변화한다.
- 컴파일러와 테스트로 AI의 출력을 검증하는 방식은 최첨단 개발 패러다임이다.
지시문조차 작성하지 않고 표의 병변을 한 번에 고치는 신기능 '매크로 격추(マクロ撃ち)' 개발 과정에서, 터미널로 도피하며 실패만 하던 Gemini가 Claude (Opus)의 모범과 Excel Manager의 전용 레일을 얻어 각성했고, 마지막에는 직접 만든 툴의 완성도에 감탄한 일련의 과정을 기록했습니다.
손안의 개발 환경이 겨우 안정을 되찾고, 26개의 관문 테스트가 전원 통과하는 초록색 화면을 보며 한숨 돌리고 있던 심야, 유튜브에서 IT 해설 영상을 접하게 되었습니다.
화면에 비친 것은 오픈소스계의 살아있는 전설이자, 소프트웨어 공학의 바이블 『伽藍とバザール』의 저자로 알려진 에릭 S. 레이먼드(Eric S. Raymond, 통칭 ESR) 씨의 충격적인 소식이었습니다.
1983년부터 40년 이상 C 언어를 애용하며 수많은 기본 소프트웨어를 만들어 온 순수 해커인 그가 SNS에서 다음과 같이 선언했다고 합니다.
"아마도 다시는 스스로 C 언어 프로그램을 손으로 작성하지 않을 것이다."
그리고 그는 이렇게 덧붙였습니다.
자신은 Rust를 직접 작성하는 문법을 배운 적이 없지만, AI를 사용하면 Rust나 Go의 프로그램을 마법처럼 의도대로 불러낼 수 있게 되었다고 말입니다.
화면을 바라보며 저는 깊은 충격을 받는 동시에, 가슴 속에서 뜨거운 무언가가 차오르는 것을 느꼈습니다.
'이거, 우리가 Excel VBA로 해온 것과 완전히 같지 않아?'
세간으로부터 '구식이다', '이제 와서 인간이 배울 언어가 아니다'라며 거듭 비난받아 온 VBA.
하지만 오픈소스의 거장이 내린 결정과 최신 언어론을 대조해 보니, 우리가 고생하며 진행해 온 개발 방향성이 놀랍도록 정확하게 미래의 궤도에 올라 있었음을 깨달은 것입니다.
오늘 밤 그 이야기를 써보려고 합니다.
'작성 용이성(書きやすさ)'이라는 지표의 종말: 작성 주체가 인간에서 AI로 이동하는 순간, '인간에게 문법이 쓰기 쉬운 언어가 좋은 언어이다'라는 반세기의 상식이 완전히 붕괴했습니다.
VBA의 약점 증발: '구문이 독특해서 배우기 힘들다'는 VBA 최대의 약점은 AI가 코드를 작성하면서 완전히 사라졌습니다. 인간이 손으로 쓰지 않는다면, 문법의 구식함은 일절 단점이 되지 않습니다.
현장에서의 압도적 홈(Home): 약점이 사라진 후에 남은 것은, 'Excel 내부 메모리(프로세스 내)에 직결', '완전 자율/외부 의존 제로', '0.1초의 고속 실행'이라는, 외부 언어로는 절대 흉내 낼 수 없는 VBA 본연의 압도적인 강점뿐이었습니다.
Compiler-in-the-Loop 실천: 확률적으로 거짓말을 하는 AI를 엄격한 컴파일러와 테스트(결정론적 시험관)로 가두어 자기 수정하게 만드는 개발 방식. 우리가 Excel Manager의 린터, VBE 컴파일, 관문 테스트로 돌리던 것은, 바로 최첨단 AI 개발 패러다임 그 자체였습니다.
프로그래머의 재정의: 인간의 일은 '키보드를 두드려 문법을 짜는 장인'에서, '시스템 전체를 설계하고 AI의 고삐를 쥐는 아키텍트'로 불가역적으로 이동했습니다.
에릭 레이먼드의 뉴스가 왜 이렇게 전 세계적으로 화제가 되었을까요?
그것은 그가 과거에는 **'Rust 강력 비판파'**의 선두 주자였기 때문입니다.
Rust라는 언어는 메모리 파괴나 데이터 경쟁(data race)을 컴파일 시에 완전히 막아내는 혁신적인 안전성을 가지고 있습니다.
하지만 그 대가로, 인간에게는 '소유권(ownership)'이나 '빌림 검사기(borrow checker)'라는 극도로 엄격하고 난해한 규칙과의 싸움을 강요합니다.
C 언어라면 몇 분 만에 쓸 수 있는 처리가, 컴파일러의 기분을 상하게 하여 몇 시간 동안 통과하지 못하는 경우도 생깁니다.
레이먼드 자신도 과거에 Rust 학습에 도전했다가 좌절하며, '인간의 생산성을 현저히 저해하는 언어'라고 강하게 비판했었습니다.
그런 그가 2026년 현재, 태도를 바꾸듯 C 언어를 놓아주고 Rust의 결실을 받아들이고 있습니다.
왜일까요?
'AI에게 쓰게 하면, 학습 비용이라는 절벽을 순식간에 뛰어넘을 수 있기 때문입니다.'
인간이 Rust 문법을 암기해서 조금씩 손으로 입력할 필요가 없습니다.
만들고 싶은 사양과 제약을 AI에게 주면, AI가 빌림 검사기의 규칙을 따라 견고한 코드를 순식간에 만들어 줍니다.
레이먼드는 '자신은 Rust 문법을 배운 적이 없다'고 단언했습니다.
문법을 배우는 고생을 1초도 지불하지 않고, Rust의 메모리 안전성이라는 최고의 결실만을 무료로 얻게 된 것입니다.
이 고백이 의미하는 본질은 매우 강렬합니다.
지금까지 프로그래밍 언어의 진화는 항상 '인간에게 얼마나 쓰기 쉽고 읽기 쉬운가'의 역사였습니다.
하지만, 코드를 작성하는 주체가 AI가 된 순간, '인간에게 쓰기 쉬움'이라는 평가 축의 가치는 폭락합니다.
인간이 키보드를 두드리지 않는다면, 문법이 장황하든, 규칙이 과도하게 엄격하든, 인간 측에는 1밀리미터의 고통조차 발생하지 않기 때문입니다.
이 뉴스를 보고 나서 제 머릿속에 가장 먼저 떠오른 것이, 우리가 매일 마주하는 Excel VBA였습니다.
웹 엔지니어나 모던한 언어를 사랑하는 사람들로부터, VBA는 오랜 기간 동안 냉대받아 왔습니다.
'구문이 구식이다.'
'객체 모델이 독특해서 직관적이지 않다.'
'레와 시대에 이제 와서 인간이 공부할 언어가 아니다.'
'Python을 써라.'
말해지는 것 자체는, 인간의 입장에서 보면 사실일지도 모릅니다.
VBE 에디터는 결코 현대적이라고 할 수 없으며, 오류 처리 구문도 독특해서, 인간이 제로(0)부터 타이핑하여 거대한 시스템을 구축하기에는 상당한 인내가 필요합니다.
하지만, 에릭 레이먼드 씨의 논리를 VBA에 적용하는 순간, 세상을 보는 시각이 180도 반전했습니다.
'AI가 코드를 작성한다면, 문법이 구식인 것이 뭐가 문제지?'
AI에게는 VBA의 구문이 오래되었다는 것이 아무런 장애물이 되지 않습니다.
`Worksheets(
영상에서 가장 기술적으로 흥미로웠던 부분은 **'컴파일러-인-더-루프(Compiler-in-the-Loop)'**라는 개념이었습니다.
기존 개발 환경에서 컴파일러는 '사람이 작성한 코드를 기계어로 변환하는 단순 번역기'였습니다.
하지만 AI 시대에 접어들면서, 컴파일러의 역할은 **'AI가 생성한 코드의 정확성을 엄격하게 판별하는 냉혹한 시험관'**으로 진화했습니다.
AI라는 것은 아무리 똑똑해도 본질적으로 '확률적 모델(probabilistic model)'입니다.
괜찮아 보이는 거짓말을 하고, 문법적으로는 그럴싸해 보이지만 치명적인 결함을 포함하는 코드를 출력합니다.
C 언어의 컴파일러는 너무 관대해서 메모리 파괴 위험이 있어도 문법만 맞으면 통과시켜 버리고, AI는 이 거짓말에 속아 시스템이 붕괴됩니다.
하지만 Rust의 컴파일러는 다릅니다.
안전성 규칙을 조금이라도 위반하면 가차 없이 에러를 터뜨리면서, 동시에 '어디를 어떻게 고쳐야 하는지'라는 상세한 힌트를 제시합니다.
AI는 이 에러 메시지를 읽고, 사람의 개입 없이 자율적으로 코드를 수정합니다.
컴파일이 완전히 통과할 때까지, AI와 컴파일러만으로 무한 검증 루프를 초고속으로 회전시킵니다.
사람은 오류가 0인 완성품만 받으면 됩니다.
**'결정론적 규칙(컴파일러)로, 확률적인 AI의 거짓말을 협공하는 것'**이라는 이 방식입니다.
이것을 듣고 저는 무릎을 칠 수밖에 없었습니다.
'세상에, 이게 우리가 엑셀 매니저로 만들어 온 시스템 그 자체잖아?'라고요.
우리가 직접 운영하고 있는 개발 환경을 되돌아보세요.
- VBA 린터(Linter):
대소문자를 임의로 변경하는 VBE의 악랄한 사양(소문자rows오염)을 도구가 미리 감지하여, AI가 부주의하게 코드를 주입하려 할 때 에러를 반환하며 물리적으로 작성을 차단합니다. - 전체 컴파일 (:compile)
코드를 수정한 직후 즉시 VBE의 컴파일 명령을 실행하여, 구문 오류나 미정의 변수를 결정론적으로 찾아내 AI에게 돌려줍니다. - 관문 테스트 (:test/ pytest)
직접 준비한 26개의 관문 테스트(혹은 1,003개의 pytest)를 일괄 실행하여 처리 속도(0.13초), 수정 결과(D31의 에러가 올바르게 130.3원으로 되었는지), 애드인 등록의 완전성을 물리적으로 검증합니다.
AI에게 자유로운 터미널을 주면, 환각 현상을 일으켜 진흙탕에 빠집니다.
하지만 '린터', '전체 컴파일', '관문 테스트'라는 3중의 결정론적 시험관을 준비하고, 그 루프 안에 AI를 가두어 버리면, AI는 놀라울 정도로 순순히 정답 코드를 계속 토해냅니다.
최첨단 언어학에서 '미래의 이상적인 형태'라고 이야기되던 개발 패러다임을, 우리는 가장 흙냄새 나는 엑셀 VBA 세계에서 이미 실전 배치했고, 26개 테스트 전원 통과라는 물증을 제시하고 있었던 것입니다.
이 일련의 과정을 통해 얻은 객관적인 사실과 견해를 정리합니다.
-
오픈소스계의 거장 에릭 S. 레이먼드(Eric S. Raymond)는 40년간 사용한 C 언어 수기 작성을 중단하고, 문법을 모르는 Rust를 AI 경유로 호출하는 개발 스타일로 전환했다고 선언했다.
-
LLM과 AI 에이전트의 발전으로 코드의 문법을 암기하여 타이핑하는 작업 비용은 극적으로 감소했다.
-
외부 프로세스(Python 등)로부터의 엑셀 조작은 프로세스 충돌이나 환경 의존성을 유발하기 쉬운 반면, 프로세스 내부에서 동작하는 VBA(메모리 배열 처리)는 외부 의존성 제로로 0.1초대 초고속 실행이 가능하다.
-
엑셀 매니저에서 린터/전체 컴파일/관문 테스트라는 결정론적 피드백 루프를 돌린 결과, AI에 의한 재작업 제로 개발과 26개 전원 PASS가 실증되었다.
-
언어 선택 기준의 역전: '인간이 쓰기 쉬운가'라는 기준은 과거의 것이 되었으며, '해당 실행 환경에서 오버헤드가 가장 적고 자율적으로 작동하는가'라는 도메인 적합성이 최우선 기준이 된다. - VBA의 역전 승리: 인간에게 요구되는 학습 비용이라는 최대 약점이 AI에 의해 무력화된 결과, 실무 엑셀 현장에서 VBA는 '가장 안전하고, 가장 빠르며, 누구의 환경에서도 작동하는' 최고의 선택지로 남아있다. - 프로그래머 업무 변화: 인간에게 요구되는 것은 문법 암기가 아니라, 메모리나 OS 기초 원리에 기반한 '시스템 설계력'과, AI 출력을 엄격하게 테스트하기 위한 '관문(시험관) 구축력'이다.
본고에서 언급한 'VBA×AI' 개발 접근 방식이 성립하기 위한 현실적인 작동 조건과 경계선을 명확히 하겠습니다.
- Excel 내부에서 완결되는 업무에 한정됨:
VBA가 가장 강력한 것은 어디까지나 'Excel 시트 조작, 양식 클렌징(cleansing), 북 간 대조(matching), 로컬 데이터 가공'이라는 영역 내에서입니다. 웹 크롤링이나 클라우드 API의 대규모 연동, 기계 학습 모델의 훈련 등은 여전히 Python과 같은 외부 생태계가 담당해야 할 영역입니다. -
결정론적인 '관문 테스트(Gate Test)'가 존재함:
AI에게 VBA를 쓰게 한다고 해서 멋진 코드가 저절로 나오는 것은 아닙니다. AI의 거짓을 감지하고 고삐를 당기기 위한 '린터(Linter)', '컴파일 검사', '자동 테스트 스위트'가 갖춰져 있을 때 비로소 Compiler-in-the-Loop의 이점을 100% 누릴 수 있습니다. -
인간 측에 '시스템의 기초 구조'를 파악하는 안목이 있음:
AI가 컴파일러 에러 루프에서 막혔을 때, '애초에 이 설계에서는 참조가 순환하고 있다', '여기는 메모리 배열(Variant)로 일괄 판별해야 한다'와 같이 올바른 방향으로 키를 돌릴 수 있는 아키텍트로서의 판단력은 여전히 인간에게 필수적입니다.
'더 이상 C 언어는 쓰지 않겠다'는 에릭 레이먼드(Eric Raymond) 씨의 말은, 언뜻 보면 오래된 기술의 패배 선언처럼 들릴 수도 있습니다.
하지만 저에게는 정반대로 보였습니다.
그것은 **'인간이 키보드를 두드리며 문법과 사투를 벌이는 고된 밑바닥 작업에서 해방되어, 본래 해야 할 시스템 설계의 즐거움을 되찾았다'**는 엔지니어의 승리 선언이 아니었을까요.
저희가 Excel 현장에서 해왔던 것도 바로 이와 같았습니다.
'VBA 같은 건 시대에 뒤떨어졌다'는 세간의 소음에 흔들리지 않고, 현장에서 가장 빠르고, 가장 확실하게 동료를 정시에 퇴근시킬 수 있는 도구를 추구한 결과, 저희는 Excel 매니저라는 견고한 레일을 구축했고, AI를 그 위에서 달리게 하는 길을 선택했습니다.
인간이 쓰지 않는 시대.
언어의 오래됨 같은 것은 아무 의미가 없습니다.
현장에서 정말 유용하고, 0.1초 만에 결과를 내며, 관문 테스트를 전 건 통과하여 여유로운 모습으로 작동하는 코드.
그것을 만들 수만 있다면, 언어는 무엇이든 좋습니다.
그리고 그 무대가 Excel인 한, 저희는 앞으로도 가슴 펴고 AI와 함께 가장 빠른 VBA를 짜 넣어 나갈 것입니다.
거인의 고백을 들으면서, 저는 직접 만든 Excel 매니저의 도구 상자를 살짝 쓰다듬으며, 확실한 감촉과 함께 깊이 고개를 끄덕였습니다.
AI 자동 생성 콘텐츠
본 콘텐츠는 Qiita AI의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기