Rob Pike의 5가지 프로그래밍 규칙

발행: (2026년 3월 18일 PM 06:59 GMT+9)
3 분 소요

Source: Hacker News

Rob Pike의 규칙

규칙 1

프로그램이 어디에서 시간을 소비할지 알 수 없습니다. 병목 현상은 예상치 못한 곳에서 발생하므로, 병목이 그곳이라는 것이 증명될 때까지 속도 해킹을 시도하지 마세요.

규칙 2

측정하라. 속도를 튜닝하기 전에 반드시 측정하고, 그럼에도 전체 코드 중 한 부분이 나머지를 압도할 때만 튜닝하라.

규칙 3

복잡한 알고리즘은 n이 작을 때 느립니다. 그리고 n은 보통 작습니다. 복잡한 알고리즘은 큰 상수를 갖습니다. n이 자주 크게 될 것이라는 확신이 서기 전까지는 복잡하게 만들지 마세요. (설령 n이 커지더라도 먼저 규칙 2를 적용하세요.)

규칙 4

복잡한 알고리즘은 단순한 알고리즘보다 버그가 더 많이 발생하고 구현도 훨씬 어렵습니다. 단순한 알고리즘과 단순한 데이터 구조를 사용하세요.

규칙 5

데이터가 우선합니다. 올바른 데이터 구조를 선택하고 잘 조직한다면, 알고리즘은 거의 언제나 자명해집니다. 프로그래밍에서 핵심은 알고리즘이 아니라 데이터 구조입니다.

Pike의 규칙 1과 2는 Tony Hoare의 유명한 격언을 다시 말한 것입니다:
“조기 최적화는 모든 악의 근원이다.”

Ken Thompson은 Pike의 규칙 3과 4를 “의심스러울 땐, 무차별 대입을 사용하라”는 식으로 바꾸었습니다.

규칙 3과 4는 설계 철학 KISS(Keep It Simple, Stupid)의 사례입니다.

규칙 5는 이전에 Fred Brooks가 The Mythical Man‑Month에서 언급한 바 있습니다.
규칙 5는 흔히 “똑똑한 객체를 사용하는 바보 같은 코드를 작성하라”는 식으로 요약됩니다.

0 조회
Back to Blog

관련 글

더 보기 »

Show HN: Tmux-IDE, OSS agent-first 터미널 IDE

tmux-ide New 1.2.0/docs/release-1-2-0 Claude 에이전트‑팀 레이아웃을 준비합니다. 리드 pane을 만들고, 팀원‑준비된 Claude pane을 구성하며, dev tools를 하나의 tmux layout에 배치합니다. t...

Show HN: 내 비행기에 Starlink가 있나요?

개요 Starlink가 탑승한 비행기를 타볼 운이 있었다면, 그 hype를 이해할 수 있을 겁니다—실제로 작동합니다! 하지만 비행기에서의 이용 가능성은 고르지 않습니다.