서문

이 문서는 Rust 언어의 에디션 가이드입니다! "에디션"은 Rust에 찾아오는 큰 변화들을 나타내는 말입니다.

이 가이드에서 우리는 다음과 같은 것들에 대해서 이야기 할 것입니다:

  • "에디션"이란 무엇인가요
  • 각각의 에디션에 대해서
  • 새로운 에디션으로 코드를 어떻게 이식하나요

참고로 Rust 표준 라이브러리는 각각의 Rust Release에 맞춰서 개발됩니다. 이 가이드에서 우리는 굵직하고 중요한 신규요소들에 대해서만 다룰건데요, 새롭게 추가되었지만 이 가이드에서 다루어지지 않은 수없이 많은 기능들이 있으니 꼭 찾아보세요! 관심있으시다면 표준 라이브러리 문서를 참고하시면 됩니다.

한국어판을 읽으시는 분들께

이 문서는 서로 다른 러스트 에디션들간의 간극을 효과적으로 메우기 위해 만들어진 러스트 에디션 가이드의 한국어판입니다. 혹시 여러분이 러스트 언어를 처음 접하시는 거라면 공식 러스트 언어 책을 먼저 읽어보시길 권합니다. 이 가이드는 이미 러스트를 쓰고 계시는 분들께 러스트의 새로운 에디션에 추가된 신규사항들을 쉽고 빠르게 보여드리기 위해서 만들어졌습니다.

아래는 제가 Rust 에디션 가이드를 번역하면서 내린 결정들입니다. 읽으면서 참고하시면 될 것 같습니다.

  1. 1대1 직역보다는 동일한 의미를 가진 의역 사용

초기에는 1대1 직역을 고집하려 하였으나, 번역 작업을 하다보니 직역을 하게 되면 문체가 너무 영어 번역체같아져버려서 가독성을 해치는 것을 발견하였습니다. 최대한 원문의 의미를 그대로 유지한 채로 능력껏 의역을 하였고, 혹시 읽으시는 도중에 오역을 발견하신다면 yyang542@wisc.edu 또는 yegeunyang@gmail.com으로 연락 주시면 감사드리겠습니다.

  1. 모든 단어를 100%한국어로 번역하는 것이 아닌, 단어별 취사선택

특정한 단어들은 영어 단어를 그대로 쓰는 것이 더 낫다고 생각합니다. 예를 들어, backward compatibility, idiomatic code, nightly, struct, enum, trait object 등등입니다. 번역에 있어서 일관성을 유지하기 위해서 이런 단어들은 표를 만들어서 아래와 같이 관리하고 있습니다.

영어단어
Rust 러스트 프로그래밍 언어
Release 주기적으로 발표되는 러스트의 신규버전
Backward compatibility 과거의 코드가 계속 잘 동작되도록 보장하는것
crate 러스트 프로젝트
dependency 의존성 라이브러리
stable 러스트 안정 버전
beta 러스트 베타 버전
nightly 러스트 개발 버전
Cargo 러스트 패키지 관리 툴
idiomatic code 잘 쓰인 러스트 코드