오늘 살펴볼 도서는 Head First Go입니다. 구글에서 만든 Go언어에 대한 입문서입니다. 표지를 보면 익숙하겠지만 오레일리 출판사에서 나온 원서의 번역본입니다. Go언어는 2009년 구글에서 발표한 언어로 최근 우리나라에서도 많이 활용되고 있습니다. 클라우드 및 네트워크의 백앤드 등의 영역에서 대체적으로 많이 사용되며, 도커, 쿠버네티스, 분산 시스템 등에 많이 이용된다고 합니다.

 

Go언어의 특징은 빠른 컴파일 속도, 간결한 코드, 자동 가비지 컬렉션, 편리한 동시성 코드 작성, 멀티코어 지원 등이 있습니다. 최신의 언어답게 간결한 문법과 좋은 성능을 보이는 것이 특징입니다. 현재 Go언어는 오픈소스로 누구나 무료로 쉽게 사용할 수 있습니다. 하나의 프로그램으로 멀티운영체제에 동작가능하며, 웹 서버의 동시 접속을 좀 더 쉽고 효율적으로 작성할 수 있어 유지보수면에서도 훌륭할 것으로 봅니다.

 

전체적인 구성은 그림과 예제가 많은 형태입니다. 입문서답게 처음 접하는 사람들도 쉽게 받아들일 수 있게 구성되어 있습니다. 만약 파이썬과 같은 프로그래밍 언어를 한번이라도 다뤄본 경험이 있다면 Go언어는 매우 익숙할 것이다. 필자 또한 Go언어를 얼핏들어보고 접해봤지 실제로 사용해보적은 없다. 하지만 처음 패키지를 불러들이고 라이브러리를 import하고 코드를 작성하는 과정은 파이썬과 매우 유사해 이러한 부분은 프로그래밍 언어에 익숙해지는데 많은 도움을 줄 것이라 봅니다.

 

다양한 그림과 삽화를 통해 이해를 돕고 있으며 중간중간 '중요 항목'을 정리하며, 연습문제 또한 간단하게 나와있습니다. 차례대로 읽으면서 따라한다면 큰 문제없이 따라할 수 있을 것입니다. 마지막 정도의 13장에서는 고루틴과 채널에 대해 배운다. 고루틴의 일반적인 입문서에서는 잘 다루지않는 내용이지만 Go언어에서는 마지막에 다루고 있습니다. 작업을 한 번에 처리하는 것이 아닌 작은 작업으로 쪼개어 처리하는 것입니다. 이 때 채널이라는 개념을 통해 얼마만큼 잘게 쪼갤지 결정하며, 고루틴 간 데이터를 동기화하며 특정 고루틴이 다른 고루틴보다 앞서가지 않도록 제어해야 한다. 앞서 Go언어는 멀티코어 프로그래밍에 좋은 이점이 있는데 이러한 고루틴을 사용해 멀티프로그래밍을 쉽게 할 수 있습니다.

 

Go언어를 처음접하는 독자분들께 훌륭한 도서가 되길 바랍니다.

 

 

+ Recent posts