티스토리 뷰

< 해당 포스트에서 소개하고 있는 "이것이 자바다"는 한빛 미디어로부터 지원을 받고 이에 대한 서평을 쓴 것임을 알려드립니다.>

 요새야 대학교 프로그래밍 입문을 Python으로 많이 진행하고 있겠지만(몇몇 학교에서는 언어의 본질을 가르치는 취지에서 Lisp이나 Scheme같은 함수형 언어로 가르치기도 하지만...), 학교다닐때만 해도 가장 많이 가르치고 많이 써먹던 언어가 C와 Java가 아니었나 싶다. 물론 학부를 전자과로 해서 그런지 하드웨어를 다룰 일이 많아 C만 배우고 말았지만, 안드로이드가 돌아가는 기반이나 IT업계에서 널리 쓰이는 범위를 보면 Java의 영향력은 무시할 수 없다. 심지어 Python이 대세인 딥러닝 쪽에서도 최근 Java기반의 라이브러리인 Deeplearning4j(DL4J)가 등장하면서 그 활용범위가 넓어지고 있는 것 같았다.(DL4J가 꼭 Java에 국한되어 있는 것은 아니다. 실제 개발은 Scala, C++, Python으로도 진행할 수 있다.)

 이번 포스트에서 소개하는 "이것이 자바다"는 예나 지금이나 많이 쓰이는 Java를 처음 접하는 입문자나 최신 버전에서 제공되는 새로운 기능에 대해 이해하고자 하는 개발자를 위한 입문서이다. 사진에서 보다시피 책의 두께가 "매우" 두꺼우며, 두께만큼이나 다양한 예제와 정의에 대한 도식화가 풍부하게 잘 되어 있다. 참고로 저 책은 책 자체가 하나가 아니라 내부적으로 두권으로 분권이 되며, 1권에서는 주로 처음 Java 입문시 필요한 자료형이나 클래스, 인터페이스, 기본 API 사용에 대한 내용을 다루고 있으며, 2권에서는 쓰레드와 스트림 사용과 같은 실용적 내용과 더불어 Java 8에서 새로 추가된 JavaFX, 람다식, Non-blocking I/O(NIO)에 대한 내용이 포함되어 있다. 각 기능을 활용한 예제도 강의 흐름에 맞게 제시되어 있기에 최신 Java에 대응하여 개발하려는 사람에게는 도움이 될 부분이다. 

 사실 많은 Java 입문자들이 개발 입문서를 선택하는 기준이 뭘까? 하는 생각을 잠깐 해보았다. 당장에 주어진 과제를 해결하기 위해 멋있고, 활용하기 쉬운(또는 바로 복붙하기 쉬운...) 예제가 있거나 책의 내용이 Java가 모르는 사람이 봐도 이해할 수 있을 만큼 서술이 잘되어 있는 책을 선택할 수도 있다. 개인적 기준으로 볼 때, 뭔가 읽는 독자가 주체가 되어 주도적으로 학습할 수 있도록 기반을 제공해주는 책이 입문자에게 가장 필요한 부분이 아닐까 싶었다. 그런 기준에서 볼때 이 책은 다양한 백그라운드용 리소스들이 제공되었다. 

 위와 같이 저자분께서 직접 운영중인 까페와 책 내용에 대한 동영상 강의가 같이 제공되고, 실제 책 내용에 있어서 궁금한 부분이 있으면 Q/A를 통해서도 답변을 받을 수 있는 부분은 책으로도 어려움을 해소하기 어려운 독자들에게는 좋은 자료가 된다고 생각한다. 생각해보니까 보통 Java 계열 입문서 3대장이라고 할 수 있는 "Java의 정석"이나 "열혈 Java 프로그래밍" 책들도 이 책과 동일하게 질의할 수 있는 커뮤니티와 보조용 강의를 제공하고 있긴 하다. 각 책 별로 저자의 서술 방식이나 교육에 대한 접근 방식이 조금씩 차이는 있겠지만, 다른 책과 더불어 "이것이 자바다"가 많이 입문서로 소개되는 이유도 책 내용과 더불어 이런 배경 리소스가 있어서가 아닐까 생각된다. 

 Java로 주로 개발하는 환경이 아니기에 접할 기회도 없었고, 뭔가 활용해볼까 하는 호기심에 처음 이 책을 접한 본인으로써는 다른 책들을 안 읽어보았기에 섣불리 어떤 책이 좋고 나쁘다 라는 것을 평가하기가 힘들지만, 확실히 분명한 것은 이 책으로도 충분히 Java에 발을 담궈볼만 하다는 것이다. 저자의 강의 경험이 녹아든 내용이나, 해당 내용을 뒷받침해줄 도식과 코드는 해당 부분을 직접 따라해보는 것으로도 처음부터 진행하는 입장에서 도움이 많이 되었다.

댓글