u***
2024-02-25

최고의 성능, 최적의 안전성. 러스트가 선도하는 동시성 프로그래밍의 미래
[BOOK] 러스트 동시성 프로그래밍 - 마라 보스 지음 / 윤인도 옮김

부제: "Atomic과 Lock으로 안전하고 효율적인 동시성 코드 작성하기"
책 표지에 'Atomic과 Lock으로 안전하고 효율적인 동시성 코드 작성하기'라고 씌여있는데 '안전하고 효율적으로 동시성 프로그래밍을 다루는 것'은 러스트의 주요 목표중 하나입니다. 러스트에서는 '겁 없는 동시성(fearless concurrency'이라고 표현합니다. 러스트 특유의 소유권과 타입 시스템을 활용해서 메모리의 안전성과 동시성 문제를 관리할 수 있는 도구들을 제공하고 있습니다.
"러스트 동시성 프로그래밍"은 '겁 없는 동시성'을 위한 러스트의 여러 방법들을 상세히 설명하고 있습니다. "The Rust Programming Language"의 16장에서 다루는 내용들을 책 한 권에 걸쳐서 설명하고 있습니다. (다른 '장'에 있는 내용들도 있지만요.) 기본 문법서에서 다루는 내용들을 조금 더 파고 들어가 어떻게 동작하는지 체계적으로 설명합니다. 또한 내부 동작 원리를 설명하기 위해 프로세서와 운영체제에 대한 설명도 빠뜨리지 않았습니다. "동시성 프로그래밍" 책에서는 Rust, C, 어셈블리어로 설명을 하는데 이 책은 러스트와 어셈블리어로 설명하는데 러스트의 비중이 더 많습니다.
이 책에서 주로 다루는 시스템 프로그래밍은 쉽지 않은 분야입니다. 러스트가 러닝 커브는 있으나 시스템 프로그래밍의 진입장벽을 낮추는 역할을 하고 있는 것은 사실입니다. 고수준 언어의 편리한 문법을 활용할 수 있고, 강력한 컴파일러의 힘으로 저수준 언어의 성능을 보여주면서도 안전합니다. 러스트의 기본 문법을 배운 후에 "동시성 프로그래밍", "러스트 동시성 프로그래밍"으로 확장하며 러스트를 더 깊게 공부하고 싶은 분들에게 권하고 싶은 책입니다. (쉬운 책은 아닙니다.)
"한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다."