언어와 설계의 분리 (Language ≠ Design)
Concept (개념)lectureverified2026-05-09

언어와 설계의 분리 (Language ≠ Design)

별칭: 언어와 설계의 분리 · Language Design Separation

#vch#principle#lecture-intro

언어와 설계의 분리 (Language ≠ Design)

프로그래밍 언어는 집행 매체. 설계는 사고 행위. 둘은 본질이 다르다.


1. 한 줄 정의

언어와 설계의 분리 = 프로그래밍 언어는 컴파일러·AI 가 이해하는 매체이지만, 설계사람이 문제를 분해하는 사고 행위. 두 영역은 70 년간 항상 별도의 도구를 가졌다.

2. 분리의 증거 — 시대별 기록

시대언어 (집행 매체)설계 (사고 도구)
1950sFORTRAN플로차트 + 의사결정표
1970sCHIPO + DFD
1990sJavaUML
2010sPythonScrum + 사용자 스토리
2020sPython (AI)CLAUDE.md + Spec-driven

→ 모든 시대에 두 영역이 동시에 존재. 한 영역이 다른 영역을 대체한 적 없음.

3. 분리가 무너지는 듯 보였던 순간 (반례 분석)

3.1. 코드 자체가 설계다 운동 (1990s 애자일)

  • 주장: "훌륭한 코드는 자기 자신이 설계 문서다"
  • 결과: 일정 부분 사실. 그러나 팀 협업 + 장기 유지보수에서는 별도 설계 도구 필수
  • 결론: 분리 무너지지 않음

3.2. Self-Documenting Code (2000s)

  • 주장: 변수명·함수명을 잘 지으면 주석 불필요
  • 결과: 코드 내부 구조에는 적용. 시스템 아키텍처에는 적용 ❌
  • 결론: 분리 유지

3.3. AI 시대 (2024~)

  • 주장: "자연어로 AI 한테 시키면 그게 코드"
  • 결과: 자연어 = 언어가 아니라 새로운 설계 매체. 즉 언어와 설계가 다시 분리되어 언어 = AI 가 만든 Python·Rust, 설계 = 자연어 (CLAUDE.md, Spec).
  • 결론: 분리 재확인

4. AI 시대의 통찰 (★ 강의 결론)

자연어가 마지막 추상화 계단. 그러나 자연어 자체는 언어가 아니라 설계 매체. AI 가 자연어 → Python·Rust 로 번역하는 시대에:

  • 언어 = AI 출력 (Python, Rust, etc.)
  • 설계 = AI 입력 (CLAUDE.md, Spec, Plan-First)

→ 본 분리가 70 년 만에 가장 명확해짐.

entity/natural-language-prompt · entity/claude-md-agents-md · entity/spec-driven-development

5. 강의 활용

이 concept 은 강의 본론 진입의 전환점:

"여러분이 자연어로 AI 에게 시키는 그 순간, 여러분은 언어를 작성하는 게 아닙니다. 설계를 작성하는 겁니다. 그래서 강의 표어가 설계 없이는 코딩이 안된다 입니다."

lesson/vch-intro-master-design-永 · concept/no-design-no-code

6. 출처