Python Python 하는데...

심심하지 않고 바쁜 요즘이지만 이미 이전에 자바와 C/C++로 작성한 평범한 사람의 코드를 컴파일해서 돌리면 얼마나 빠를까를 테스트했었는데, 그 코드를 그대로 python으로 옮겨보았다. 사실 하도 python python해서 기존과 다른 형태의 언어를 새로 배우게 하려면 속도라든가 특이한 매력이 있겠지 싶었지만 당장에 필요도 없고 해서 들여다 볼 시간은 없었고 개론적인 책 몇권은 대충 훑어만 본 상태였다.

눈으로 보는 큰 차이는, 이상스레 옛날 쓰던 pascal 생각이 났고, 그러나 ; 세미 콜론을 전혀 쓰지 않고 indent를 어떻게 했느냐에 따라 procee depth를 표시하도록 된 언어였다. matlab script 같은 구석도 있고 말이다. 어쨌는 사용자의 입장에서 새로운 형식을 들여다 볼 수고를 끼치려면 확실히 좋은 당근의 역할을 할 무엇인가가 있어야 한다고 본다.

이를테면 꼭 스크립트형 언어를 써주어야 되는 상황인데 속도까지 빨라야 한다 라고 하면 어떤 언어를 써야지 하게 만든다면 그게 의미가 있고 보는 것이다. 그런데 빠르지도 않고 배우기 쉽지도 않고 지원하는 라이브러리라든가 사용자 군이 매우 두텁다거나 하는 것도 없다면 있을 이유가 없다. 책장사/인터프리터 제작자들 돈 벌게 해주려 중복된 기능/피쳐의 언어를 만들었다 밖에 안되는 것이다.

사실 아무리 많은 책을 봐도 한 번 포팅해본 것만 못하다는 사실을 다시금 깨닫았달까. 무슨 무슨 책을 봤다, 마스터를 했다하면 다 배웠지 생각하는 버릇이 아직도 있나보다. 바보처럼 언어를 공부할 때 언제나 책을 펴들지만 작은 예제라도 프로그래밍하자면 곧 그게 다 의미없는 짓이었다는 것을 깨닫게 된다. 대개 3-4줄도 포팅하지 못한다. 개념적인 이야기만 줄줄이 읽다가 시간만 까먹은 것이지 싶다.

본론으로 돌아와서 똑같이 class를 만들어서 FFT를 수행하도록 해보았는데, C/C++와 견줄 수도 없고 워낙 느리기 때문에 (몇 백배가 느렸는지 계산할 필요도 없다) 내 머리속에서 생각나는 것은 ‘이렇게 느린 걸 왜 써?? 범용성에 있어서 perl보다 특히 좋은 것도 없는데??’ 였다.

아마도 나는 이런 식으로 가다가 미래 사회에서 고립되는 괴로움을 겪게 될지는 모르지만, 내가 이 업계에 애매하게 발을 담그면서 봐온 바로는 간단하게 스크립트라고 쓸 줄 아는 인간은 생각보다 드물었고 그것을 빨리 적재 적소에 써먹는 인간은 그보다도 적었다. 대가 자기가 할 줄 아는 언어 1가지만 잘해도 다행인데 그렇지도 못했다는 것.

그런 의미에서 많은 언어를 할 줄 아는 것도 웃기지만, 대개 그 형식상의 표현이 약간씩 다를 뿐 그 개념이라든가 사고의 흐름은 전혀 다르지 않다. 다만 C++을 쓰는 작자들이 포인터를 재미나게 사용하는 것 외엔 말이다.

솔직히 python 왜 쓰냐?? 난 좀 거지같아보여도 나름 속도가 빠른 프로그래밍 언어? 스크립트 언어? 라고 생각했는데 말이지.

할배 소릴 들어도 그냥 C/C++과 perl로 쭉 가야겠다. 어쩔 수 없는 상황에서만 java, python을 써줄 수 있다만.