효과적인 러스트 코드 활용을 위한 35가지 방법
2024년 10월에 출간된 한빛미디어의 <이펙티브 러스트>에 대해 알아보겠습니다. 이 책의 부제는 효과적인 러스트 코드 활용을 위한 35가지 방법입니다.
이 책의 저자는 데이비드 드라이스데일(David Drysdale) 님이며, 구글에서 소프트웨어 엔지니어로 근무하고 있습니다. 이 책의 아마존 평가 점수는 놀랍게도 만점을 받고 있으며, 국내 서점에서 평가 점수는 교보문고, YES24 그리고 한빛미디어에서 4점대 중후반(5점 만점 기준)으로 높은 점수를 받고 있습니다.
이 책의 역자는 남기혁 님으로 기존 리팩터링 2판 외 다양한 책을 번역한 경험이 있으며, 번역 품질은 책을 읽는 데 불편함을 느끼지 못했습니다.
<이펙티브 러스트>는 약 340여 페이지로 구성되어 있으며, 휴대하면서 보기에 불편함을 느끼진 않을 것 같습니다. 전자책도 출간되어 있으므로 뷰어가 있으신 분은 전자책으로 보는 것도 좋을 것 같습니다.
한빛미디어의 도서 지원을 받아 작성한 리뷰입니다.
한빛미디어에서 제공해 준 책을 읽고 작성했음을 밝힙니다.
이 책은 저자의 홈페이지에 원서가 공개되어 있습니다. 하지만 이 책의 내용이 쉽지 않기 때문에 개인적으로는 번역되어 나온 이 책을 보는 것을 추천하고 싶습니다.
제목에서 유추할 수 있듯이, 책의 구성이 <이펙티브 C++>와 닮아 있습니다. 이 책은 6개의 챕터 35개의 아이템으로 구성되어 있습니다. 챕터 1에서는 타입 시스템에 대해 다루고, 챕터 2는 트레이트에 대해 소개하고, 다른 언어와의 차이점 등을 제시합니다. 챕터 3은 러스트를 학습할 때 진입 장벽으로 느껴지는 대여 검사(Borrow Check)와 수명 검사(Lifetime check)에 대해 이야기하며, 멀티스레드, 리플렉션 등을 사용할 때 다른 언어와의 차이점 등을 소개합니다. 필자는 러스트 타입시스템과, 아이템 14, 15장의 내용이 좋았습니다.
챕터 4는 러스트 패키지 생태계에 대해 이야기하고 있으며, 챕터 5는 러스트 컴파일러를 비롯한 다양한 도구들에 대해 다룹니다. 마지막으로 챕터 6은 러스트 표준 환경이 아닌 곳에서의 활용 방안에 대해 이야기합니다. 예를 들어, 크로스 컴파일이라던가, 외부 함수 인터페이스를 활용하여 다른 언어로 컴파일된 코드와 연동 등이 있습니다.
<이펙티브 러스트>는 우선 러스트 언어에 대한 경험이 있는 분들이 읽으면 많은 도움을 받을 수 있을 것으로 생각합니다. 이 책을 읽고 난 후, 러스트에 대한 이해도가 한층 더 높아질 것입니다. 러스트 경험이 없는 독자들은 기본서(러스트 프로그래밍 공식가이드)를 읽고 어느 정도 경험을 쌓은 후 이 책을 보는 것을 추천합니다.
러스트는 C++처럼 학습하기 쉬운 언어가 아닙니다. 하지만 매력적인 언어임에는 분명하며, 러스트 입문서를 읽고 러스트에 흥미가 생겼을 때 이 책을 읽는 것을 추천합니다.
러스트는 모질라 재단에서 2010년 7월 처음 발표되었으며, 2021년 2월부터 러스트 재단으로 분리되어 관리되고 있습니다. 원래 그레이든 호어(Graydon Hoare)의 개인 프로젝트로 시작되어 현재는 많은 개발자에게 관심과 사랑을 받는 언어로 성장했습니다.
C++와 같이 러스트는 학습하기 쉬운 언어는 아닙니다. 하지만 매력적인 언어임에는 분명합니다. 아직 시장 점유율은 낮은 편이지만, 아마존, 마이크로소프트, 페이스 북 등 점점 사용하는 곳이 늘어나고 있어 앞으로 점유율이 올라갈 것으로 기대되고 있습니다. 국내 기업들의 관심도 높아지고 있으니 꾸준히 학습하는 것이 좋을 것 같습니다.