Why Programming Is Fun?

@codemaru · January 03, 2007 · 6 min read

김창준님의 "프로그래머의 위기지학"에 대한 트랙백

위 트랙백 코멘트에도 달려있지만 전 정말 저 글을 읽을 때 무척 흥분했습니다. 막 주몽이를 다운받아서 보고 저 글을 읽게 되었는데 정말 주몽이보다 더 재밌더군요. ㅎㅎ 특히나 워드 커닝햄의 말을 읽을 때는 심장이 멎을 뻔 했습니다. 물론 약간은 과장은 있습니다. ㅋ

저는 작지만 유용한 프로그램들을 매일 작성할 것을 추천합니다. 누군가가 똑같거나 혹은 더 나은 걸 이미 만들었다는 데에 절대 신경쓰지 마세요. 유용성과 복잡성 간의 균형 감각을 얻기 위해서는 당신 자신이 만든 프로그램의 유용성을 직접 느껴봐야만 합니다. --워드 커닝햄

한동안 그 때의 흥분을 잊고 지내다 오늘 집으로 날라온 DDJ를 보고는 뭔가를 써야겠다고 다짐하게 되었습니다. 정말 제다로 삘이 꽃이는 기사를 본 것이죠. 전체를 읽은 것도 아니고 헤드라인만 보고도 놀랐습니다. ㅋ

Why Programming Is Fun
It's combination of intelligent and creative work.

공감하시나요? 전 전적으로 공감합니다. 그래서 아직도 3D 업종이라고 분류하기도 하는 프로그래머로 밥벌어 먹고 사는지도 모르겠습니다. 프로그래머의 위기지학, 재밌는 프로그래밍. 여러분은 어떤 자작 프로그램을 사용하시나요? 전 최근에만 두 개의 저에게만 유용한 프로그램을 만들었습니다.

장면1: 요즘 전 블로그에 체스관련 글을 많이 올립니다. 뭐 대단한 고수가 되자고 공부하는 건 아니공, 그냥 재미삼아 공부한 것들을 올리곤 하는 것이 주된 이유죠. 처음 체스 이야기를 쓸 때 였습니다. 글을 한참 썼는데, 룩은 직선으로 움직이고, 퀸은 8방향 다 갈 수 있다고 주저리 주저리 써놓고 보니 뭔가 만족 스럽지 않았습니다. 그래서 그림을 올려야 겠다고 마음 먹었는데, 제가 원하는 그림을 찾기는 쉽지 않았습니다. 체스판 드로잉 프로그램을 찾아 보았으나 잘 없더군요. ㅠㅠ. tex으로 된걸 하나 찾았는데, 컴퓨터에 tex을 설치하긴 싫고, 좀 더 편하게 그리고 싶었습니다. 그래서 전 간단한 프로그램을 만들었습니다.

Why Programming Is Fun md 0

프로그램은 왼쪽 그림과 같은 형태입니다. 64칸을 화살표나 마우스로 움직일 수 있고, b를 누르면 백 비숍, B를 누르면 흑 비숍이 그려지는 형태입니다. 다 그리고 나면 png 포맷으로 저장할 수 있습니다. 한동안 이 놈으로 별 불편함 없이 포스팅할 수 있었습니다. 그런데 점점 내용이 복잡해 질 수록 그림으로는 한계가 있었습니다. 그래서 이 프로그램이 체스 기보 파일을 읽어서 동영상을 만들어 주면 좋겠다고 생각했습니다. 하지만 swf 파일 포맷을 읽고 나서는 생각이 바꼈습니다. 너무 어렵더군요.

물론 이 프로그램을 조악하고, 전혀 범용적이지 않습니다. 전적으로 저의 요구사항만을 반영한 프로그램입니다.

장면2: 몇 일 전 쯤에 전 자바스크립트로 체스 기보 뷰어를 만들면 별도의 프로그램 없이도 볼 수 있겠다는 생각을 했습니다. 그리고 별 생각 없이 몇 시간 작업해서 pgn 기보를 보여주는 스크립트를 만들 수 있었습니다.그런데 급조한 놈이라 그런지 예상못한 여러가지 문제를 가지고 있었습니다. 그래서 다음날 새롭게 스크립트를 고쳤습니다. 물론 만들기전에 어떻게 만들지 연습장에 좀 끄적여 보았죠.  새로 만든 스크립트는 전 날 만든 것 보다 훨씬더 유연하게 동작했습니다.

가끔 사소하지만 저의 불편함을 해소할 수 있는 것들을 만들수 있다는 단순한 사실 하나만으로도 전 프로그래밍이 좋고, 프로그래머인게 자랑스럽습니다. 자신의 일에서 재미를 느낀다는건 참 행복한 일인것 같습니다.

@codemaru
돌아보니 좋은 날도 있었고, 나쁜 날도 있었다. 그런 나의 모든 소소한 일상과 배움을 기록한다. 여기에 기록된 모든 내용은 한 개인의 관점이고 의견이다. 내가 속한 조직과는 1도 상관이 없다.
(C) 2001 YoungJin Shin, 0일째 운영 중