brunch

You can make anything
by writing

C.S.Lewis

by 첨물 Mar 17. 2024

줄리아, 파이썬, R 코드 비교

GPT 도움받아 코딩해 보기

얼마 전부터 줄리아라는 프로그램 언어에 관심이 생겨 파이썬과 R 비교를 하고 있다.


Julia의 제작자는 2012년 블로그 게시물에서 Julia를 만든 이유를 설명했습니다. 그들은 말했다:
우리는 욕심이 많습니다. 우리는 더 많은 것을 원합니다. 우리는 자유로운 라이선스를 갖춘 오픈 소스 언어를 원합니다. 우리는 Ruby의 역동성과 C의 속도를 원합니다. 우리는 Lisp와 같은 진정한 매크로를 사용하면서도 Matlab과 같은 명백하고 친숙한 수학적 표기법을 사용하는 동음이의적 언어를 원합니다. 우리는 Python만큼 일반 프로그래밍에 사용할 수 있고, R만큼 통계에 쉽고, Perl만큼 문자열 처리에 자연스럽고, Matlab만큼 선형 대수학에 강력하고, 프로그램을 쉘처럼 결합하는 데 능숙한 것을 원합니다. 배우기가 쉽지만 가장 진지한 해커들을 행복하게 해주는 것입니다. 우리는 그것이 대화형이고 컴파일되기를 원합니다.


https://www.google.com/url?sa=i&url=https%3A%2F%2Fmedium.com%2F%40jesus.cantu217%2Fa-comparative-ana


파이썬, R 보다 늦게 나온 줄리아는 위와 같이 모든 언어를 다 잡아먹을 듯한 포부를 가지고 시작된 듯하다.

이런 언어를 만드는 개발자들이 새삼 위대하다는 생각이 들었다.


어쨌든 공부할 겸 컴퓨터에 줄리아를 깔고 주피터 노트북으로 파이썬과 줄리아를, RStudio에서 R를 사용해 가며 언어의 차이점을 비교해보고 있다. ChatGPT의 도움으로 하나의 코드를 다른 언어로 바꾸어가며 비교해 보는 것이 나름 재미가 있었다.




줄리아가 특별히 과학기술 언어라 불리는 만큼 상미분 방정식을 세 개의 언어를 이용하여 풀어보고 시각화를 해 보았다.



먼저 GPT에게 R로 코드를 짜 보라고 하였다.



R에서 미분방정식을 푸는 패키지는 "deSolve"이다

그리고 plotly 로 그래프를 그리라고 하였다.


다음은 파이썬으로 만든 코드이다.

여기서 상미분 방정식을 푸는 것은 solve_ivp 인가보다.



마지막으로 줄리아에서 만든 코드와 결과값이다.

줄리아에서 상미분 방정식 푸는 패키지는 DifferentialEquations

좀 더 직관적으로 다가오네.




실행 시간을 비교해 보았다.


R

[1 "실행 시간: 1.13113403320312"


파이썬

Execution time: 0:00:00.049768


줄리아

Execution time:0.002000093460083008


줄리아는 2ms < 파이썬 5ms < R 1.1s


과연 줄리아가 빠르다.


Quarto에서 세 개의 언어를 모두 사용하여 문서를 작성할 수 있다고 하니, 각각의 장, 단점을 파악해 가면서 다중언어 (multilingual) 사용자의 기쁨을 주말마다 가져보려고 한다.





ChatGPT를 옆에 두고 살아가는 시대다.

얼마 전  동생이 교회 주일학교에서도 GPT를 사용한다고 해서 찍어온 사진이다.

변화의 중심에 서 있는 듯하다.


매거진의 이전글 인지편향을 바라보는 물리학도
브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari