들어가며...
Julia(줄리아)는 예전에 이름은 들어서 익히 알고 있었다. 그러나 제대로 공부해본 기억이 이번이 처음이다. 이 책은 어떤 관점에서는 굉장히 재미있고 독특한 책이다. 그 이유는 이 책의 태생에서부터 있다. 바로 이 책은 우리나라에도 번역되어 출간된 바 있는 'Think Python'이라는 책을 Julia 버전으로 바꾸어 내놓은 책이다. 저자가 직접 'Think Python'의 원작자에게 허락을 구하고 Julia 버전 교재로 사용할 수 있도록 집필했다고 한다.
그런 면에서 직접 이 책으로 공부해보니 줄리아는 파이썬과 많은 점에서 닮았다는 느낌을 받았다. 우선 데이터 분석 및 처리에 특화된 언어라는 점에서 그렇다. 그리고 줄리아는 고수준의 동적 스크립트 언어이면서 속도는 C와 포트란에 비견될 정도로 빠르다고 한다. 이 점은 확실히 파이썬보다 우위에 있다고 볼 수 있다. 물론 파이썬의 생태계와 수 많은 라이브러리는 줄리아가 파이썬보다 부족하지만 말이다.
현재 프로세서의 성능이 비약적으로 향상되어 속도는 더이상 중요한 요소가 아니라는 인식이 있는데 빅데이터와 같은 대량의 데이터를 처리한다면 속도가 중요하지 않을 수 없다. 파이썬의 단점이 속도라고 볼 수 있는데 특히나 데이터 분석 및 머신러닝 분야에서 많이 사용되고 있는 파이썬의 장점은 그대로 가져가면서 빠른 처리 속도를 보완하여 사용할 수 있는게 바로 줄리아라는 것이다. 바로 여기에 저자의 출간 기획의도가 숨어있다.
그렇다면 이 책의 특징은 무엇이 있을까?
가장 눈에 띄었던 점은 각 장마다 '용어집'이라는 부분에서 해당 장에 등장하는 약간 어려울 수도 있는 용어를 쉽게 이해할 수 있도록 뜻 풀이를 담았다는 점이다. 그뿐만이 아니라 한 챕터가 끝날때마다 연습 문제를 두고 있어서 바로 앞에서 배웠던 내용을 적용할 수 있는 실습을 제공하였다. 그래서 학습자의 응용력을 증진시키도록 짜여져있다. 연습문제의 수준은 크게 어렵지는 않았고 배웠던 내용의 범위 안에서만 출제되기 때문에 도전해볼만한 수준이었다.
설명도 자세한 편이어서 입문자가 다가가기에도 큰 부담은 없어보인다. 책 전반 소개부에서도 고등학생이나 대학생이 한 학기정도 사용할 수 있는 수준으로 책을 만들었다고 한다. 읽으면서도 각 코드 예제 아래에 상세하게 코드 설명을 하고 있는 것을 확인할 수 있다.
또 하나 인상 깊었던 점은 초반부 '사례연구: 인터페이스 디자인'에서, 파이썬을 공부했을 때 몇번 다뤄본 적이 있는 '거북이'가 등장한다. 코딩을 통해 거북이의 이동경로를 만들어보는 것이다. 거북이 뿐만 아니라 Perl을 상징하는 것에서 따온 것이 아닐까 생각이 들었던 낙타도 있었다.
'디버깅'이라는 부분도 모든 장에 등장하는데 해당 장의 내용을 공부할 때 발생할 수 있는 오류를 정리해놓았다. 그래서 학습 시 오류가 나오더라도 당황하지 않도록 해결책을 제시해준다. 여기서 그치지 아예 마지막 챕터 자체가 '디버깅'이라는 이름으로 되어있어 줄리아 프로그래밍에서 발생 가능한 에러를 마치 Q&A와 같이 풀어서 설명을 해주고 있다.
Julia를 공부하며 새로웠던 부분이 있다. 바로 '데이터베이스'라는 기능이었다. 'GDBM'라는 라이브러리를 사용하면 마치 '데이터베이스'처럼 사용할 수 있다고 한다. 사전(딕셔너리)와 매우 비슷한 형태인데 차이점은 '데이터베이스'의 경우 프로그램을 종료해도 자료가 지워지지 않는다는 것이다.
마지막으로 책의 목차를 보면 사례연구라는 이름으로 시작하는 세 가지 챕터가 등장한다. '4장 인터페이스 디자인', '9장 단어로 놀기', '13장 자료구조 선택하기'가 바로 그것인데. 이 '사례연구'라는 파트는 구체적인 상황이 제시되고 좀 더 실무에 가까운 방법으로 줄리아를 실습해볼 수 있다. 이 책에서는 그 유명한 'emma'라는 제인 오스틴의 소설 내용을 이용해 소설에 나오는 단어를 분석하는 방법과 단어들, 즉 자료를 어떻게 처리할 것인지를 구체적인 함수를 사용하여 과정을 보여준다. 문자를 다루는 데이터 분석 기법은 줄리아에서 어떠한 방식으로 적용할 수 있는지를 잘 알 수 있다.
마치면서...
책 내용 중 다소 아쉬운 점도 있었는데 책에서 소개한 juliabox란 곳에 들어가서 코드를 연습하려고 하였다. 그러나 책에 명기된 URL로는 어떤 사유가 있는 것인지는 모르겠지만 바로 연결되지 않았다. 그래도 파이썬 또한 설치하면 쉘로 실행이 가능하기 때문에 똑같이 실행해보았다. 파이썬에서 이런 식으로 공부를 해본 적이 있었기 때문에 큰 어려움은 없었고 익숙했다. 스크립트 모드에서는 메모장이나, Notepad++이라는 프로그램으로 .jl 스크립트를 작성하고 실행해보았다. 줄리아를 좀 더 사용하게 된다면 Visual Studio Code에 Julia Interpreter 확장을 설치해 마치 IDE처럼 사용해보려고 한다.