[북리뷰] 『러스트 동시성 프로그래밍: Atomic과 Lock으로 안전하고 효율적인 동시성 코드 작성하기』 (한빛미디어)
책 제목: 『러스트 동시성 프로그래밍: Atomic과 Lock으로 안전하고 효율적인 동시성 코드 작성하기』
Atomic과 Lock으로 안전하고 효율적인 동시성 코드 작성하기
내용: IT, 컴퓨터, 동시성, 프로그래밍, 러스트
출판사: 한빛미디어
저자: 마라 보스 저자(글) · 윤인도 번역
출간일 : 2024년 01월 29일
러스트 그리고 동시성 프로그래밍
작년이었던가... 『동시성 프로그래밍 (Concurrent Programming) 』 이라는 책을 접하게 되었고 비슷한 시기 러스트의 기본을 조금 살펴보게 되면서 상당히 매력적인 언어라는 느낌을 많이 받았습니다. Java 나 Python 으로 개발을 해오다가 C, C++ 언어로 넘어온 것이 벌써 4~5년이 되었다보니 자연스럽게 더 저수준의 언어에 대해 호기심이 생기게 되었고 대안으로 러스트가 떠오르면서 조금 더 깊게 알고 싶다는 생각이 들게 되었어요.
이번에 리뷰해 볼 책은 『러스트 동시성 프로그래밍: Atomic과 Lock으로 안전하고 효율적인 동시성 코드 작성하기』 입니다. 직전에 봤던 『동시성 프로그래밍 (Concurrent Programming) 』 와 달리 이 책은 러스트만으로 구성된 책입니다. 그래서 상대적으로 조금 더 얇고 깊은 내용을 담고 있습니다. 처음 동시성 프로그래밍을 공부하는 사람이거나 C언어만 알고 있는 사람이라면 『동시성 프로그래밍 (Concurrent Programming) 』 를 먼저 보거나 함께 보는 것이 더 도움이 될 겁니다. 러스트 기본서와 함께 이 책으로 바로 시작해도 괜찮긴 합니다.
개념보다는 구현 위주
『러스트 동시성 프로그래밍』 은 부제 " Atomic과 Lock으로 안전하고 효율적인 동시성 코드 작성하기 " 에서도 알 수 있듯이 개념 설명의 비중은 많이 줄이고 구현에 초점을 맞춰서 코드를 많이 설명합니다. 개발자는 코드로 이야기하는 직업이니기도 하니 시작부터 코드를 사용하는 방식으로 배우는 것을 선호하는 사람들에게는 더 재미있을 수도 있겠습니다만 너무 개념을 모르는 채로 시작하면 조금 어려울 수도 있을 것 같긴 합니다.
러스트 언어에 대한 설명은 거의 없습니다
이 책은 기본서가 아닙니다. 따라서 러스트라는 언어에 대한 설명과 운영체제 등 컴퓨터에 대한 기본 전공 지식들은 대부분 알고 있다는 것을 가정하고 설명합니다. 따라서 이 기술이 궁금한 사람들에게는 더할나위없이 좋은 책일 수 있습니다만 이제 막 코딩을 배우는 사람들의 입장에서는 상당히 어려운 책일 수 있습니다.
C와 C++을 알고 있다면?!
이 책의 필수 기본 지식은 운영체제와 러스트 정도지만 다른 언어, 특히 C언어나 C++을 알고 있다면 더 많은 내용을 쉽게 이해할 수 있습니다. 아무래도 러스트는 C언어의 대안 중 하나로 떠오르는 언어기도 하니 아마 이 책에 관심을 가진 독자라면 이미 이정도는 예상하고 있을 것이라 생각합니다.
구현에 집중!
CHAPTER 4 스핀 락 구현해보기
CHAPTER 5 채널 구현해보기
CHAPTER 6 Arc 구현해보기
CHAPTER 9 잠금 구현해보기
챕터 제목에서도 알 수 있듯이 동시성 프로그래밍에 필요한 다양한 기술들을 직접 구현하는데 집중하는 방식으로 목차가 구성되어 있습니다. 코드가 많다보니 직접 구현하면서 따라해도 좋지만 이런 류의 책은 손코딩으로 넘겨가면서 봐도 재밌게 읽을 수 있습니다. 그러기 위해선 당연히 언어에 익숙해야겠지만요.
하드웨어와 가까운 언어 "러스트"
고수준의 언어들 Java, C# 등도 운영체제에 대한 지식을 당연히 알아야하긴 하지만 아무래도 저수준의 언어인 러스트나 C언어들보다는 상대적으로 덜 한 부분이 분명히 있습니다. 운영체제의 종류나 환경에도 크게 영향을 받고 직접적으로 시스템콜 등을 통해 접근할 수도 있기 때문입니다. 이 책에서도 대부분은 동시성 관련 기술의 구현 위주의 설명을 하지만 커널 관점에서 구현을 위해 운영체제 지식이나 프로세서에 대한 이야기도 하고 있습니다.
러스트라는 언어... 보면 볼수록 매력있는 언어인 것 같습니다.
남들 다 하는 파이썬이나 자바보다 다른 언어에 관심을 가지는 것이 좋은 것인지 (그래도 나름 러스트도 꽤 인기있는 것 같긴 합니다..)는 모르겠습니다만 새로운 것을 배우는 것은 항상 즐겁네요.
끝.
"한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다."