[책 리뷰] 코틀린을 다루는 기술


book-cover
본 리뷰는 길벗 IT 전문서 에서 코틀린을 다루는 기술 책 을 제공받아 작성 하였습니다


코틀린, 자바를 넘보다


최근 몇년간, 기존의 자바로 작성된 코드 에서 코틀린으로 넘어오는 추세가 급격하게 증가하고 있습니다.

특히 안드로이드 개발 진영에서 구글이 코틀린을 공식 프로그래밍 언어로 채택하고 다양한 개발 소스코드 예제 또한 코틀린으로 제공하면서 코틀린이 기존의 자바를 넘보는 위치까지 도달하게 되었죠.

왜 자바 대신 코틀린 인가?

안드로이드 애플리케이션을 개발해보신 분 이라면, 한번쯤은 자바의 NullPointerException 과 싸워보신 적이 있을 겁니다.

또한, 동시성 프로그래밍과 병럴 처리 기반으로 서버의 기능을 구현할 때 자바의 경우 막막한 경우가 많죠.

간단한 로직을 작성하기 위해 불필요한 여러 줄의 자바 코드가 추가되는 상황도 있습니다.

물론 자바는 죄가 없습니다! 단지 자바라는 프로그래밍 언어가 설계된 시점에서는 지금처럼 컴퓨터 성능이 높아지고 병렬처리와 동시성 프로그래밍, 함수형 프로그래밍 등을 지원할 필요가 없었기 때문이죠

코틀린은 이러한 자바의 단점들을 보완하고 최근에 개발된 프로그래밍 언어 답게 함수형, 동시성 프로그래밍에 적합한 기능들을 제공하도록 설계되었습니다.

코틀린을 다루는 기술 책 에서는 코틀린을 코틀린 답게 사용하는 법에 대해 다루고 있습니다.



목차


1장 프로그램을 더 안전하게 만들기

2장 코틀린 프로그래밍의 개요

3장 함수로 프로그래밍하기

4장 재귀, 공재귀, 메모화

5장 리스트로 데이터 처리하기

6장 선택적 데이터 처리하기

7장 오류와 예외 처리하기

8장 고급 리스트 처리

9장 지연 계산 사용하기

10장 트리를 사용한 데이터 처리

11장 고급 트리를 활용해 문제 해결하기

12장 함수형 입출력

13장 액터로 상태 변이 공유하기

14장 자주 일어나는 문제를 함수형으로 해결하기

부록A 코틀린과 자바 함께 쓰기

부록B 코틀린에서 속성 기반 테스트하기



책에서 얻을 수 있는 것 들


이 책을 읽은 후에는 코틀린의 기본적인 문법을 훨씬 뛰어넘는 코틀린에 대한 지식들을 얻을 수 있습니다.

어떤 상황에서 함수형 언어가 왜 필요한가? 부터 코틀린에서 함수형 언어 답게 데이터 들을 처리하는 방법, 오류와 예외 처리 방법, 지연 계산 등의 고급 프로그래밍 기법, 트리와 같은 자료구조를 코틀린으로 구현하고 사용하는 방법 등을 초반에 배우며 책의 후반부 에는 코틀린을 활용하여 병렬 프로그래밍의 모델 중 하나인 액터 모델을 구현해보거나 함수형 언어로 문제를 해결하는 방법, 현업에서 발생할 수 있는 이슈인 기존에 작성된 자바 코드와 코틀린으로 작성된 코드를 함께 사용하는 방법, 코틀린에서 테스트를 하는 방법을 배웁니다.

코틀린이라는 프로그래밍 언어의 문법에 집중하는것 이 아닌 코틀린이 왜 필요하며 어떠한 문제에 대해서는 자바보다 더 우아하게 문제를 해결할 수 있는지를 함수형 언어의 관점에서 설명해줍니다.



누구를 위한 책 인가


현업에서 코틀린을 메인으로 서비스를 개발하시는 개발자 분 들에게 추천드립니다.

안드로이드 애플리케이션 개발자나 자바 기반 백엔드 개발자 이면서 현재 자바로 작성된 코드를 코틀린으로 전환하고자 하는 분이나 코틀린이 현업에서 왜 자바를 넘볼 수 있는가 가 궁금하신 분 들에게 추천드립니다.

이 책은 코틀린 입문서가 아닙니다! 코틀린을 처음 배우시는 분 들 보다는 실제로 서비스를 개발하고 있으신 개발자 분 들에게 더 유용할 것 이라고 생각합니다.



결론


코틀린은 참으로 매력적인 프로그래밍 언어 입니다.

기존의 엄청나게 넓은 자바 진영을 대채할 수 있는 프로그래밍 언어 이자 실질적으로 서비스에 바로 적용할 수 있는 단계까지 발전한 함수형 프로그래밍 언어이죠.

점점 기술이 발전하면서 멀티코어, 멀티스레드 기반의 병럴 처리, 동시성 처리를 지원해야하는 안드로이드 애플리케이션이나 자바 기반의 백엔드 진영에서 코틀린은 자바와 100% 호환 되면서 구글에서 안드로이드 정식 프로그래밍 언어로 채택하고 전폭적으로 지원하고 있는 떠오르는 태양입니다.

현재 자바 기반으로 서비스를 개발 중 이면서 점점 늘어가는 레거시 코드와 복잡한 병렬처리 등에 고민하고 계신 분 이라면, 지금 바로 이 책을 읽어보신 후 코틀린 도입에 대해서 생각해 보시길 추천드립니다!

본 책을 리뷰할 수 있게 제공해주신 길벗 IT 전문서 출판사에 다시 한번 감사드립니다.

읽어주셔서 감사합니다.