Search

'번역'에 해당되는 글 1건

  1. 2011.10.14 내가 프레임워크를 싫어하는 이유

내가 프레임워크를 싫어하는 이유

번역 2011. 10. 14. 11:09 Posted by 알 수 없는 사용자
글이 너무 재밌어서 번역해본다. 너무 심각하게 읽을 필요는 없다. 이 글을 쓴 사람도 프레임워크에 대한 비난을 하기 보단 개천을 건너기 위해 배를 건조하는 일은 없도록 하자는 정도로 이렇게 표현했다고 본다. 즐거운 유머로 받아들이면 될 듯. 글 중간중간에 역주를 달고 싶은 유혹이 무척 많았지만 오히려 글을 망치는 것 같아 관뒀다. 그리고 영어를 읽을 수 있다면 가급적 원문을 읽으시길 권한다. 자연스럽게 읽히도록 하다 보니 직역을 하진 않았다. 번역문 시작!

제목: 내가 프레임워크를 싫어하는 이유

요즘 자바 웹 어플리케이션을 만들어보려고 계획하는 중이다. (어쩔 수 없다. 자바여야 한다. 여러가지 이유가 있는데 지금 설명하고 싶진 않다) 여튼 만들려고 하다보니, J2EE 포틀릿이 가능하고 JSR을 준수하는 MVC 롤 기반의 CMS 웹 서비스 어플리케이션 컨테이너 프레임워크를 몇 개 살펴보게 되었다.

각 프레임워크에 대한 문서를 수십시간 읽고났더니 눈이 빠지려 한다.

양념통 선반을 만들기로 했다고 상상해보자.

예전에 몇 번 비슷한 걸 나무로 만들어봐서 나름대로는 뭐가 필요한지 잘 알고 있다. 나무와 몇 가지 기본적인 도구가 있으면 된다. 줄자, 톱, 평평한 작업대, 망치 정도?

내가 만약에 양념통 선반이 아니라 집을 짓고 싶었다고 해도 여전히 자, 톱, 작업대, 망치는 필요하겠지.

어쨌든 도구를 사러 상점에 갔다. 점원에게 망치는 어디 있나 물어봤다.

점원이 대답한다. "망치요? 요즘에 아무도 망치 안 사요. 완전 유행 지났는데."

좀 놀랬다. 왜 그런지 물어봤다.

"흠, 망치의 문제는 말이죠, 종류가 너무 많다는 거죠. 큰 망치, 장도리, 볼핀 해머, ... 이런 거 중에 하나만 사셨다가 나중에 다른 게 또 필요하시면 어떡해요. 그럼 또 사셔야 되잖아요. 그래서 우리는 이런 생각을 했어요. 살면서 망치질 할 일이 있을 때, 어떤 경우에도 쓸 수 있는 망치를 사람들이 정말로 원하겠구나 하고요."

"흐음. 뭐, 맞는 말인 거 같네요. 그럼 그 만능 망치는 어디 있어요?"

"없어요. 더 이상 안 팔아요. 그것도 옛날 이야기죠."

"네? 좀 전에 만능 망치가 대세가 될 거라고 하지 않았어요?"

"만능 망치를 만들어보니 오히려 어디에도 별 쓸모 없다는 걸 알게 됐어요. 못 박는데 커다란 망치를 쓰면 불편하잖아요. 그리고 옛날 여자친구를 죽이고 싶으면 볼핀 해머만한게 없기도 하고요."

"그건 그렇네요. 그래서, 이제 아무도 만능 망치를 안 사고, 상점에서는 옛날 스타일의 망치를 안 파시고. 그럼 어떤 망치를 파세요?"

"사실, 이제 우린 전혀 망치를 팔지 않습니다."

"그러면..."

"우리가 연구를 좀 해봤는데요, 사람들이 원하는 건 만능 망치 같은 게 아니었어요. 일을 할 때 그 일에 딱 맞는 망치를 쓰는 게 중요하죠. 그래서 우리는 망치 공장을 팔기 시작했어요. 어떤 망치든 만들 수 있는 공장이요. 망치 공장에서 일할 사람 구하시고 재료 좀 사신 다음에 기계 돌리면 아주 빠르게 정확히 원하는 망치를 만드실 수 있죠."

"저 그런데 전 정말로 망치 공장을 사고 싶은 생각은 안 드는데요."

"네네. 사실 그것도 더 이상 안 팔아요."

"저기 근데 좀 전에..."

"대부분의 사람들이 말이죠, 공장을 통째로 사는 걸 별로 원하지 않는다는 걸 알게 됐거든요. 볼핀 해머가 전혀 필요 없는 사람이 있을 수도 있으니까요. 뭐 헤어진 여친이 없다거나 볼핀 해머 대신에 송곳으로 죽였거나 뭐 그런 사람들이요. 그래서 포인트는, 모든 망치를 다 만들 수 있는 망치 공장을 사는 사람은 없더라 이거죠."

"네. 말되네요."

"그래서, 대신에 공장을 만들 수 있는 설계도를 팔기 시작했어요. 고객들이 직접 망치 공장을 만들 수 있게 해주는 거죠. 원하는 망치들만 정확히 만들어 낼 수 있는 망치 공장을 만들 수 있지요."

"내 생각엔, 그것도 이제 안 파시죠?"

"네. 당연히 안 팔죠. 망치 몇 개 만들자고 공장을 짓는 걸 별로 원하지 않는다는 걸 알게 됐거든요. 공장을 만드는 건 공장 짓는 전문가들이 해야죠."

"맞는 말씀입니다."

"네. 그래서 설계도 파는 건 그만두고 망치 공장을 만드는 공장을 팔기 시작했어요. 망치 공장 공장으로 부를게요. 이 망치 공장 공장은 일반인들을 위해서 최정상급 전문가들이 만들었어요. 그러니 공장 내부에 대해서는 전혀 신경 쓰실 필요가 없죠. 그러면서도 사용자의 취향에 딱 맞는 망치 공장을 만들어낼 수가 있죠. 사용자가 필요한 대로 망치를 설계한 다음에 대량 생산할 수도 있어요."

"어, 글쎄요, 그건 그다지..."

"그렇게 말할 줄 알았어요!! 그것도 역시 지금은 안 팔아요. 몇 가지 이유로, 망치 공장 공장을 사는 사람도 별로 없더라고요. 그래서 이 문제를 해결하기 위한 새로운 해결책을 생각해냈죠."

"아하."

"사람들이 망치 공장 공장과 거기서 만들어진 망치 공장을 관리하고 가동하는 부분에서 많이 좌절하더라고요. 확실히 그런 작업이 좀 부담스럽긴 하죠. 그리고 다른 공구들도 생각해봤을 때, 줄자 공장 공장, 톱 공장 공장, 선반 공장 공장 같은 거 더 모두 작동하려면 좀 힘들긴 하잖아요? 그냥 양념통 선반이나 만들려고 했던 사람한테는 확실히 복잡한 과정이긴 하죠."

"네. 정말 그렇네요."

"그래서 이번 주에 우리가 신제품을 하나 내놨어요. 범용 공구 제작 공장 공장 공장인데요, 사람들이 필요로 하는 어떤 공구 공장 공장이라도 이 하나의 통합된 공장에서 만들 수 있어요. 이 공장 공장 공장은요, 딱 필요로 하는 도구에 대한 공장 공장만을 만드실 수 있거든요. 그러면 이 공장 공장에다가 필요한 공구의 스펙을 넣어주면 그 공구를 만드는 공장이 짠 하고 만들어지는 거죠. 뭔가 만들려고 할 때 그것을 위한 딱 맞는 공구셋을 이 과정을 통해서 얻으실 수 있겠지요. 물론 정확한 설정 파일들을 세팅해주셔야 하긴 합니다만 버튼 한 번 누르시면 정확히 필요했던 망치, 정확히 필요했던 자를 얻으실 수 있는거죠."

"그래서 이제 망치는 전혀 안 파시는거에요? 하나도요?"

"네. 고품질의 양념통 선반을 만들고 싶으시면 싸구려 도구 상점에서 파는 조잡한 망치보다는 뭔가 세련된 도구가 확실히 필요하죠."

"어... 다른 사람들도 다 그래요? 다들 망치 필요할 때 범용 도구 제작 공장 공장 공장을 쓰고 있는거에요?"

"그럼요."

"흠, 알겠어요. 저도 그래야겠네요. 다들 그렇게 하고 있다면 저도 어떻게 하는지 배우는게 좋겠네요."

"잘 생각하셨어요!!"

"설명서도 같이 주시죠?"

- Benji Smith, 2005년 9월 30일 금요일.