- 프로그래밍은 모호한 명세를 정밀하게 다듬어 가는 창조 행위로, AI는 영어 명세를 코드로 변환해 이 과정을 가속함
-
‘Vibe coding’ 은 감각적 개발 방식을 가능하게 하지만, 추상화의 누수로 인한 복잡성과 버그 문제를 피할 수 없음
- 인간은 복잡성을 다루기 위해 추상화와 압축을 활용하며, 이는 프로그래밍의 본질적 가치로 작동함
-
AGI 시대에는 AI가 더 나은 추상화를 지원해 정교하고 예술적인 코드 창조를 가능하게 할 전망임
- “코드는 죽었다”는 인식과 달리, AI는 코딩의 종말이 아니라 새로운 시작을 여는 도구로 제시됨
코드의 죽음은 과장된 주장임
-
영어 명세의 모호함과 정밀성의 한계를 지적하며, 프로그래밍은 글쓰기처럼 반복적으로 정밀도를 높여가는 행위임
- Bertrand Russell의 인용문을 통해 “정확히 만들려 시도하기 전까지는 모든 것이 모호하다”는 점을 강조
- AI는 영어로 작성된 명세를 실행 가능한 코드로 빠르게 변환해, 사용자가 점진적으로 원하는 결과를 구체화할 수 있게 함
-
‘Vibe coding’ 은 AI가 생성한 결과물에 반응하며 감각적으로 개발하는 방식이지만, 이는 정확한 추상화의 환상을 줄 수 있음
- 추상화가 누수될 때 예기치 못한 버그가 발생하며, 이는 규모가 커질수록 심각해짐
- Dan Shipper의 사례처럼, ‘vibe coding’으로 만든 협업 텍스트 에디터가 인기를 얻은 뒤 복잡성 문제로 다운된 경험이 소개됨
- “라이브 협업”은 직관적으로 단순해 보이지만 실제로는 매우 어려운 문제로, 복잡성의 본질을 보여줌
추상화와 복잡성의 통제
- 인간은 한 번에 약 7±2개의 항목만 인지할 수 있어, 복잡성을 다루는 유일한 방법은 ‘압축’, 즉 추상화임
- Edsger Dijkstra의 인용문을 통해 “추상화의 목적은 모호함이 아니라 새로운 의미 수준에서의 정밀성”임을 강조
- Sophie Alpert가 Slack의 복잡한 알림 흐름도를 단순화한 사례를 예시로 제시
- 프로그래밍의 핵심은 복잡성을 다루기 위한 더 나은 추상화의 창조이며, 함수형 반응형 프로그래밍 등에서 그 아름다움을 찾을 수 있음
- 협업 텍스트 에디터처럼 본질적으로 복잡한 문제도 ReactJS나 TailwindCSS 같은 추상화 도구를 통해 점진적으로 정복 가능
AGI 시대와 코드의 역할
- AI가 점점 더 빠르고 저렴하게 발전함에 따라, 결국 인간과 구별되지 않는 지능(AGI) 에 도달할 것임
- AGI 시대에는 누구나 ‘Karpathy급 천재 100명’을 저렴하게 활용할 수 있을 정도로 강력한 지능을 이용하게 될 전망
- 그러나 이는 ‘더 많은 부실한 코드’를 양산하기 위한 것이 아니라, 더 나은 추상화와 복잡성 이해를 위한 도구로 사용될 것임
- 코드는 단순히 소프트웨어를 만드는 수단이 아니라, 그 자체로 중요한 예술적 산물이며, 잘 작성된 코드는 시(詩)에 비유됨
- 글쓰기에 ‘vibe writing’이 존재하지 않듯, 코딩 역시 단순한 감각적 행위로 대체될 수 없음
- AGI가 도래하면 기계가 ‘비부실(non-slop)’ 코드를 작성할 수 있게 되며, 이는 인류에게 영광스러운 진전이 될 것임
AI와 코드 품질의 향상
- 현재 AI는 여전히 불완전한 코드를 생성하지만, 개발자들은 이를 감안해 활용하고 있음
- Simon Willison의 견해처럼, AI는 더 나은 코드를 만드는 도구로 사용되어야 함
- AGI가 등장하면 가장 먼저 가장 어려운 추상화 문제 해결에 투입되어, 협업 에디터 라이브러리 등 복잡한 시스템을 개선하게 될 것임
- Opus 4.6을 활용해 Val Town용 풀스택 React 프레임워크(vtrr) 를 개발한 사례가 소개됨
- React Router 7 관련 미해결 문제를 한 번에 해결했으며, 50줄짜리 단일 파일 데모로 복잡성을 우아하게 다룸
- 이처럼 AI와 인간의 협업을 통한 정교한 코드 창조가 가능함을 보여줌
코드의 미래와 형식주의의 가치
- 사회의 다수가 “코드는 죽었다”고 믿지만, 이는 인쇄기의 발명으로 이야기의 종말을 선언하는 것과 같은 오류임
- AI는 코딩의 종말이 아니라 코딩의 새로운 시작을 의미함
- Edsger Dijkstra, Tony Hoare, Charles Babbage의 인용문을 통해 형식적 사고와 기호의 압축력이 인간 사고를 확장시킨다는 점을 강조
- Dijkstra는 형식 언어 사용을 부담이 아닌 특권으로 보아야 한다고 언급
- Hoare는 “결함이 명백히 없는 단순한 설계”와 “결함이 명백하지 않은 복잡한 설계”의 두 가지 접근을 대비
- Babbage는 기호의 압축이 사고를 촉진하는 힘임을 지적
- 결론적으로, 코드는 죽지 않았으며 오히려 AI 시대에 더욱 강력한 창조적 도구로 부상함