“한빛미디어 서평단 <나는리뷰어다> 활동을 위해서 책을 협찬받아 작성된 서평입니다.“

러스트는 역시 어렵다. 러닝 커브가 상당하다. 흡사 스칼라를 배울 때가 생각날 정도다. 그런데 그것보다 더 어렵다. 단순하지 않았다. 정교하다보니 익혀야 할 내용이 많다. 그래서 이지 러스트라고 해서 쉽게 쉽게 읽힐 줄 알았다. 오산이었다. 당연히 다른 책에 비하면 저자의 노력과 역자의 노력이 엿보이는, 그래서 읽으면 그래도 읽혀지는 그런 책이다. 하지만 내용만큼은 잘 기억될만큼 녹록하지 않았다.
러스트를 책으로 접한 건 이펙티브 러스트였는데, 읽다가 완전 멘탈이 나갔었다. 기초가 탄탄하지 않으면 저자가 뭔 얘길 하고 싶어하는지 제대로 이해할 수 없었기 때문이다. 이 책을 읽으려면 초심자부터 시작해야겠구나, 하던 차에 이 책을 알게 됐다. “이지”, 쉽게 러스트를 공부할 수 있겠구나 싶어 덥썩 잡았다.
이 책이 문제가 아니다. 러스트가 워낙에나 어려워서 그런 거다. 근간이 C/C++다보니 피할 수 없는 숙명과도 같은 수준이다. 같은 내용을 여러 가지 방법으로 구현할 수 있는, 마치 자유도 빵빵했던 울티마를 하는 느낌같달까? 그래서 너무나 높은 자유도, 그래서 주어지는 여러 가지 기법들, 문법들, 그걸 쉽게 설명하라고? 저자도 무척 애먹었을 것 같다.
아마 일반적인 책 구성이었다면 PART3를 맨 먼저 간단히 나열하고 (준비해보자~) 16장 러스트 사용하기를 넣은 다음 1~9장을 붙이고 나머지 장들을 후반부 또는 부록으로 마무리했을 것 같다. 이런 책들은 사실 초반 사용하기까지 읽고나면 지친다. 책을 읽어야 하는 게 아니라 환경을 설정하고 샘플을 돌릴 수 있는 환경 설정하는 데까지 실제로 해보지 않으면 그냥 무의미한 텍스트의 나열이 될 게 뻔하기 때문이다. 그래서 흥미가 동하지 않는 경우가 많다.
저자는 그런 점을 알고 있었던 게 아닐까? 웹 브라우저를 통해 온전히 코드에 집중해서 실행해 볼 수 있음을 어필하여 준비 단계랄 게 없다고 어깨 한 번 으쓱 하고 넘어갔다. 오호~
아마 3장까지는 그럭저럭 읽어나갔던 것 같다. 그런데 그 뒤로는 영 진도가 안 나간다. 그 장까지는 읽으면서 러스트가 최신 언어에서 좋다고 하는 건 다 갖다 붙여놨구나, 하는 생각이 들었다. 그래서 비교적 쉽게 이해할 수 있었던 거 같은데, 이 소유 개념과 생명주기 개념 등이 엮이기 시작하면서 진도가 안 나간다. 반쯤 이해를 포기하고 끝까지 글자를 읽어나 보자는 마음에 계속 읽어나갔다. 왜 이렇게 이해가 안 가는 게 많지? 다른 언어에서는 한 가지 타입으로, 때로는 숨겨서, 퉁치는데 여기서는 아주 세세하게 나눠서 접근해야 했다. 이런 방식은 C/C++가 주는 그 자유도와 연관된 게 아닐까 싶다. 자바 세계로 넘어왔고, 스칼라와 자바스크립트, 루비 등에 익숙한 본인 입장에서는 그래서 더욱 까다롭게 느껴졌고, 그러다보니 외우고 이해해야 하는 게 너무 많아서 저자가 계속 얘기하는 내용들이 버겁게 느껴졌던 게 아닐까 싶다.
그래서 결론이 뭐다? 저자는 그런 내용들을 잘 알기 때문에 어떻게든 쉽게 눈높이 교육을 하기 위해 노력한 것이다. 그 노력과 그 결과물에는 찬사를 보낸다. 공부해보겠다고 개발자 가이드 서적을 구매해서 보자마자 머릿속이 하얘지는 경험을 한 사람으로, 정말 이것보다 더 쉽게 설명이 가능했을까 싶긴 하다.
“이지”하지만 단시간에 읽을 수는 없어 보인다. 그만큼 방대하기도 하고, 외우고 익숙해져야 할 개념도 많다. 하지만 기초를 원한다면 이 책이 매우 적합하다는 생각이다. 믿기 어렵다면, 개발자 가이드를 보라. 양에 질릴 테다. 그래서 추리고 추려 쓴 이 책이 좋다.
댓글 남기기