#1
갑자기 프로그래밍을 공부해야 하는 일이 생겼다. 그간 실제 코딩과는 거리가 있는 일을 해왔기에 요즘에는 어느 프로그래밍 언어가 대세인지 먼저 찾아보았다. C, C#, JAVA 등의 메이저 언어를 제외하고는 Javascript와 Python의 전성기로 보였다. Javascript는 문법에 대한 거부감이 있어서 Python으로 방향을 잡았었는데 우연히 듣게 된 IT 관련 팟캐스트에서 이 책 저자의 한 마디가 귀에 들어왔다. "제 경우에는 Go가 Python을 완전히 대체했어요."
#2
본인이 초보자임을 감안하더라도 이 책은 쉽지 않다. 다만 어려운만큼 더 도전의식을 불러 일으키는 책이다. , 마치 무림고수의 절대비급과 같은 향기를 풍긴다고 할까? 다른 프로그래밍 언어에 대해서 어느 정도 배경지식이 있는 개발자를 대상으로 Go언어의 차별성을 돋보이게 설명하는 서술 방식이 그렇다. 그래서 특별히 주의할 사항이 없는 기초적인 함수 등은 Go언어 공식 사이트의 레퍼런스 주소를 소개해주는 선에서 그친다. 저자 자신이 지금까지 갈고 닦은 노하우를 전수하는데 집중할 수 없게하는 잔가지는 모두 쳐버린 것이다. 그리고 다음 물음에 집중한다. [Go란 무엇이고 어떤 특징이 있는가?] [Go는 타 언어에 비교해서 어떤 장점을 갖고 있는가?] [어떻게 코딩하는 것이 가장 Go다운 방식인가?] [Go는 실무에서 어떻게 활용되는가?] 작가는 이런 물음-어쩌면 그간 작가 자신이 꾸준히 탐구해왔을 법한 질문-에 대해서 이 책 전체를 통해서 좋은 해답을 제시하고 있다.
#3
프로그래밍 언어를 설명하는 개발서에서 한 줄의 좋은 코드는 백 줄의 설명보다 더 설득력이 있다. 저자는 Go언어의 개발사인 Google에 재직하고 있으며 사내 Go언어 코드의 가독성 승인 권한을 비교적 초창기에 취득했다. 언어 가독성에 대한 권한 제도는 구글에서 해당 언어에 어느 정도 익숙하고 읽기 쉬운 코드를 작성할 수 있는 사람에게 주어지는 권한으로 이 권한이 없는 사람은 해당 언어로 코드를 작성한 뒤에 권한이 있는 사람에게 리뷰를 받고 승인을 받아야 코드를 체크인할 수 있는 제도이다. 저자는 다른 구글 엔지니어들의 Go 코드를 리뷰하면서 이미 다른 언어로 프로그래밍을 잘하는 사람들이 Go로 코드를 작성할 때 어떤 실수를 많이 하는지, 어떤 나쁜 습관이 있는지를 볼 수 있는 기회가 많이 있었고 그 노하우를 책에 충분히 담고 있다. 그래서 예제 코드 하나하나가 군더더기 없이 간결하고 프로그래머들이 실무에서 가장 선호하는 형태로 씌여졌다. 특히 책에 실린 대부분의 코드에 대한 테스트 코드가 삽입되어 코드 작성과 동시에 테스트를 수행할 수 있게 구성된 점은 무척 인상적이다.
#4
시원하면서도 포인트가 있는 표지 디자인과 휴대성을 고려한 적당한 크기, 부담없이 볼 수 있는 두께는 흠 잡을 데 없다. 다만 책이 아무리 중급자를 위해서 기획되었다고 해도, 좀더 친절할 수 있지 않았을까. 별도 윗첨자로 처리되지 않고 단순 기호(*)로 표기되어 코드 중간에 있을 때는 쉽게 구별이 가지 않는 주석도 그렇고 예제에 번호가 없는 부분도 아쉽다. 동 출판사의 베스트셀러인 HTML5 입문서처럼 모든 예제에 번호를 붙여주고 해당 예제의 파일을 정리하여 홈페이지에서 제공했으면 훨씬 좋았을 것이다. 학습자의 입장에서는 자잘한 내용 하나하나를 실행해보고 싶을 때 모두 직접 타이핑을 해봐야 하니 책 전체를 빠르게 흝어보기가 어렵다. 전체 내용을 빠르게 실행해본 후에 필요한 부분을 더 깊게 공부하는 타입인 본인에게는 여러가지로 번거롭다는 느낌이다.