파이썬을 배우다
파이썬이란 언어가 있다는 사실은 2013년 정도엔가 회사 동료가 '파이썬' 언어를 할 줄 안다고 말해서 알게 되었다. '레드썬'도 아니고, 무슨 파이썬인가 했는데 그 이후론 뭐 프로그래밍에 관심이 없기도 했고 다음 회사에서 다루는 언어는 C 였기 때문에 더더욱 관심을 가지지 않게 되었다.
웹 개발을 배우기 시작하면서 node.js 환경과 javascript 언어를 배우게 되었다. 그러면서 python이라는 언어가 종종 나오곤 했지만 javascript로 대부분의 것들을 해결할 수 있다고(?) 생각해서 굳이 배워야 하나 싶었다. 그러나 숫자 관련 데이터 핸들링을 파이썬으로 처리하는 동료를 보면서 아, 뭔가 복잡한 수식 계산에 파이썬이 더 좋을 수 있겠구나 상상만 했는데...
마침 작은 프로젝트를 따게 되었다. 클라이언트는 Fortran 언어로 코드를 짰는데 파이썬으로 다시 짜고 싶다고 했다. 그래서 파이썬을 배워가면서 코드를 짰다. 몇 가지 다른 점 말고는 코드 문법 자체가 많이 다르진 않았다. 하지만 웹 개발 환경에 먼 익숙한 나는 윈도우에서 돌아가는 local program에 대한 이해가 필요했다.
처음엔 클라이언트분께 '제가 할 줄 아는 것이 웹 개발이니, 수식 계산은 파이썬으로 하더라도, 그려지는 부분, 사용자 인터페이스는 브라우저에서 열리도록 만들겠습니다'라고 했다. React를 쓰고자 하는 생각이었다.
그런데 다시 생각해보니, 프로그램을 만들어 달라고 했는데 브라우저에서 열리면 뭔가 좀 이상할 것 같다는 생각을 했다. 그래서 그냥 윈도우 OS에서 바로 열리는 샐항가능한 exe 파일을 만들 수 있을까 찾아봤다.
먼저 view를 담당하는 python GUI 프레임워크인 tkinter를 적용해봤다. 생각보다 간단해 보여서 적용.
그리고 *. py 파일을 실행 가능한 파일로 바꿔주는 pyinstaller라는 라이브러리를 사용했다. 내 개발 환경은 mac인데 pyinstaller가 자체적으로 실행한 OS환경에 따라 최종 실행파일을 결정해 버리는 것이 문제였다. 그래서 윈도우 PC를 다시 열어 동일하게 exe 파일이 잘 만들어지는지 확인했다. 다행히 성공.
그래프를 그리는 부분은 matplotlib라는 라이브러리를 사용할 예정이다. 사용하기 정말 쉽다.
사실, 아직까지는 파이썬의 장점을 잘 모르겠다. 그만큼 복잡한 계산을 안 해서 그런지도... 이 프로그램을 마무리하면 파이썬에 대해 좀 더 알게 될까? 쓸데없는 괄호들이 없어서 좋긴 하다. semi-colon을 안 찍어도 죄책감이 안 들어서 그것도 좋다. (요즘 javascript 에서는 semi-colon을 안 찍는 것으로 컨벤션을 정하기도 한다더군요)