|
"이 포스트는 한빛미디어 출판사의 '나는 리뷰어다' 프로그램의 일환으로 책을 지원받아 리뷰를 작성했음을 미리 명시합니다" 사실 스위프트 언어는 저에게 애증의 존재입니다. 맥북으로 개발을 하고 개발을 업으로 삼고 있는 저에게는 iOS 앱을 만들거나 OS X앱을 만들어서 앱스토어에 업로드하고, 판매하여 수익을 얻는 경험을 해보고 싶기 때문이죠. 그런 관점에서 볼때 스위프트는 저에게 항상 친근하게 다가왔지만 장벽으로도 다가왔습니다. (물론 기존의 objective-C는 너무.. 가까이 하기에는 먼 친구였죠) 하지만 많은 사람들이 가장 일반적으로 생각하기에도 스위프트라는 언어는 objective-C 와 마찬가지로 iOS, OSX을 만드는 언어다 라고만 생각하고 있죠. 마치 안드로이드 개발자가 안드로이드를 만들기 위해 필요한 수단 중 하나로 JAVA라는 언어를 사용하는 것과 같은 이치입니다. 하지만 이 책은 그러한 편견을 깨고 오로지 스위프트에만 집중한 책이다 라고 할 수 있습니다. 스위프트는 표지에서 알 수 있다시피 현대의 모던한 기능을 대부분 갖추고 있습니다. 스칼라나 고언어와 같은 함수형 스타일을 차용하고 있고 강력하게 타입을 강제하여 컴파일 수준에서 많은 에러를 잡아내도록 해서 최소한도의 에러를 런타임에 넘기겠다는 계산이 깔려있는 언어입니다. 책도 이러한 스위프트의 특징을 잘 서술하고 있습니다. 사실 이 책의 저자인 "야곰"님은 페이스북 페이지등에서 많이 출몰하시며 스위프트 관련 강좌를 많이 업로드하고 계시기에 조금만 관심이 있었다면 이분에 대한 명성을 알 수 있습니다. 명성에 걸맞은 책이 나왔다고 확신합니다. 책의 문장을 하나하나 읽을 때마다 저자의 스위프트 내공을 알 수 있을 정도로 내용이 알차게 있습니다. 시작할 때에는 간단하게 스위프트가 어떻게 해서 시작하게 된 언어인지, 현재는 어떻고 앞으로의 미래에 대하여 조망하면서 거국적으로 스타트를 끊게 됩니다. 이러한 방식의 구성은 스위프트 언어를 완성도 있고 멋진 언어로 소개할 수 있는 방법이지만, 요즘과 같이 너무 많은 정보가 쏟아져나오는 시기에는 "아 이걸 언제 다 배우나" 싶은 정도의 시작이어서 조금은 아쉬웠습니다. 책의 구성은 다른 프로그래미 언어의 책 구성과 비슷하게 이루어져있습니다. 처음에 어떻게 Hello World를 출력하는지부터 시작하여 데이터 타입, 연산자 등의 대하여 서술하고, 함수, 메소드 객체지향의 개념 함수형 프로그램의 개념, 스위프트의 꽃인 프로토콜 지향 패러다임에 관한 내용 등 정말 많은 내용이 포함되어 있습니다. 이 책의 장점이자 단점이 책에 너무 많은 내용이 있다는 점입니다. 많은 내용이 있어서 초심자가 읽어도 별 무리 없이 읽을 수 있지만, 너무 내용이 많아서 이걸 다 어떻게 소화하지 하는 걱정부터 앞서기 시작합니다. 또한 저는 프로그래밍 언어 책과 같은 언어를 배워야 하는 책의 경우에는 '백문이불여일타' 라는 격언을 많이 공감하여 미니 프로젝트와 같이 직접 생각해보면서 프로그래밍을 하는 것이 필요하다고 생각합니다. 하지만 이 책은 백과사전과 같이 스위프트의 개념을 나열하는 것에만 급급하여 내용을 잘 버무리지 못한 점이 아쉬운점이라고 생각합니다. 다른 책과 달리 이 책은 가끔씩 위의 사진과 같이 주석으로 코드 실행 결과를 보여주기도 하지만, 어떠한 예제에서는 해당 코드의 출력값을 알려주지 않는 나름의 '불친절함'을 보유하고 있습니다. 사실 그냥 생각해보면 저자가 귀찮아서 안했나 싶지만.. 또 한번 생각해보니 이렇게 예제 코드의 출력 값을 세세하게 알려주지 않음으로써 조금이라도 열의를 가지고 있는 독자라면 직접 코드를 작성해서 결과를 알아낼 수 있겠구나 하는 나름의 결론에 도달할 수 있었습니다. 이 책은 말 그대로 "스위프트"에 집중한 책인 만큼 스위프트를 통해서 일반적인 프로그램을 만들고 싶은 분이나 이 책을 기점으로 추가 자료를 통해서 iOS를 공부하고 싶은 분에게는 이 책이 너무 맞는 책이지만, 간단하게 스위프트를 맛보고 싶거나 iOS 개발을 위한 스위프트 책을 찾고 있다면 이 책은 적절하지 않다고 할 수 있습니다. 그럼 오늘의 리뷰는 여기서 마치겠습니다 :) 다음에 만날때 까지 모두 안녕~
|