nanhmjj***
2020-05-13

줄리아는 수치해석 및 계산과학용으로 개발되어 파이썬 상위호환 언어라 불릴 정도로 속도가 빠르고 문법도 우아한 언어다.
한빛미디어출판사의"줄리아를 생각하다(벤 로언스,앨런 다우니 저 / 송한별 역)"을 읽고 작성한 리뷰입니다.
줄리아(Julia)는 수치해석 및 계산과학용으로 개발된 속도가 빠르고 문법도 우아한 언어이다. 사실 Julia를 처음 알게 된것은 쥬피터 노트북 이름의 어원에서였다. 왜 쥬피터인지 궁금하였는데 Ju(Julia)+py(Python)+te+r(R) 즉, 데이터 분석의 대표적인 3가지 언어의 약자 합성어라는 것을 알게되었다.
R, Python은 자주 접했지만 Julia는 대체 뭐길래 제법 유명세도 있고 데이터 사이언스 도구로서 점유율도 높은것일까? 궁금하여 일단 페이스북 그룹 에 가입하여 살펴보니 특히 성능 측면에서 큰 인기를 끌고 있음을 알 수 있었다. 쉽게 말하면 속도는 C언어인데 난이도는 Python인 셈이다.
조금 더 깊이 파보고 싶었지만 레퍼런스도 많지 않았고 대부분의 레퍼런스가 원어로 쓰여져있어 피곤함을 느끼곤 했다. 한글로 된 도서는 거의 전무하다시피 했는데 마침 본 도서가 등장하게 되어 매우 반가웠다.
아마 국내에서 한글로 된 줄리아 서적은 2번째인 것으로 알고 있다. 본 도서를 읽고 정리한 줄리아의 특징을 간단히 요약하면 다음과 같다.
속도가 빠르다.
다중 디스패치(Multiple Dispatch) 제네릭 프로그래밍과 유사하다.
여러 프로그래밍 패턴을 골라 쓸 수 있다.
Github이기에 서드파티가 탄탄하다.
수학적 표현을 (마치 노트에 수학공식을 쓰듯이) 거의 그대로 사용할 수 있다. 메타 프로그래밍이 가능하며 고수준 언어의 편리성을 제공한다.
이번에는 책을 완독하며 인상깊었던 점을 간추려본다.
Think라 불리는 독특한 구성 프로그래밍 언어론에 1:1 대응하듯이 설명한다.
다상량(多商量)을 유도한다. 그냥 문법을 외우는 것이 아니라 왜 이런식의 표현을 하는지 생각하게 되는데 이를 통해 문법의 장기적인 기억에 도움이 될 뿐 아니라 처음 접하는 문법에 응용력이 생긴다. 예를 들면 아래 그림을 참고하시기 바란다.
프로그래밍을 처음 배우는 사람에게는 최고의 책 Julia 입문자 및 초보자라면 이 책을 첫 단추로 삼으면 절대 후회하지 않을 듯 하다. R, Python과의 기능 차이가 명확히 보여 혼동할 일이 줄어들고 Julia에 빠르게 적응할 수 있도록 도와주기 때문이다.