1. 소개(Introduction) - 1.10.0
환영합니다! 이 책은 당신에게 Rust 프로그래밍 언어에 대해 알려줄 것입니다. Rust는 세 가지 목표(안전성, 속도, 병행성)에 초점을 맞춘 시스템 프로그래밍 언어입니다. Rust는 가비지 콜렉터 없이 이러한 목표를 달성하고 있고, 때문에 다른 언어들이 그다지 훌륭하지 못한 몇 가지 부분에서 강세를 보입니다. 예를 들어 다른 언어에 내장(embedding)시키는 일, 특정한 공간/시간 제약을 갖는 프로그램을 작성하는 일, 장치 드라이버나 운영 체제 등의 로우 레벨 코드를 작성하는 일 등이죠. Rust는 컴파일 타임에 이루어지는 몇 가지 안정성 체크를 통해 런타임 오버헤드를 발생시키지 않으면서도 이러한 목표를 가진 현존하는 언어들보다 뛰어난 성과를 보여줍니다. 또한, Rust는 고수준 언어들이 제공하는 것과 비슷하게 느껴지는 추상화를 제공하면서도 '무비용 추상화_zero-cost abstraction_'을 달성하고자 합니다. 그러면서도, 많은 로우 레벨 언어들처럼 정밀한 제어도 가능케 하죠.
“Rust 프로그래밍 언어”는 여러 단원들로 구분됩니다. 이 소개는 그 중 첫 번째고, 나머지는 다음과 같습니다.
- 시작하기(Getting started) - Rust 개발을 위한 컴퓨터 환경 구축.
- Rust 배우기(Learn Rust) - 작은 프로젝트를 통한 Rust 프로그래밍의 학습.
- 문법과 의미(Syntax and Semantics) - 조그만 조각들로 쪼개서 살펴보는 Rust의 세세한 부분들.
- 효과적인 Rust(Effective Rust) - 훌륭한 Rust 코드를 작성하기 위한 더 높은 수준의 개념들.
- 실험적 Rust(Nightly Rust) - 아직 안정적인 빌드에 포함되지 않은 최신 기능들.
- 용어 해설(Glossary) - 책에서 사용된 용어들의 참조.
- Bibliography - Rust에 영향을 준 배경, Rust 관련 문서.
기여(Contributing)
이 책을 생성하는 원본 파일들은 GitHub에서 찾을 수 있습니다.