[Julia] 줄리아 소개와 특징 :: 빠르고 배우기 쉬운 프로그래밍 언어
글 작성자: Coding Groot
Introduction to Julia
C / C++ / Fortran | 매우 빠르다(good performance), Compute-Intensive한 task에 좋은 언어이다, 오픈소스 컴파일러가 있다, 배우기 어렵다 |
Python / R | 느리다(bad performance), 오픈소스, 배우기 쉽다 |
Matlab | 상대적으로 빠르다, 비싸다, 배우기 쉽다 |
Julia | 빠르다, 오픈소스, 배우기 쉽다 |
줄리아는 파이썬처럼 문법이 간결해서 배우기 쉬우면서도 성능이 좋은 언어이다. 계산을 위한 여러 가지 배려도 볼 수 있었다.
고성능 컴퓨팅(High Performance Computing, HPC)에 포트란이 많이 쓰이는데 요즘 포트란을 배울 수 있는 곳이 별로 없기도 하고 문법도 쉽지 않다. 이러한 상황에서, 쉽게 배우고 사용할 수 있고 잘 사용하면 C언어에 준하는 성능을 뽑아낼 수 있는 줄리아는 충분히 매력적인 선택지라고 생각한다.
줄리아는 새로 만들어진 언어라서 버전별로 문법이 약간씩 다르다. 이제 버전 1.*.*로 들어오면서 안정기에 들어와서 엄청 큰 변화는 없을 것으로 예측된다고 KISTI 줄리아 교육 강사님께 들었다.
그래서 공부할 때 버전을 잘봐야한다. 예전 자료에 있는 함수명들과 최신 줄리아의 함수명이 달라져서 강사님도 강의를 준비할 때 힘들었다고 한다.
Julia의 특징들
- Good Performance
- Optional Typing
- Multiple Dispatch (메서드 오버 로딩 같은 것인 듯하다)
- Acheived using Type Inference and JIT(Just-In-Time) compilation
- Delivers its swift numerical speed thanks to the reliance on a LLVM based JIT compiler
- Multi-paradigm : Imperative, Functional, Object-Oriented Programming
- Matlab, R, Python 언어들처럼, hign-level 계산의 편리성을 제공. (다른 언어들과 비슷하다)
- 제네릭 프로그래밍 지원
- 사용자 정의 자료형이 built-in처럼 빠름
- Performance를 위한 Vectorization 불필요
- Coroutine 지원
- Parallel computing 지원
- 편리한 Package System
- Powerful 하면서도 Unobtrusive한 Type System
출처
반응형
댓글
이 글 공유하기
다른 글
-
[Julia] 줄리아 입문하기 4 :: 표준 모듈(Standard Module)에 대한 이해
[Julia] 줄리아 입문하기 4 :: 표준 모듈(Standard Module)에 대한 이해
2019.09.09 -
[Julia] 줄리아 입문하기 3 :: 모듈(Module)에 대한 이해
[Julia] 줄리아 입문하기 3 :: 모듈(Module)에 대한 이해
2019.09.04 -
[Julia] 줄리아 입문하기 2 :: 줄리아 파일의 종류, 패키지 매니저, 모듈 사용하기
[Julia] 줄리아 입문하기 2 :: 줄리아 파일의 종류, 패키지 매니저, 모듈 사용하기
2019.09.03 -
[Julia] 줄리아 입문하기 1 :: 줄리아 설치 및 실행
[Julia] 줄리아 입문하기 1 :: 줄리아 설치 및 실행
2019.08.21