그땐, 그랬지!

내가 진행했던 Go 언어 스터디

부산에서 Go 언어 스터디를 진행했던 때가 2013년 10월이다. 아직 Go 언어가 대중적으로 인기를 얻지 못하고 있을 때라서 많은 분들과 함께 할 순 없었지만 다양한 관심사를 가졌던 개발자분들과 즐거운 스터디 모임을 진행할 수 있었다.

스터디를 진행하면서 내가 겪었던 가장 큰 고행은 ‘문법 구조’가 익숙해지지 않는다는 점이었다. Go 언어에서 제공하는 몇가지 애매한 문법은 손가락으론 받아들일 수 있었으나, 머리로 인정하기 힘들었다. 그래서 기존에 사용하던 언어와 Go 사이에서 우왕좌왕하는 경우가 많았다. 지금은 대용량이라 부르기 민망한 데이터를 ‘캐싱’해주는 작은 독립 모듈(혹은 서비스)을 만들어서 잠시(약 3달) 사용해본게 전부였다.

모듈이라고 말하기도 민망한 그 ‘캐싱’은 다른 오픈 소스 제품으로 교체되었고, 바쁜 나날이라는 허울좋은 핑계 덕분에 Go 언어에 대한 열정은 사그라 들었다.

좋은 문법서의 대표적인 예

신간을 뒤지는 중에 Go 언어 책을 발견했다. 웬일인가 싶어서 클릭을 하고 소개 문구를 읽고 한빛미디어에서 출판한 디스커버리 Go 언어를 구매했다. 이 책을 구매하는데 가장 큰 공헌을 한 건 ‘가독성 승인 권한을 가진 저자’라는 독특한 이력이다. 또한 번역서가 아니기 때문에 일단 믿고 구매 할 수 있었다. 저자를 믿고 구매한 이 책은 Go 언어의 문법에 관한 ‘What’과 ‘How’를 잘 설명하고 있다. 책 값이 내용에 비해서 너무 저렴한 것 아닌가 하는 생각이 들만큼 내용이 훌륭했다. 내가 Go 언어를 ‘오해’하고 있었고, 아주 좋은 언어를 가열차게 형편없이 사용했다는 생각이 들어서 다시금 Go를 야금 야금 배워보는 계기가 되었다.

이전에 구매했던 Go 언어 책들은 기대를 충족시켜주지 못했다. 일단 Go 언어는 문서화가 잘 되어있기 때문에, 대부분의 책에서 설명하고 있는 문법적인 내용은 큰 감흥이 없다. 책의 내용도 Go 언어의 문서를 다듬는 수준 정도로 비춰졌다. 결론적으로 말해서, 단순 문법을 배우기 위해서 ‘돈’을 쓰면서 책을 구매하는건 좋은 선택이 아니다. 그런데 Go 언어의 경우 웹 프레임워크를 다루는 책을 제외하곤 거의가 ‘문법’ 설명에 치중하고 있다. 당연하게도 ‘문법’에 관한 설명에 치중하고 있기 때문에 문법을 배우고 그냥 거기서 학습의 흐름이 끊어진다. 그렇지만 디스커버리 Go 언어의 경우 문법이 가진 의미와 문법으로 구성할 수 있는 언어의 구성요소를 차근차근 설명하고 있기 때문에 높은 가치가 있다.

적절한 실습서를 찾아야 한다면?

시간나면 책을 읽고 좋은 구절이나 내용을 메모하는게 취미라서 베타리딩 같은 기회가 있으면 적극적으로 참여하는 편이다. 제이펍에서 베타리딩 기회가 주어져서 손을 번쩍들고 Go 인 액션을 선택했다. 문법책을 다 읽었으니 실습서를 찾고 있었는데, 아마존에서 눈여겨 보고 있던 Go In Action의 번역서라고 해서 선택했다.

Go 인 액션은 번역서이기 때문에 역자분의 역량이 절대적이다. 번역서임에도 불구하고 손을 번쩍들고 신청한 이유는 제이펍에서 출판되는 번역서는 독자에 대한 최소한의 예의는 지키기 때문이다. 어떤 책(?)처럼 내용이 잘못되거나 구글 번역기를 돌린듯한 느낌은 전혀 없었다. 읽었을 때 별 문제없이 내용 파악이 가능하고 출판전 베타리딩이라 오탈자도 꼼꼼하게 찾아가면서 읽었는데 문장구조나 흐름이 매끄럽고 안정적이라 굉장히 편하게 읽을 수 있었다. 번역서가 가져야 할 최소한의 예의인 ‘한국인이 이해 가능한 형태의 문장구조’를 제시하고 있다. 요즘은(Now 2016!) 이런것도 훌륭한 장점으로 소개되어야 한다. 1

이 책의 가장 큰 장점은 2장에서 ‘RSS 피드 검색기’를 예제로 제공하고 있다는 점이다. 컴퓨터 공학 서적이 몇가지 예제를 책에서 제공한다는 점이 큰 장점이 아닐수 있겠지만 몇가지 기능만 추가하면 간단한 서비스를 런칭할 수 있는 예제를 제공하기 때문에 Go 언어의 문법이 아니라 Go 언어로 표현할 수 있는 프로그램의 ‘구조’를 살펴볼 수 있다는 점이 가장 좋았다. 그리고 별다른 조치 없이 잘 작동하기 때문에 아주 훌륭한 실습서라고 생각한다.

예제의 규모가 ‘Hello World’을 벗어나지 못하는 대부분의 문법서에 비해서 규모감 있는 예제를 통해서 진행되기 때문에 다른 언어를 능통하게 사용하는 분들이 이 책을 읽으면 문법이 아닌 Go 언어를 어떻게 활용하면 되는지 쉽게 알 수 있으리라 생각한다. 또한 원서의 경우 Amazon이나 다른 평점 사이트에서 볼 수 있듯이 평균 3.5이상의 퀄리티는 보장하고 있고, 책을 쓴 원 저자가 트위터를 통해서 많은 사람들과 책 또는 Go에 관한 내용으로 의사소통을 진행하고 있기 때문에 좀 더 다양한 정보를 얻을 수 있다.

결론적으로 말해서!

기존에 사용하시던 컴퓨터 언어가 있으시면 Go 인 액션을 권하고, 첫 언어나 호기심으로 Go를 배우려고 하시는 분들은 디스커버리 Go 언어를 적극 추천한다. 그리고 주변을 둘러보면 GDG라는 좋은 개발자 모임이 있으니 이곳에 참석해 보시는 것도 추천한다!


  1. 번역이 말도 안되는 형태로 제공되는 경우도 있으니 항상 조심하자. 모 출판사에서 구글 검색기에 돌려서 번역한 것 같은 말도 안되는 품질의 ‘통계기반 머신러닝’ 도서를 아직도 서점에서 판매하고 있는걸 보면 출판사도 가려가면서 선택해야 한다. 양심은 둘째치고, 원저작자는 자신의 책이 이런 평가를 받고 있는걸 알고 있을까?