카이 호스트만의 코어 자바 8


카이 호스트만의 코어 자바 8 - 10점
카이 호스트만 지음, 신경근 옮김/길벗


2014년에 출시된 자바 8을 아직도 실전에서 사용해 보지 못했다. 자바 10의 출시를 앞둔 2018년에서야 도서(코어 자바 8)를 통해 맛을 보다니, 먼저 반성 한 번! 새롭게 느껴지는 것들이 많아 두 번을 읽었다. 하던 것만 해서 그런 것인지, 머리가 나빠서 그런 것인지 모르겠다. 두 번 정도 읽으니 감이 오긴 하는데, 잊어먹기 전에 써먹을 기회를 만들어야만 한다는 짐이 생겨버렸다.

람다

자바 8에서 새로 들어왔다는 람다의 장점이 정확히 무엇인지 아직도 모르겠다. 대략 감으로는 앞으로 코딩할 때 격식에 맞추기 위해 이런저런 클래스를 만들 필요는 없겠구나. 뭔가 허례허식을 없앨 수 있을 것 같다는 정도로만 이해했다. 아는 만큼 느낀다고, 사용하다 보면 언젠가 깨달음을 얻게 되겠지.


스트림

놀랍다. 병렬 처리까지도 간단히 만들 수 있으니, 내공이 높지 않아도 성능에 대한 고민을 쉽게 날려 버릴 수 있을 것 같다. 반면 CPU 사용률에 어떤 영향을 주는지는 확인하지 못했다. 혹시라도 대량의 병렬처리를 실행하는 경우 CPU 사용률에 큰 영향을 미친다면, 어느 정도 사용률을 제어할 방안도 필요하지 않을까 싶다. 기우일지도.


날짜와 시간 API

그간 날짜와 시간 API는 별로 쓸 일이 없었나 보다. 그렇게 큰 문제가 있었는지도 몰랐는데, '자바 8에서 도입한 java.time API는 이전 시간의 결함을 해결했고, 앞으로 꽤 오랫동안 제 역할을 할 것'이라고 한다. 그러고 보니 시간 관련해서는 Joda time이란 걸 써야 한다고 들었던 것 같기도 하네.


대규모 프로그램 개발용 언어

"자바는 몇 가지 명령을 빠르게 실행하는 데 사용하는 스크립팅 언어가 아니다. 자바는 클래스와 패키지로 구조화했을 때 이점을 얻는 대규모 프로그램 개발용 언어를 목표로 만들어졌다."
한 때 루비, 파이썬 등 신세대 같은 느낌을 주는 언어들의 장점을 보면서 자바도 예전의 C와 같은 레거시의 반열에 올라섰구나 하는 생각을 했었다. 새로운 언어들의 장점은 진입장벽이 높아진 자바에 비교해 훨씬 가볍고 날쌔 보였기 때문이다. 이제 자바도 이제 세대교체가 이루어지는 날만 기다리는 신세로 생각했다. 그런데 저 글을 보는 순간 자바에 대한 이미지가 노쇠에서 성숙으로 바뀌었다. 차는 용도에 따라 승용차도 있고, 버스도 있고, 화물차도 있듯이, 대규모 프로그램 개발에는 여전히 자바가 어울리는 것 같다.


댓글 쓰기

0 댓글