TECH 으로 돌아가기
TECH HACKER NEWS 1주 전 6분 읽기 23 READS

좋은 도구는 눈에 보이지 않는다 — Odin 언어 창시자가 말하는 도구의 철학

좋은 망치는 존재를 잊게 만든다

프로그래밍 언어 Odin을 만든 Ginger Bill(진저 빌)이 짧지만 곱씹을 만한 글을 하나 내놨어요. 제목은 "좋은 도구는 보이지 않는다(Good Tools Are Invisible)". 이게 무슨 뜻이냐면, 정말 잘 만든 도구는 쓰는 동안 그 도구의 존재 자체를 잊게 만든다는 거예요.

목수를 생각해보세요. 실력 있는 목수는 망치질을 하면서 "자, 지금 이 망치를 이렇게 쥐고 이 각도로 휘둘러서..." 이런 생각 안 해요. 머릿속엔 오직 만들려는 가구만 있고, 망치는 그냥 손의 연장선처럼 자연스럽게 움직여요. 도구가 의식에서 사라지고, 하려는 일에만 온전히 집중하게 되는 거죠. 반대로 손잡이가 헐거운 망치를 쓰면 어떻게 될까요? 매 순간 "이거 빠지지 않게 조심해야지" 하고 도구에 신경이 쏠려서, 정작 만들려던 가구는 뒷전이 돼요.

도구가 '보이는' 순간이 곧 문제다

이 아이디어는 사실 철학에도 뿌리가 있어요. 하이데거라는 철학자가 말한 개념인데요. 도구가 손에 착 붙어 자연스럽게 쓰일 때는 아예 의식되지 않아요(이걸 '손안에 있음'이라고 불러요). 그러다 도구가 고장 나거나 삐걱거리는 순간, 갑자기 그 도구가 눈앞에 툭 튀어나와서 존재감을 드러내죠. 진저 빌은 이 통찰을 소프트웨어 도구에 그대로 가져와요.

생각해보면 우리 개발자들이 매일 겪는 일이에요. 잘 만든 에디터나 라이브러리는 쓰는 줄도 모르게 술술 흘러가요. 그런데 자꾸 삽질하게 만드는 프레임워크, 이상한 데서 터지는 빌드 도구, 문서를 열 번은 봐야 겨우 쓰는 API를 만나면 어떤가요? 정작 만들려던 기능은 진도가 안 나가고, 하루 종일 도구랑 씨름만 하게 되죠. 그 순간 그 도구는 '보이는' 상태, 즉 나쁜 도구가 된 거예요.

핵심은 이거예요. 도구의 목적은 자기 자신을 드러내는 게 아니라, 사용자가 진짜 하려는 일을 방해 없이 하게 해주는 것. 화려한 기능이 많다고 좋은 도구가 아니라, 오히려 존재를 잊게 할 만큼 매끄러운 게 좋은 도구라는 거죠.

Odin 언어에 담긴 같은 철학

진저 빌이 이 이야기를 꺼낸 데는 이유가 있어요. 그가 만든 Odin이라는 언어 자체가 이 철학 위에 서 있거든요. Odin은 C언어를 대체하려는 시스템 프로그래밍 언어인데, 요즘 유행하는 방향과는 좀 달라요. 남들이 언어에 기능을 잔뜩 쌓아 올릴 때, Odin은 일부러 문법을 단순하게 유지하고 '놀랄 일이 없는' 예측 가능한 동작을 지향해요.

왜냐면 언어에 마법 같은 기능이 많을수록, 개발자는 "이거 내부에서 대체 무슨 일이 벌어지는 거지?" 하고 언어 자체를 계속 신경 쓰게 되거든요. 그럼 도구가 '보이는' 상태가 되는 거죠. Odin은 반대로, 문법이 눈에 안 띌 만큼 담백해서 개발자가 만들려는 프로그램에만 집중하게 하는 걸 목표로 삼아요. "보이지 않는 도구"라는 이 글은 결국 Odin이 왜 그런 선택을 했는지에 대한 설명이기도 한 거예요.

비슷한 결의 철학은 Go 언어에서도 보여요. 문법을 극단적으로 단순하게 유지해서 팀 전체가 코드를 똑같이 읽게 만들었죠. 반대편엔 강력한 대신 배우는 데 오래 걸리는 Rust나 C++ 같은 언어가 있고요. 어느 쪽이 옳다기보다, "도구가 얼마나 존재감을 드러내야 하는가"에 대한 서로 다른 답이라고 볼 수 있어요.

한국 개발자에게 주는 이야기

이 글은 단순히 언어 얘기가 아니라, 우리가 매일 하는 '기술 선택'에 대한 좋은 기준을 줘요. 새 라이브러리나 프레임워크를 고를 때 우리는 흔히 기능이 얼마나 많은지, 별(star)이 몇 개인지를 봐요. 그런데 진저 빌의 기준으로 보면 질문이 달라져요. "이 도구가 내 앞길을 얼마나 방해하지 않는가?" "이걸 쓰는 동안 도구 자체를 얼마나 잊고 일에 몰입할 수 있는가?"

도구를 만드는 입장에서도 마찬가지예요. 사내 라이브러리나 API를 설계할 때, 동료가 그걸 쓰면서 계속 문서를 뒤지고 삽질한다면 그건 '보이는 도구'예요. 반대로 별생각 없이 자연스럽게 갖다 쓴다면 잘 만든 거죠. 좋은 추상화의 척도가 바로 여기 있어요.

마무리

한 줄로 정리하면, 최고의 도구는 화려한 기능이 아니라 존재를 잊게 만드는 매끄러움으로 증명된다는 거예요. 여러분이 지금 쓰는 도구 중에 하루 종일 존재감을 드러내며 여러분을 괴롭히는 '보이는 도구'는 무엇인가요? 그리고 여러분이 만든 코드는 동료에게 보이지 않는 도구인가요, 아니면 자꾸 눈에 밟히는 도구인가요?


🔗 출처: Hacker News

SOURCE · HACKER NEWS
원문 전체 보기 → https://www.gingerbill.org/article/2026/07/10/good-tools-are...
SHARE
처리 중...