개발 & 기술/기타 언어

Rust 5분 입문 — 왜 다들 Rust로 갈아타나

Lumin 2026. 6. 12. 19:32
반응형

요즘 IT 뉴스를 보면 "Rust(러스트)"라는 단어가 부쩍 자주 등장합니다. 마이크로소프트는 윈도우 일부를 Rust로 다시 쓰고 있고, 리눅스 커널에도 Rust 코드가 들어갔습니다. Stack Overflow 개발자 설문에서는 무려 9년 연속 "가장 사랑받는 언어" 1위를 기록했습니다.

그런데 막상 "Rust가 뭐냐"고 물으면 답이 어렵습니다. 이 글은 코드를 한 번도 짜본 적 없는 분도 따라올 수 있게, 비유와 비교 위주로 풀어봤습니다. 5분만 투자하면 왜 업계가 이 언어에 빠져 있는지 감이 잡히실 겁니다.

Rust가 뭐길래 이 난리인가

Rust는 속도와 안전성을 동시에 잡으려고 만든 시스템 프로그래밍 언어입니다. 2010년 모질라(Firefox 만든 곳)에서 시작해, 지금은 독립 재단이 운영합니다.

"시스템 프로그래밍 언어"라는 말이 어렵게 들리실 수 있는데, 쉽게 말하면 운영체제·브라우저 엔진·게임 엔진처럼 컴퓨터 깊숙한 부분을 다루는 코드를 짜는 언어입니다. 지금까지는 C·C++가 이 영역을 거의 독점했습니다.

문제는 C/C++가 너무 위험하다는 점이었습니다. 한 줄만 잘못 써도 시스템이 통째로 뻗거나 해킹 통로가 열립니다. 마이크로소프트와 구글이 자체 분석한 바에 따르면, 자사 보안 취약점의 약 70%가 메모리 관련 버그였습니다. Rust는 바로 이 문제를 언어 차원에서 막아주겠다고 등장했습니다.

C++·Go·Python과 뭐가 다른가

말로만 비교하면 와닿지 않으니 표로 정리했습니다.

항목 C/C++ Python Go Rust
실행 속도 매우 빠름 느림 빠름 매우 빠름
메모리 안전성 위험 안전(자동) 안전(자동) 안전(컴파일 시 검증)
배우는 난이도 어려움 쉬움 쉬움 어려움
실행 방식 컴파일 인터프리터 컴파일 컴파일
가비지 컬렉터 없음 있음 있음 없음

여기서 가비지 컬렉터(GC)라는 말이 처음 나오는데, 비유하자면 이렇습니다.

💡 가비지 컬렉터는 프로그램이 쓰고 버린 메모리를 자동으로 치워주는 청소부 같은 존재입니다. 편리하지만, 청소하는 동안 잠깐씩 프로그램이 멈추는 단점이 있습니다.

Python·Go·Java는 이 청소부를 두는 대신 약간의 성능을 포기했습니다. C/C++는 청소부 없이 개발자가 직접 다 치우라고 합니다(그러다 실수하면 보안 사고). Rust는 컴파일러가 미리 코드를 읽고 "이건 언제 치워야 한다"를 자동으로 판단합니다. 청소부도 없고, 사람이 실수할 일도 없습니다.

이게 Rust의 핵심 발명품인 소유권(Ownership) 시스템입니다.

소유권이라는 독특한 발상

소유권은 Rust가 메모리 안전을 보장하는 방식입니다. 개념만 잡고 가시면 됩니다.

비유하자면 도서관 책 한 권과 같습니다.

[규칙 1] 책 한 권의 주인은 항상 한 명
[규칙 2] 주인이 다른 사람에게 빌려주면, 주인은 그동안 책을 못 봄
[규칙 3] 주인이 자리를 뜨면 책은 자동 반납됨

C++는 "이 책을 누가 가지고 있는지"를 개발자가 머릿속으로 추적해야 합니다. 큰 프로젝트에서는 사실상 불가능하고, 그래서 버그가 납니다.

Rust는 이 규칙을 컴파일러(코드를 검사하고 실행 파일로 바꿔주는 프로그램)가 강제로 검사합니다. 규칙을 어긴 코드는 아예 컴파일이 안 됩니다. 그래서 처음 Rust를 배우는 분들이 "컴파일러가 자꾸 화낸다"고 하는 거고, 익숙해지면 "런타임에 터질 버그를 미리 잡아준다"고 좋아합니다.

누가 실제로 쓰고 있나

이름값으로 보면 이미 메이저 언어입니다.

  • 마이크로소프트: 윈도우 커널의 일부를 Rust로 재작성 중 (2023년 공식 발표)
  • 리눅스 커널: 6.1 버전부터 Rust 코드 공식 지원 (2022년 12월)
  • 구글: 안드로이드 신규 시스템 컴포넌트를 Rust로 작성, 메모리 취약점 크게 감소했다고 발표
  • AWS: Firecracker(서버리스 가상화)·Bottlerocket(컨테이너 OS) 모두 Rust
  • 디스코드: 핵심 서비스를 Go에서 Rust로 이전 (지연 시간 대폭 개선)
  • Cloudflare·Dropbox·Figma: 성능 민감한 부분을 Rust로 작성
Stack Overflow 2024 개발자 설문 기준, Rust는 9년 연속 "Most Admired Language" 1위입니다. 써본 사람의 약 83%가 계속 쓰고 싶다고 답했습니다.

어디에 쓰면 좋고, 어디엔 안 맞는가

Rust가 만능은 아닙니다. 솔직히 말하면 러닝 커브가 가파릅니다. 아래처럼 골라 쓰는 게 현실적입니다.

적합한 분야 굳이 Rust 아니어도 되는 분야
운영체제·드라이버·임베디드 간단한 웹사이트
게임 엔진·그래픽 처리 데이터 분석·머신러닝 학습
블록체인·암호화 빠른 프로토타입·MVP
고성능 백엔드 서버 자동화 스크립트
WebAssembly(브라우저용 고속 코드) 단순 CRUD 앱

예를 들어 블로그 글을 자동으로 정리해주는 작은 스크립트를 짤 거라면 Python이 10배 빠릅니다(타이핑하는 시간 기준으로요). 반면 매초 수십만 건의 요청을 처리하는 결제 게이트웨이를 만든다면 Rust가 빛납니다.

처음엔 헷갈렸는데, 결국 "성능이 진짜로 중요한가, 아니면 충분한가"가 기준입니다.

5분 만에 첫 코드 돌려보기

설치는 공식 사이트(rust-lang.org)에서 한 줄짜리 명령어로 끝납니다. 맥/리눅스라면 터미널(검은 화면에 명령어를 입력하는 프로그램)에 아래를 붙여넣으면 됩니다.

curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh

위 명령은 rustup이라는 Rust 설치 관리자를 내려받아 실행하는 뜻입니다. 윈도우는 공식 사이트에서 설치 파일(.exe)을 받아 클릭만 하면 됩니다. 약 2~5분 걸립니다.

설치가 끝나면 첫 프로젝트를 만들어봅니다.

cargo new hello_rust
cd hello_rust
cargo run

세 줄 요약:

  1. cargo new: 새 프로젝트 폴더 생성 (cargo는 Rust 공식 빌드 도구)
  2. cd: 그 폴더로 들어가기
  3. cargo run: 코드 실행

화면에 Hello, world!가 출력되면 성공입니다. 솔직히 이 과정 자체는 Python보다 약간 더 매끄럽습니다. 왜냐하면 cargo가 패키지 관리·빌드·실행·테스트를 한 도구로 다 해주거든요. (Python은 pip, venv, pytest 등을 따로 써야 합니다.)

비개발자가 Rust를 배워야 할까

솔직한 답: 첫 언어로는 추천하지 않습니다.

Rust는 이미 프로그래밍을 어느 정도 아는 사람이 "더 안전하고 빠르게" 짜기 위해 배우는 언어에 가깝습니다. 비유하자면 수동 변속 스포츠카 같은 느낌입니다. 운전 자체가 처음이라면 자동 변속(Python)부터 익히는 게 합리적입니다.

다만 IT 트렌드를 따라가고 싶은 비개발자라면 "Rust가 왜 뜨는지" 정도는 알아두면 큰 도움이 됩니다. 앞으로 5~10년간 시스템 소프트웨어 채용 공고, 오픈소스 프로젝트, 보안 뉴스에서 계속 보게 될 이름이거든요.

순서를 추천드리자면:

프로그래밍 첫 입문        → Python
웹 풀스택 한 번 해보기   → JavaScript
백엔드·인프라로 확장     → Go 또는 Rust
저수준·성능 끝까지 가기  → Rust

마무리

Rust는 "C++의 속도 + Python 수준의 안전성"을 동시에 노린 야심작입니다. 가비지 컬렉터 없이도 메모리 안전을 보장하는 소유권 시스템이 핵심이고, 그 덕에 마이크로소프트·구글·리눅스 같은 거대한 시스템에 빠르게 침투하고 있습니다.

배우기는 분명 어렵습니다. 그래도 한 번 익혀두면 향후 10년간 가치가 떨어지지 않을 언어라는 점은 분명해 보입니다.

당장 코딩에 뛰어들 계획이 없더라도, 다음에 "이 회사 Rust로 옮긴대" 같은 뉴스를 보면 이제 무슨 의미인지 감이 오실 겁니다. 더 깊이 들어가고 싶으시다면 공식 무료 교재인 "The Rust Programming Language"(통칭 The Book)부터 펼쳐보시길 추천드립니다.

반응형