Ruby의 명명법은 ‘놀랍지만 필연적인(surprising but inevitable)’ 특징을 가집니다. 이는 이름 자체만으로는 기능을 유추하기 어렵지만, 그 배경이나 숨겨진 의미를 알게 되면 고개를 끄덕이게 되는 방식입니다. 예를 들어, Avdi의 ‘gem-love’라는 젬에 대해 David Brady는 ‘glove’로 이름을 바꾸라고 제안하며 Ruby 커뮤니티의 문화적 특성을 언급합니다. 이는 단어의 유희를 통해 유머를 추구하는 Rubyist들의 성향을 보여줍니다.
가장 대표적인 예시는 HTML/XML 파싱 라이브러리인 ‘Nokogiri’입니다. ‘Nokogiri’는 일본어로 ‘전기톱’을 의미합니다. 이 이름은 여러 층의 유머를 내포하고 있습니다. 첫째, Nokogiri는 구조화된 텍스트 문서(문서 트리)를 다루는데, 전기톱은 실제 나무(트리)를 다루는 도구입니다. 둘째, ‘Nokogiri’는 톱날처럼 톱니 모양의 산맥 이름이기도 합니다. 이처럼 이름 하나에 여러 가지 의미와 유머가 복합적으로 얽혀 있어, 처음에는 이해하기 어렵지만 그 의미를 파악하고 나면 감탄하게 되는 Ruby만의 독특한 명명 예술을 보여줍니다.
이러한 Ruby의 명명 문화는 Ruby의 지적 조상이라고 할 수 있는 Smalltalk와 Lisp 해커들의 ‘불경함(irreverence)’에서 그 뿌리를 찾을 수 있습니다. 이들 언어의 개발자들 또한 유머와 창의성을 중시하는 경향이 있었으며, 이는 Ruby 커뮤니티로 이어져 내려왔습니다. 현대 소프트웨어 개발이 점차 실용적이고 검색 엔진 최적화에 맞춰지는 경향 속에서, Ruby의 이러한 ‘변덕스러운(whimsy)’ 명명 방식은 마치 저항적이거나 ‘펑크(punk)’적인 행위로 비춰질 수 있습니다. 즉, 코드를 기능적으로는 간결하고 효율적으로 유지하되, 그 결과물에 이름을 부여하는 과정에서 개발자의 개성, 유머, 아름다움, 재치를 담아내는 일종의 ‘자유 발언’ 행위로 볼 수 있습니다.