[도서리뷰] 러닝 Go

검프·2022년 3월 31일
1

나는 리뷰어다

목록 보기
2/2

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

평소 Go 언어를 공부하면서 아쉬웠던 것이 있는데, 다른 언어에서 흔히 볼 수 있는 기능이나 특징들을 지원하지 않는 경우가 존재한다는 것입니다. 조금 더 정확하게 이야기하면 서로 다른 언어 간에 당연히 차이점이 존재할 수 있지만, 다른 언어에서 익숙했던 기능들을 지원하지 않는 것에 대한 이유를 잘 설명해 주는 자료가 드물다는 것입니다.

한 예로 암묵적으로 구현되는 인터페이스 지원 같은 부분이 있습니다. 명시적 인터페이스 구현에 익숙했던 터라 암묵적인 인터페이스는 인터페이스를 구현했는지도 알기 어렵고, 구현의 장점이 뭔지도 알기 어려웠습니다. 오히려 팀 개발에 있어 단점이지 않나 하는 생각까지 들었습니다. 왜 이런 결정을 했을까? 궁금했던 부분입니다. 이 책에서는 이런 결정들에 대한 이유를 설명해줍니다. 또한 이런 철할을 잘 활용하기 위한 Go 언어의 관례들에 대해서 소개해줍니다.

책에서 이 책의 대상 독자로 두 번째 개발 언어를 찾는 개발자, Go를 새롭게 시작하는 사람들이라고 소개하고 있습니다. 물론 이런 분들이 보시기에도 좋은 책이라 생각합니다. 하지만 개인적인 생각에 이 책은 Go 언어를 처음 입문하는 사람들보다는 Go 언어를 조금 사용해 본 개발자에게 더 도움이 될 것이라 생각합니다.

책의 곳곳에서 Go 언어의 내부 구조와 동작 원리에 대해서 이야기하고 있습니다. 또한, Go 언어 설계 시 고려했던 문제들과 개발팀의 의사결정. 그 배경에 있던 철학들. 그로 인해 형성된 여러 관례들에 대해서 설명해 주고 있습니다. 이런 내용들은 단순히 언어의 사용 방법을 배운다고 해서 알 수 있는 내용들은 아닙니다. 오히려 어느 정도 사용방법이 익숙해졌을 무렵부터 서서히 올라오는 "왜?"에 대한 찾기 어려운 이유들입니다.

처음 Go 언어를 배우는 분들에게 이런 내용들은 다소 지루하거나 지나치게 어려운 주제여서 흥미를 잃게 할 수도 있습니다. 반면 Go 언어를 조금 다루어 봤거나 다른 언어와 비교하여 Go 언어를 학습해 본 분들에게는 Go 언어를 깊이 이해하는데 큰 도움이 되는 내용들로 가득합니다. Go 언어를 사용해 본 개발자분들에게 꼭 이 책을 읽어보시라 권하고 싶습니다.

profile
권구혁

2개의 댓글

comment-user-thumbnail
2024년 3월 11일

Go언어로 개발한지는 1년이 넘었지만, 이제서야 제대로 공부를 하면서 정리해보고 있어요
검프님 블로그를 보면서 많은 자극 받았습니다!
이 책도 한 번 읽어봐야겠네요 ㅎㅎ 좋은 글 감사합니다

1개의 답글