2023년 4월 15일 토요일

Julia가 파이썬과 다른 점

 프로그램언어 julia를 익히면서 이와 비슷한 언어 파이썬과 두드러진 차이가 나는 부분을 정리해봅니다.

1) 실행 속도


C를 비롯하여 많이 사용하는 다른 프로그램 언어와 비교한 벤치마크 결과입니다. 파이썬보다 빠를 뿐만 아니라 C 언어에 육박할 정도입니다. 이런 속도는 julia가 한 method에서는 한 type만 출력한다는 type stability를 근거로 design된 덕분입니다.


출처 : https://julialang.org/benchmarks/

 

2) Array index

Array index은 파이썬과 달리 0부터 시작하지 않고 1부터 시작합니다. 그리고 slice의 두번째 element도 포함합니다.


파이썬이었으면  a[1:3][2,3]라고 표시했을 겁니다.

range도 같습니다. 두번째 인수가 stop를 뜻하는데 파이썬은 포함되지 않지만 julia는 포함합니다.


파이썬이라면 1,2,3만 나옵니다.

 

3) String 연결

다른 언어에서는 문자열 연결에 “+”를 사용하는 반면에 julia는 특이하게 “*”를 사용합니다.  일반적으로 “+”는 교환법칙이 적용되는 반면에 “*” 는 교환법칙이 적용되지 않으니 문자열 연결에는 이 연산자에 더 맞다고 보는 것 같습니다.

 


 

4) 함수 인수 변경 가능

파이썬은 함수 인수를  내부에서 변경해도 함수 밖에서 변경된 값을 볼 수 있습니다. 함수명에 느낌표가 있어야 하고 인수는 array와 같은 mutable 변수이어야 합니다.



5) Struct

파이썬과 달리 composite type, struct를 지원합니다. 대신 class, , object oriented 프로그램은 지원하지 않습니다.



댓글 없음:

댓글 쓰기