빠르고 간단하게 러스트를 맛볼 수 있는 책
최근 러스트를 사용한 프로젝트에 참여할 기회가 생겨 러스트를 배우게 되었다.
무작정 코드를 작성하기보단 기본적인 개념 정도는 훑고 시작하고 싶어서 책을 읽게 되었다.
이번에 읽게 된 책은 위키북스의 <만들면서 배우는 러스트 프로그래밍>이다.
예전에 학부생때 러스트 공식 문서를 읽으면서 기본적인 개념을 살펴본 적이 있었다. 시간이 지난 터라 소유권빼고는 많은 내용이 기억나지 않았다. 역시나 필요할때 배우는게 가장 가성비가 좋은 것 같다.
예전부터 러스트는 많은 관심을 갖고 있었다. 소문대로 뛰어난 언어인지 궁금했고 직접 확인해보고 싶었다. 그래서 여러 책을 찾던 중 이 책을 고르게 되었다.
이 책은 모든 문법을 설명하지 않는다. 우선 작은 예시를 보여준 뒤 이어서 앞에 나온 예제 속 키워드와 원리가 뭔지 설명한다. 그래서 호불호가 갈릴 수 있다. 답답한걸 싫어하는 사람은 불호일 수 있으나 머리보다 키보드로 손이 먼저 가는 분들한테는 좋은 책인 것 같다.
일단 타이핑해보면서 배우는건 꽤 좋은 방법이다. 물론 나중에 모르는 키워드를 찾아보지 않으면 전혀 소용이 없다.
책에는 그외 상당히 흥미로운 예시 프로젝트들이 있다. 웹어셈블리를 활용한 예제와 사운드 관련 예제, 그리고 간단한 채팅 프로젝트도 포함되어있다.
그래서인지 뒤로 갈수록 책읽는 속도가 더뎌진다. 사운드 프로젝트는 관련 코드나 프로젝트를 전혀 해본 적없는 사람들이 많을 거라고 예상한다. 나 역시 사운드와 관련된 코드는 이전에 한 줄도 작성해본 적이 없어서 꽤나 신박했다.
책의 설명 방식이 마음에 들었다.
파이썬과 비교하면서 똑같은 예시를 러스트로 다시 작성한다. 이 부분이 도움이 많이 된다. 많은 개발자가 파이썬을 알고 있기 때문에 쉬운 버전의 코드를 먼저 보고 난 다음 러스트로 작성된 예제를 읽으면서 이해하려고 하면 러스트 문법 중 일부는 저절로 이해가 되기도 한다.
그리고 개인적인 견해지만, 파이썬과 러스트가 꽤 많은 부분에서 닮았다는 생각이 들었다. syntax측면에서 말이다. self 혹은 for문의 간편한 사용법들이 닮았다.
이해가 되지 않았던 부분은 스마트포인터였다. 설명이 다른 챕터에 비해 빈약하기도 했고 주제도 어려웠다. 이 부분은 개인적으로 추가학습이 필요한 부분이다.
이 책의 한계점은 명확하다. 이 책만 가지고 러스트를 능수능란하게 짤 수 없다는 것이다.
책을 읽고나서 좀 더 난이도있는 책을 한권 더 보는게 좋다. 혹은 사이드 프로젝트를 시작하는 것도 좋다. 내 경우는 사이드 프로젝트 대신 직접 업무 중 이슈 해결을 통해 익숙해지고자 한다. 사실 그게 가장 좋은 방법이긴 하다.
책에 다소 아쉬운 부분이 있다. 좀 더 많은 내용을 설명해줬으면 하는 바램이 들었지만 추측해보건데 책의 목적이 간단하게 러스트를 소개하고 빠르게 온보딩할 수 있게 하는 것이라고 생각하기 때문에 적정 밸런스를 맞췄다는 점에서 만족했다.
러스트는 참 매력적인 언어라는 생각이 든다. 소유권과 라이프타임 등 이전에 보지못한 개념이 등장해서 흥미롭다. 문법이 어려워진 이유는 엄격하게 사용하기 위해 코드상에 컴파일러에게 전달할 정보를 명시하기 때문이라는 생각이 든다.
재밌게 잘 읽었다.
퇴근하고 1~2시간씩 본다면 2주안에는 다 볼 수 있는 분량이다.
조만간 러스트를 사용한 프로젝트를 잘 진행할 수 있으면 좋겠다.
좋은 책을 제공해주셔서 감사합니다.
이 책은 아래 교보문고에서 구매할 수 있습니다.
감사합니다.
https://product.kyobobook.co.kr/detail/S000200551107