Rust — 메모리 안전을 컴파일러가 증명하는 시스템 언어
1. 요약
Rust는 2006년 Mozilla의 Graydon Hoare가 개인 프로젝트로 시작한 시스템 언어다. 2009년 Mozilla 공식 후원 → 2010년 7월 Mozilla 연차 회의에서 첫 공개 → 2015년 5월 Rust 1.0 안정 버전 → 2026년 현재 시스템 프로그래밍의 차세대 표준 으로 자리잡았다. 이름은 부식되지 않는 곰팡이류 에서 따왔다는 설이 유력하다.
2. 배경 — C++의 좌절한 개발자들
2000년대 후반 시스템 프로그래밍은 여전히 C·C++가 지배했지만 메모리 누수·use-after-free·data race 같은 버그가 지속적으로 발생했다. Microsoft 보안 연구에 따르면 CVE의 70% 이상이 메모리 안전 위반 에서 기록되었다.
Hoare는 후일 Rust를 "C++로 좌절한 개발자를 위한 언어" 라고 표현했다. 그가 박으려 한 것은 Garbage Collection 없이도 메모리 안전을 보장하는 시스템 이다.
이론적 토대는 학계에 있었다. AT&T Bell Labs와 Cornell의 Cyclone 언어, 영역 기반 메모리 관리(region-based memory management) 연구가 직접 영향을 줬다. 30년 학술 연구가 산업 언어로 기록된 사례다.
3. 핵심 특징
- Ownership system — 모든 값에 단 한 명의 소유자. 빌림(borrow)은 컴파일러가 검사.
- Borrow checker — "누가·언제·어떻게 값을 사용하는지* 컴파일 시점에 추적.
- No GC — 자동 메모리 관리 없이도 안전. 시스템 프로그래밍에 적합.
- Zero-cost abstractions — 추상이 런타임 비용을 박지 않음.
- Traits — Haskell type class에서 영감. Scala implicit과 같은 계열.
- Fearless concurrency — 데이터 경쟁(data race)을 컴파일러가 거부.
- Cargo + crates.io — "Rust의 NPM". 2016년 기록됨. 1.5배 큰 생태계.
4. 주 용도
- 2015~2018: Mozilla Servo 브라우저 엔진·Firefox 일부 컴포넌트
- 2018~2022: AWS Firecracker (마이크로 VM)·Cloudflare 시스템·Discord 백엔드
- 2022~현재: Linux Kernel 공식 채택 (2022) — C 외 첫 시스템 언어. Microsoft Windows 커널 일부도 Rust로 이전.
- 2024~현재: Python·JavaScript 도구 체인의 Rust 화 (Ruff·Biome·Turbopack·Rolldown)
5. 시대 설계 도구 매핑
Rust는 "타입 시스템이 안전을 증명한다" 는 Haskell의 원리를 시스템 프로그래밍에 박은 언어다. C에서 런타임 디버깅 으로 풀던 문제를 컴파일 시점 증명 으로 옮겼다.
이는 설계의 위치 이동 의 결정적 사례다.
- C 시대: 설계 = 코드 + 머릿속 + 테스트
- C++ 시대: 설계 = 코드 + UML + 테스트
- Rust 시대: 설계 = 타입 시스템 + 컴파일러 + 테스트
또한 Rust는 "러닝 커브가 가팔라도 안전이 우선이면 산업이 받아들인다" 는 점을 증명했다. 2026년 Stack Overflow 설문에서 9년 연속 most loved language 1위를 박았다.
6. 강의 활용
Rust는 강의의 "설계가 컴파일러에 박히는 시대" 를 보여주는 사례다. C 시대 "메모리 잘 관리하라" 는 문서·교육·코드 리뷰 로만 강제했다. Rust는 "메모리 잘 관리하지 않으면 컴파일 자체가 안 된다" 로 박았다. 설계가 도구에 기록된 것이다.
이는 Vibe Coding 시대의 Spec-driven Development 와 정확히 같은 원리다. "명세 없이는 AI가 코드를 박지 않는다" — Rust 컴파일러가 타입 명세 없이는 코드를 박지 않는 것과 똑같다.
또한 Rust의 Borrow Checker 는 "기계가 인간의 설계 의도를 검증한다" 는 패러다임의 산업적 첫 박음이다. LLM이 Spec Kit·CLAUDE.md를 검증하는 시대는 Rust가 박은 길의 연장선이다.
마지막으로 Rust의 Cargo 생태계는 "좋은 도구가 좋은 설계를 기록한다" 의 증거다. 2010년 등장한 신생 언어가 10년 만에 Linux Kernel에 기록된 비결은 언어 자체가 아니라 Cargo·Crates·rustfmt·Clippy 같은 설계 강제 도구 였다. 강의에서 "AI 에이전트 시대의 도구 생태계가 곧 설계 강제력" 을 설명할 때 Rust는 가장 좋은 비교 사례다.
출처
- Rust (programming language) - Wikipedia
- Rust Creator Graydon Hoare on system programming - Packt
- Rust Creator Graydon Hoare - The New Stack
- 10 years of Rust - heise online
그룹 시리즈
→ synthesis/group-g6 (시대 그룹 종합 카드)