qor***
2020-04-30

이 책은 Go 입문자가 알아야 할 것에 초점을 맞추어 Go 언어의 핵심을 간추리고 이를 쉽게, 재미있게 풀어쓴 Go 입문서입니다.
2020년 2월, ZDNET은 최근 개발자가 가장 배우고 싶어하는 프로그래밍 언어에 대한 설문 조사 결과를 발표했다. 전세계 162개국 11만6천명 이상의 개발자를 대상으로 중복 선택이 가능한 방식으로 진행한 설문 조사 결과, 1위는 36.2%를 기록한 Go 언어가차지하였다고 한다. 2009년 구글이 개발한 Go 언어는다른 언어에 비해 배우기 쉽고, 성장 가능성이 높은 것이 개발자들이 선택하게 된 주요 이유로 꼽았는데, 작성 방식이 C와 비슷해 관련 언어를 사용하던 개발자가 습득하기유리하고, 병렬 처리 또한 쉽게 지원되는 것도 강점으로 꼽았다. (출처: https://www.zdnet.co.kr/view/?no=20200205112108)
Go 언어는 신생 언어인 만큼 그동안 개발자들이 사용하고 있던 언어들의 여러 장점들을 잘 어우른 것으로 평가받고 있다. Go 언어는 구글의 공식 언어라는 점 뿐 아니라, 간결한 문법, 병행 프로그래밍 지원, 정적 타입 및 동적 실행, 간편한 협업 지원, 컴파일 및 실행 속도의 향상 등에서 큰 강점을 갖고 있다고 한다.
이렇게 전세계 개발자들이 선호하는 새로운 언어인 Go. 하지만 새로운 언어를 배우고 익숙해 지기까지는 많은 시간과 노력이 필요하다. 다른 사람이 짜 놓은 프로그램을 조금씩 고쳐 쓰거나, 간단한 작업을 하는 것은 어떤 언어를 선택하던지 그리 어려운 일이 아닐 수 있다. 그러나 하나의 언어를 제대로 활용하기 위해서는 단순히 언어의 문법 뿐 아니라, 해당 언어가 추구하고 있는 철학과 설계 개념에 대한 이해가 필수적이다.
“Head First Go”는 Go 언어를 배우고자 하는 개발자 또는 이미 Go 언어를 사용하고 있더라도 Go 언어가 가지고 있는 철학과 설계 개념을 다시금 익혀 자신의 실력을 한단계 레벨업하고자 하는 중급 이상의 개발자에게도 유용한 책이다. 책장을 넘기면 나오는 그림처럼 “핵심만 콕 집어서” 효율적인 학습이 가능하도록 하고 있다.
이 책은 전체 16개의 주제로 구성되어 있다. 책의 초반 부는 제 1장의 문법의 기초에서부터, 조건문과 반복문, 함수, 패키지등 Go 언어를 사용하기 위한 기본적인 내용을 예제 프로그램을 발전시켜 나가는 방법으로 설명한다. 책의 중반 이후는 사용자 정의 타입, 캡슐화와 임베딩, 인터페이스, 실패 복구하기 등의 내용을 다루며, 책의 후반부는 Go 언어가 가지고 있는 큰 장점 중 하나인 고루틴을사용하여 작업을 공유하고, 빠르게 처리하는 방법과 자동화된 테스트, 웹앱 및 HTML 템플릿을 소개한다.
다른Head First 시리즈처럼 이 책도 다양한 삽화가 학습의 흥미를 더하고 있다. 마치 만화책을 읽는 것처럼 즐겁게 읽다 보면 어느새 Go 언어에익숙해 진 자신을 발견할 수 있을 것이다.