[BOOK] 러스트 동시성 프로그래밍 – 마라 보스 지음 / 윤인도 옮김
![[BOOK] Rust Atomics and Locks](https://jaewook.blog/wp-content/uploads/2024/02/2024-02-23-09.16.49.jpg?w=300&h=300)
부제: “Atomic과 Lock으로 안전하고 효율적인 동시성 코드 작성하기”
동시성(concurrency)에 대한 부분은 2022년도 4월 “동시성 프로그래밍(Concurrent Programming)“이라는 책으로 접해본 내용입니다. 또한 가짜연구소에서 “The Rust Programming Language“로 스터디를 진행하며 공부한 내용이기도 합니다. 이번에 러스트 동시성을 다룬 책인 “러스트 동시성 프로그래밍”이 번역・출판되어 읽어봤습니다. 분명 공부했던 내용이지만 새롭습니다. 어려운 내용이라서 그런 것이겠죠? 스터디에서도 많은 분들이 힘들어했던 것 같습니다. 🤣
러스트 스터디를 시작하던 작년(2023년) 하반기만 하더라도 러스트에 대한 책은 문법을 중심으로 다루는 기본서가 대부분이었습니다. 러스트에 대해 깊이있는 내용을 다루는 책이 거의 없었던 것 같습니다. 지금은 러스트로 백엔드를 다루는 책도 있고, 동시성 프로그래밍에 대한 책도 출판된 것을 보니 러스트를 사용하는 개발자들이 더 늘어난 것 같아 기쁘기도 합니다. 러스트 언어를 기반으로 다양한 응용 분야를 다루는 책들이 쏟아져 나오면 좋겠네요.
책 표지에 ‘Atomic과 Lock으로 안전하고 효율적인 동시성 코드 작성하기’라고 씌여있는데 ‘안전하고 효율적으로 동시성 프로그래밍을 다루는 것’은 러스트의 주요 목표중 하나입니다. 러스트에서는 ‘겁 없는 동시성(fearless concurrency)‘이라고 표현합니다. 러스트 특유의 소유권과 타입 시스템을 활용해서 메모리의 안전성과 동시성 문제를 관리할 수 있는 도구들을 제공하고 있습니다.
“러스트 동시성 프로그래밍”은 ‘겁 없는 동시성’을 위한 러스트의 여러 방법들을 상세히 설명하고 있습니다. “The Rust Programming Language“의 16장에서 다루는 내용들을 책 한 권에 걸쳐서 설명하고 있습니다. (다른 ‘장’에 있는 내용들도 있지만요.) 기본 문법서에서 다루는 내용들을 조금 더 파고 들어가 어떻게 동작하는지 체계적으로 설명합니다. 또한 내부 동작 원리를 설명하기 위해 프로세서와 운영체제에 대한 설명도 빠뜨리지 않았습니다. “동시성 프로그래밍” 책에서는 Rust, C, 어셈블리어로 설명을 하는데 이 책은 러스트와 어셈블리어로 설명하는데 러스트의 비중이 더 많습니다.
이 책에서 주로 다루는 시스템 프로그래밍은 쉽지 않은 분야입니다. 러스트가 러닝 커브는 있으나 시스템 프로그래밍의 진입장벽을 낮추는 역할을 하고 있는 것은 사실입니다. 고수준 언어의 편리한 문법을 활용할 수 있고, 강력한 컴파일러의 힘으로 저수준 언어의 성능을 보여주면서도 안전합니다. 러스트의 기본 문법을 배운 후에 “동시성 프로그래밍“, “러스트 동시성 프로그래밍”으로 확장하며 러스트를 더 깊게 공부하고 싶은 분들에게 권하고 싶은 책입니다. (쉬운 책은 아닙니다. 😅)
“한빛미디어 [나는 리뷰어다] 활동을 위해서 책을 제공받아 작성된 서평입니다.”