그러면 안된다.
익숙함이란 결국 '얽메임'이라고 할 수도 있다. 자신이 주로 쓰는 것을 '잘' 사용하는 것은 문제가 안 되지만, 그것'만' 사용할 줄 아는 것은 문제가 된다. 나는 언젠가 이런 고민을 한 적이 있다.
'이 프로그램을 잘 배워서 매우 능숙해 질 것인가?'
그런데 조금 더 생각을 해보니 그것은 많은 제약을 의미했다. 곧, 그 프로그램을 사용할 수 있을만한 많은 조건이 갖추어졌을 때만 사용할 수 있다는 것, 그리고 그 프로그램이 적합하지 않은 경우에는 어떻게 해야 하는가, 하는 문제. JVM 위에서 돌아가는 프로그램에 익숙해졌다면 아마도 메모리가 충분하지 않은 환경에서는 그것을 사용할 수 없을지도 모르고, 윈도우즈에서 돌아가는 프로그램에 익숙해 졌다면 리눅스나 맥에서는 그 작업을 못할 수도 있다. 적은 경우이긴 하지만, 반대로 리눅스에서만 돌아가는 프로그램에 익숙해졌다면 윈도우즈가 설치된 환경에서는 그 프로그램을 사용할 수 없을 수도 있다. 또한, 내가 익숙해진 그 프로그램으로 사용하기에는 매우 비효율적인 작업을 처리해야 할 상황도 생길 수 있다. 이런 생각 끝에 나는
'차라리 어느 프로그램이든 그것에 빠르게 익숙해지는 법을 배우자'
라는 결론을 내렸다.
이것은 비단 프로그램에 국한된 것은 아니고, 그래서 프로그래밍 언어나, 심지어 일상생활에서의 많은 것들에도 적용이 된다. 어쨌든 그런 생각을 한 이후 여러 경험을 하면서, 하나의 작업을 하기 위한 많은 방법들을 알게 되었으며, 더 중요한 것은, 하나의 작업을 수행할 수 있는 방법이 여럿 있다는 것을 알게 된 것이다. 윈도우즈에서 잘 안 되면 리눅스에서 하면 되고, matlab 으로 잘 안 되면 (또는 조금 불편하면) maple 이나 scilab 으로 하면 되고, 또는 firefox로 안되면 chrome을 켜고, 그래도 안되면 결국 IE로 하고, ms-word로 하는데 잘 안 되면 한글을 켜보고, 그래도 안되면 wordpad, nodepad, vim 등으로 해보는 것 등등등. 예전 언젠가는 IE로 웹페이지를 mht 파일로 저장하는 것을 C++ 로 하려고 찾았는데 자료가 없거나 잘 안 되어서 델파이로 바꿔서 검색을 하니 자료가 금방 나왔고, 작업 자체도 매우 쉽게 끝마칠 수 있었다. 물론 손에 익은 프로그램이나 언어를 제일 먼저 고려하는 것은 어쩔 수 없는 일이지만, 무작정 그것들을 이용할 생각은 좀처럼 하지 않고,
'흠, 이 작업은 어느 프로그램으로 하면 편하려나?', 또는
'이 작업은 C++ 보단 파이썬으로 해야겠군'
과 같은 선택을 제일 먼저 하게 된다. 많은 경우 특정 프로그램이나 프로그램 언어를 사용하는 것이 목적이 아니라 주어진 작업을 처리하는 것이 목적이기 때문에 그것에 적합한 그 무엇을 사용하는지는 전혀 상관이 없는 경우가 많은데 우리는 좀처럼 그런 생각을 하지 않는다. 나는 아마도 이것이 어느 프로그래밍 언어가 더 좋다는 무의미한 많은 논란이 생기는 이유가 아닐까 생각한다. 파리를 잡으려고 대포를 사용하지 않는 것처럼 cgi 짜려고 C++을 이용하거나 임베디드나 영상처리를 하려고 파이썬을 이용하는 것은, 그 두 언어가 매우 좋은 언어임에도 불구하고 그리 좋은 선택은 아닐 것이다. 곧, 주어진 작업에 어느 언어가 적합한 것인지를 고려해야 하는 것이다.
그래서 지금은, 뭐, 어떻게든 되겠지, 하는 생각과 구글신의 도움으로 적합한 프로그램이나 언어를 검색하여 결정한 후, 역시 구글신의 도움으로 자료를 보고 그것을 거의 곧바로 사용하게 된다. 글을 읽고 이해할 수만 있다면 프로그램이나 프로그램 언어를 익히는 것은 그리 어렵지 않고, 만약 매우 발전된 내용이 필요한 작업이라면 어쩔 수 없이 공을 들여 할 수밖에 없으니 그런 것 쯤은 감수를 해야겠지. ~~쉽게 하기, 와 같은 것은 별 관심이 없다. 1
결국, 캡쳐를 하고 싶다면 Print Screen 을 사용할 수도 있고, SnagIt 을 사용할 수도 있고, mp3를 듣고자 한다면 Winamp 나 곰오디오, 미디어 플레이어, 리눅스의 그 무엇(이름도 기억이 안나네...), 도식화된 그림을 그릴 때는 powerpoint나 visio, 또는 dia, google docs의 powerpoint를 쓸 수도 있고, 수식을 써야 한다면 latex 이나 ms-word나 한글이 수식 툴을 사용할 수도 있다. 그래프를 그려야 한다면 엑셀이나 오리진, Prism, SPSS, matlab, maple, python의 matplotlib, perl의 gd, 이도저도 다 만족스럽지 않으면 그냥 C++로 짜든가, 또는 진리의 우분투에 있는 여러 프로그램들, 하여튼, 대부분의 작업에 대하여 그것을 행할 수 있는 여러 방법들을 갖게 되었다. 만약 mac 에서도 작업하게 된다면 더 늘어날 수도 있겠지.
요는 그것이다. 하나의 작업을 할 수 있는 여러 방법을 익히는 것, 그리고 그것이 가능하다는 것을 아는 것. 이렇게 되면 어느 프로그램이나 어느 언어가 더 좋다는 무의미한 논쟁 따위는 할 필요도 없고, OS가 바뀌거나 내가 익숙하지 않은 환경에서 작업해야 한다는 것에 대한 부담이 매우 많이 줄어들게 된다.
ps. 이 글은 상당히 교조적이다. 내가 글을 쓰는 스타일이나 주장하는 스타일 때문에 그렇기는 한데, 위의 생각은, 물론, 다른 많은 나의 생각과 마찬가지로, 확정적이지 않다. 더 좋은 생각이나 관점이 나타난다면 언제나 그것에 자리를 내줄 준비가 되어 있지만, 아직 그것을 알지 못하기에 버리지 않고 갖고 있는 생각일 뿐. 또한 위와 같은 태도는 내 친구를 보면서 배운 면도 상당히 크다. 그 녀석은 나보다 더 빨리 리눅스를 사용하기 시작했고, 나보다 더 새로운 환경에 대해 익숙하게 익혀나갔던 녀석이다. 그래서 그랬는지 녀석은 결국 전산을 부전공했고, 지금도 그 쪽에서 일하고 있다.
- 곧, '못하지는 않겠지', '분명 방법은 있어', 하는. 될대로 되어버려라, 같은 부정적 태도가 아니라. 그런데, 정말로, 왠만한 것은 찾아서 노력좀 하면 대부분 되긴 된다. [본문으로]
'컴퓨터 > 전산, 그 외' 카테고리의 다른 글
웹페이지 마우스 오른쪽 클릭을 막아야 하는가? (1) | 2011.02.25 |
---|---|
아... STL의 algorithm (0) | 2011.02.09 |
컴퓨터 언어를 배워 볼 필요 (0) | 2010.10.06 |
스크립트 언어, 좋더라 (0) | 2010.09.29 |
C/C++ 을 처음에 하지 마라 (65) | 2010.09.08 |