Rust 읽을거리

아무 글도 안 쓴지 벌써 삼 개월이 지났다. 아무래도 너무 오래 논거 같아서 뭐라도 써야 할 것 같다. 사실 쓰고 싶은 주제는 많다. 하지만 대부분 주제가 쓰는 데 시간이 걸릴 주제라서 귀찮고, 이번에는 간단하게 Rust를 배우는데 읽기 좋은 자료들을 정리해보도록 하겠다.

Rust는 배우기 어려운 언어로 소문나 있지만, 그런 만큼 Rust 개발 커뮤니티에서 공식적으로 제공하는 문서가 많이 있다. 그중에서 입문자가 읽기 가장 좋은 문서는 RBE라고 불리는 Rust by Example다. RBE는 자세한 설명보다는 실제 코드를 어떻게 짜야 하는지를 보여준다.

RBE를 읽었으면 Rust를 배우기 위해서 Rust Book이라고 불리는 Rust Programming Language를 반드시 읽어야 한다. Rust Book은 Second edition 이후로 Live edition으로 관리되고 있는데, 기초적인 내용부터 Rust를 사용하는 데 꼭 필요한 내용을 담고 있다. 사실 일반적으로는 RBE보다 Rust Book을 먼저 읽는 것을 추천하는데 나는 Rust Book과 RBE 중 어느 쪽을 먼저 읽을지는 취향의 문제라고 생각한다.

그다음은 Rust Standard Library다. Rust 표준 라이브러리를 설명한 문서인데, Rust를 no_std 옵션으로 사용할 것이 아니라면, 반드시 읽어야 하는 문서다. 하지만 라이브러리 매뉴얼이라는 특성상 처음부터 순서대로 읽을 일은 거의 없고 그때그때 필요한 것이 있으면 찾아보는 경우가 대부분이다. 하지만 한 번 처음부터 제대로 읽어보는 것을 추천한다. 특히 표준 라이브러리의 소스로 가는 링크를 제공하는데, 표준 라이브러리는 사실상 Rust를 가장 잘 쓰는 사람들이 짠 코드이기 때문에, 소스코드를 읽으며 배우는 점도 많다. Rust idiom을 배우기 위해서라도 한 번 읽어보는 것이 좋다.

여기까지 읽었으면 Rust에 대한 기본적인 지식은 생겼을 것이다. 여기까지만 해도 Rust로 프로그래밍하는데 별 문제는 없을 것이다. 하지만 Rust를 더 잘 쓰고 싶고, 좋은 코드를 만들고 싶다면 Rust Reference를 읽어보는 것을 추천한다. Rust Reference는 Rust 표준 스펙에 가까울 정도로 Rust의 구현에 대해서 상세하게 설명하고 있다.

Rust Reference까지 읽고 자신이 상급자라고 생각하는 사람을 위해 Rustnomicon이라는 무시무시한 이름을 가진 책도 있다. Rustnomicon의 목적은 unsafe를 어떻게 활용할 수 있는지를 보여주는 것이다. unsafe는 가능하면 피해야 하지만, 경우에 따라서 반드시 사용해야 하는 경우가 있다. 하지만 어디까지나 최후의 수이고, unsafe를 안 쓰고 표현하는 것이 맞다. 따라서 unsafe를 쓰지 않고 어디까지 표현할 수 있는지 알기 전까지는 읽지 않는 것을 추천한다.

댓글

이 블로그의 인기 게시물

[C++] enum class - 안전하고 쓰기 쉬운 enum

Log Aggregator 비교 - Scribe, Flume, Fluentd, logstash

RAII는 무엇인가

[Python] cache 데코레이터로 최적화하기

[Web] SpeechSynthesis - TTS API