공부를 끄적끄적/책 리뷰

[리뷰]줄리아를 생각하다 - Let's Julia!

공돌이J 2020. 5. 31. 23:22

평점

별5개

 

저는 최적화에 많은 관심을 가지고있습니다. 어릴 때는 학교에서 집까지 가는 최단 경로를 찾으려 애썼고 프로그래밍을 짤 때에도 어떻게 하면 0.1초라도 빠르게 동작시킬 수 있을지 고민했습니다(물론 고민하는 시간을 줄였으면 더 빠르게 끝났을 수 있다는건 함정입니다.). 게다가 지금 일하고 있는 곳에서는 스케줄링을 최적화(?)를 하고 있고 이정도면 신이 저를 보고 있다가 최적화를 배우는 전공으로 보내버린 것이 아닐까 하는 생각이 들 정도입니다.

 

 

그러던 중에 줄리아라는 언어를 접하게 되었습니다. 저도 꽤 오랬동안 자바를 하다가 파이썬을 3년정도 쓰고 있는데, 책의 역자이신 송한별님께서 언급하셨듯 요즘들어 너무 느리다는 것을 몸소 체감하고 있었습니다. 언젠가 수리 최적화 라이브러리를 만드는 것이 저의 작은 꿈이어서 틈틈이 스케치를 하고 있었는데 ‘파이썬으로 과연 제대로 된 속도가 나올까? 최적화 알고리즘을 쓰지 않은 다른 언어가 더 빠르지 않을까?’라는 생각이 들었거든요. 그러던 와중에 만난 줄리아는 신이 내려주신 두 번째 운명이 아닐까 하는 생각이 들었습니다. 그래서 아주 열심히 책을 읽었습니다.

 

 

이 책은 줄리아를 입문하기 위해 폭넓으면서도 깊은 이야기를 전해줍니다. 중간중간의 미국식 유머(?)와 가벼운 문체 덕분에 빠르게 읽히는 점이 아주 좋았습니다. 아마 파이썬을 하셨다면 12단원인 튜플까지는 큰 어려움 없이 읽으실 수 있을 것 같습니다. 다만 개인적으로 챕터 13: 자료구조 선택하기부터는 꽤나 Advancecd된 이야기를 다룹니다. 저는 컴퓨터 공학 베이스가 아니기 때문에 이러한 문제에 직면했을 때 라이브러리를 찾아서 적용하는 편이었는데, 알고리즘을 찾아보고 새로운 언어로 구현하는 것이 저에게는 꽤나 오랜만에 느끼는 ‘도전’의 느낌이었습니다. 만약 지금까지 개념을 대충 이해하고 라이브러리를 써서 단순 반복 같은 느낌을 받으셨거나 매너리즘에 빠졌었다면, 이 책에서의 사례연구를 전력으로 풀어보시는 것을 권장합니다.

 

 

결론적으로 말씀드리면, 이 책은 새로운 언어를 접하는 관점에서 보나 프로그래밍 서적 관점에서 보나 훌륭하다고 생각됩니다. 단, 컴퓨터 공학을 전공하시고 이미 특정 언어를 어느정도 마스터한 경지에 오르셨다면 큰 감흥은 없을 수 있습니다. 하지만 최소한 저만큼은 큰 도움이 되었다고 말씀드릴 수 있을 것 같습니다. 여러분 모두 줄리아 하세요!

Appendix

저는 개발환경으로 Juno를 사용했습니다. Julia Box는 Free Trial 이후 유료라서 손이 가지 않았고 Julia Pro와 Juno를 두고 고민했는데, Juno의 홈페이지를 들어갔을 때 뭔가 더 기능이 많고 Fancy한 느낌이 들어 선택했습니다(생각해보니 별 이유가 없네요.). 다만 처음 설치 시”julia has exited”라는 메시지가 출력되며 콘솔이 제대로 실행되지 않는 문제가 있었는데 (자바 해보셨으면 익숙하실) 환경변수에 줄리아 실행 경로를 추가해 주시면 됩니다.

 

[시스템 환경 변수] – [Path] – [C:\Users\Username\AppData\Local\Programs\Julia\Julia-1.4.2\bin 추가]

 

본 리뷰는 한빛미디어의 도서 지원으로 작성되었습니다.