
줄리아(Julia)는 멀티 패러다임 함수형 프로그래밍 언어로 머신러닝과 통계적 프로그래밍을 위하여 개발되었다. 파이썬도 머신러닝에 이용되는 멀티 패러다임 언어이지만 객체 지향 언어라는 점에서 다르다. 줄리아는 파이썬보다 사용 빈도가 훨씬 더 적다. 그러나 데이터 사이언스 분야에서 줄리아가 파이썬보다 더 많은 장점을 제공한다.
인도 IT 전문 잡지 애널리틱스 인사이트에 따르면, 줄리아는 속도가 매우 빠르다. 인터프리터 언어인 파이썬과는 달리 줄리아는 컴파일 언어이다. 하지만 C와 같은 다른 컴파일 언어가 보통 실행 전에 컴파일되는 것과 달리 줄리아는 런타임에 컴파일된다. 줄리아는 제대로 작성하면, C와 비슷한 속도를 내거나 때로는 더 빠르기도 하다. 줄리아는 JIT 컴파일 방식을 이용하며 C나 포트란(Fortran)과 같은 전통적인 컴파일 언어에 비하여 좀 더 인터프리터 언어와 같이 컴파일된다.
줄리아의 기능 중 핵심은 멀티플 디스패치 기능이다. 우선 줄리아의 멀티플 디스패치는 매우 빠르다. 여기에 줄리아의 다형성 디스패치까지 적용하면, 구조체의 프로퍼티로 함수를 정의할 수 있다. 따라서 상속도 가능하다. 멀티 디스패치는 또한 함수에 확장성을 부여한다. 이는 확장 패키지를 사용할 때 유용하여 메소드를 명시적으로 불러오면 사용자가 이를 수정하여 이용할 수 있다.
파이썬과 달리 줄리아는 통계 및 머신러닝에 특화하여 개발되었다. 파이썬은 90년대 초, 쉬운 객체 지향 언어로 개발되었다. 파이썬의 다양한 용도와 개발목적과 비교했을 때 통계적 작업을 위하여 제작된 프로그래밍 언어를 배울 때 여러 장점이 있다.
줄리아는 선형 대수에서도 파이썬보다 강하다. 바닐라 파이썬(Vanilla Python)을 이용하면 선형대수를 가까스로 처리할 수는 있지만 바닐라 줄리아를 이용하면 매끄럽고 빠르게 처리할 수 있다. 이는 파이썬이 애초에 머신러닝을 위한 매트릭스와 방정식을 풀기 위하여 개발되지 않았기 때문이다. 파이썬도 넘파이와 함께 쓰면 나쁘지는 않지만, 수치계산은 비패키지 이용 시 줄리아가 압도적인 성능을 보여준다. 운영 측면에서 줄리아는 파이썬보다 R에 가까운 것도 이점으로 작용한다.
[저작권자ⓒ CWN(CHANGE WITH NEWS). 무단전재-재배포 금지]