John Carmack on the Evolution of Programming and AI
The Shift from Pragmatic Coding to 'Code-do'
John Carmack는 수동으로 한 줄씩 코드를 작성하는 행위가 무술의 진화와 유사한 변화를 겪고 있다고 제안합니다. Musashi의 Book of Five Rings와 평행선을 그리며, Carmack는 검술이 전장의 필수 요소에서 스포츠나 역사적 호기심으로 진화한 것을 관찰했습니다. 그는 프로그래밍 기술이 유사한 궤적을 따르고 있다고 가정합니다. 한때 중요했던 작업들, 예를 들어 opcodes를 hex로 직접 조립하는 것과 같은 작업들은 이미 틈새 영역이 되었습니다.
Carmack는 AI가 이러한 추세를 가속화하고 있으며, 수동으로 코드를 작성하는 행위를 "-jitsu" (실용적인 기술/기법)에서 "-do" (길 또는 도)로 이동시키고 있다고 주장합니다. 그는 이를 농담 삼아 "Code-do"라고 부릅니다. 이러한 관점에서, 레트로 컴퓨팅과 수동 코딩에 대한 애정은 여전히 즐거움을 주지만, 현대적인 AI 기반 생산성을 희생하면서 전통적인 방식에 집착하는 개발자들은 더 실용적이고 AI의 힘을 빌린 "아마추어 MMA fighter"에게 패배하는 "세상 물정 모르는 쿵푸 마스터"처럼 될 위험이 있습니다.
Impact on the Software Engineering Workflow
개발 프로세스에 AI가 통합됨에 따라 소프트웨어 엔지니어의 초점이 구문(syntax)과 구현 세부 사항에서 더 높은 수준의 시스템 설계로 이동하고 있습니다.
Transition to Architectural Focus
일부 개발자들은 AI가 타이핑과 IDE와의 상호작용이라는 "우연한 복잡성(accidental complexity)"을 제거하여, 엔지니어가 데이터 구조, 소프트웨어 아키텍처, 알고리즘에 집중할 수 있게 해준다고 주장합니다. 구문과 라이브러리의 특이한 점들에 소비되는 시간을 줄임으로써, AI는 개발자가 프로그램의 정신적 모델을 더 빠르게 실현할 수 있도록 합니다.
The Risk of Skill Atrophy
반대로, 기초 지식의 상실에 대한 상당한 우려가 있습니다. 비판론자들은 동시성(concurrency), 네트워크, 언어 설계와 같이 "어려운 방식으로 기초를 배우는 것"을 건너뛰는 개발자 세대가, AI가 생성한 코드가 실패할 때 복잡한 시스템을 문제 해결하거나 최적화하는 데 필요한 깊이가 부족할 수 있다고 주장합니다.
Critical Perspectives and Counter-Arguments
Carmack의 비유는 프로그래밍의 본질과 AI의 유용성에 초점을 맞추어 기술 커뮤니티 내에서 광범위한 논쟁을 불러일으켰습니다.
Competition vs. Collaboration
여러 비판론자들은 소프트웨어 개발이 경쟁적인 격투 스포츠가 아니라 협업적인 노력이라고 지적합니다. 그들은 프로그래밍의 목적이 단순히 출력을 극대화하거나 "승리"하는 것이 것이 아니라, 지속 가능한 고품질 소프트웨어를 만드는 것이라고 주장합니다.
Tooling vs. Fundamental Change
일부 사람들은 AI가 코딩 자체를 대체하는 것이 아니라, 단지 더 강력한 도구일 뿐이라고 주장합니다. 이는 삽 대신 백호(backhoe)가 등장한 것과 유사합니다. 백호는 대규모 작업에 더 효율적이지만, 삽은 정밀한 작업에 여전히 유용합니다. 다른 이들은 AI로의 전환은 매체의 교체(예: 칼 대신 총이 등장한 것)가 아니라, 코드를 작성하는 주체(누가, 또는 무엇이)가 누구인지의 변화라고 제안합니다.
Dependency and Control
독점적 AI 모델에 대한 의존성에 대한 전략적 우려가가 있습니다. 개발자들은 도구에 대한 "자유"를 원하며, 코드는 생성하는 데 독점적 에이전트를 사용하는 것은 제공업체가 중요한 워크플로우에 대해 "플러그를 뽑을 수" 있는 취약점을 만든다고 언급했습니다.
Quality and Economic Viability
일고의 회의론자들은 AI가 생성한 코드가 인간이 작성한 코드보다 일관되적으로 고품질인지는, 혹은 "토큰을 태우는 것"이 장기적으로 숙련된 인간 엔지니어를 고용하는 것보다 경제적으로 더 타당한지 확신히지 못하고 있습니다.
Sources
관련
- Dispatch
- Dispatch
- Dispatch
- Dispatch
- Dispatch