루비는 진지한 프로그래밍 언어가 아니다

6 days ago 3

  • 첫 언어가 남기는 각인 효과가 Ruby에 대한 독특한 애정을 만들어, 많은 개발자가 결함을 ‘개성’처럼 받아들이고 있음
  • 뒤늦게 Ruby를 접하면 화려한 겉모습 아래에 있는 동적 타이핑의 허점·footgun·느린 성능이 그대로 드러나며, 한 세대 전에 머물러 있는 느낌이 강하게 남음
  • Twitter의 Fail Whale과 Scala 전환, 그리고 2010년대 전체를 관통한 Ruby 탈출 흐름이 이 언어의 성능 한계를 그대로 증명함
  • Rails는 한 시대를 풍미했지만, 지금은 통합된 철학이 확장성의 벽이 되어버렸고, 웹의 폭발적 성장 속에서 더 이상 자연스럽게 맞지 않음
  • 현재 Ruby를 떠받치는 것은 Rails 레거시와 초기 각인된 개발자들의 감정적 충성심, 그리고 아름다운 이름에 대한 향수뿐임

프로그래밍 언어와 ‘각인’의 힘

  • 심리학에서 말하는 각인(imprinting) 은 프로그래밍과도 비슷하게 작동함
    새끼 거위가 처음 본 존재를 부모로 여기듯, 처음 배운 언어가 개발자의 감각을 오래 지배함
  • Ruby는 바로 그 각인의 대표적인 수혜자
    “프로그래밍이 처음으로 자연스럽게 느껴진 순간” 과 연결되어, 언어 자체에 대한 애착이 깊게 남음
  • 처음 배우면 애정이 앞서 결함이 흐려지지만, 뒤늦게 배우면 그 흐림효과 없이 실체만 보임

Ruby의 탄생과 특징

  • 1995년 일본 오사카 출신 개발자 마츠모토 유키히로(Matz) 가 Ruby를 만들었음. 루비는 서양 이외 지역에서 탄생한 유일한 주요 프로그래밍 언어
  • Matz의 친절한 성격에서 유래한 MINASWAN(Matz Is Nice And So We Are Nice)이라는 커뮤니티 모토 존재
  • 세미콜론이나 괄호 없이 간결한 문법을 갖추어, Python보다도 평이한 영어처럼 읽힘
  • 초보자에게 프로그래밍이 "이해되는" 순간을 주는 언어로 자주 언급됨

Ruby를 늦게 배웠을 때 드러나는 민낯

  • 여러 언어를 거친 뒤에 Ruby로 들어오면, 기대한 ‘우아함’보다 시대착오적인 허술함이 먼저 다가옴
  • 예쁘게 보이도록 디자인된 문법 뒤에, 동적 타이핑의 모호함과 예측 불가한 동작이 그대로 남아 있음
    • Ruby는 동적 타입 언어로, 소규모 프로젝트에서는 유연하지만 대규모 구조에서는 오류가 런타임에서야 드러나는 문제 발생
  • Python이나 JavaScript는 수년간 타입 도구와 정적 분석 생태계를 강화하며 발전했음(예: TypeScript, mypy 등)
    • Ruby는 이에 상응하는 도구가 부족해 "footgun"(스스로 발등을 찍는 기능)이라 불리는 위험 요소에 취약
  • 작은 규모에서는 부드럽게 보이지만, 시스템이 커지면 오류가 실행 시점에야 드러나는 위험을 그대로 안고 있음

Ruby의 일관된 성능 한계

  • 주요 언어 성능 비교에서 Ruby는 거의 항상 최하위권에 머물러 있음
  • Twitter의 Fail Whale(오류시 보이던 고래) 시절은 Ruby 기반 인프라의 한계를 상징하는 사건이었고, 2010년 월드컵 때 대규모 장애가 터지면서 한계가 분명해짐
  • Twitter는 Scala 전환했고, 이후 2014년 월드컵 결승전에서 3,200만 트윗을 문제 없이 처리했으며, 새 백엔드는 이전보다 최대 100배 빠르게 작동
  • 2010년대 내내 많은 기업이 Ruby 인프라에서 벗어났고, 남은 부분도 대부분 레거시 성격으로 유지됨

Ruby가 잃어버린 자리

  • 한때 Ruby와 경쟁하던 Python·JavaScript·Perl은 각자 더 명확한 영역을 확보함
    Python은 AI·과학·교육 시장을 차지했고, JavaScript는 웹 전체를 장악함
    Perl은 쇠퇴 중이지만 Ruby가 대체할 틈은 없었음
  • Ruby가 독자적으로 잘하는 영역이 사라지면서, 현재는 애매한 중간 지대에 머무르게 됨

Rails라는 마지막 지지대

  • Ruby가 실제 현업에서 살아 있는 가장 큰 이유는 Rails
  • Rails는 2004년 DHH가 공개한 뒤 Web 2.0 시대를 주도했고, 당시엔 웹 개발의 모든 요소를 하나의 통합된 비전 안에 담아 제공했음
    • 덴마크 개발자 David Heinemeier Hansson(DHH) 는 Matz와 대조적으로 논쟁적이고 카리스마 있는 인물로 알려짐
  • Web 2.0 초기, Rails는 데이터베이스·프론트엔드·백엔드를 올인원 패키지로 제공해 스타트업에서 각광
    • Airbnb, GitHub, Twitter, Shopify, Stripe 같은 회사들이 Rails 기반으로 시작함
  • 그러나 웹 규모가 폭발적으로 성장하면서 Rails의 통합형 구조가 오히려 확장성의 장애물로 작용
    프랭크 로이드 라이트의 유소니언 하우스처럼, 처음엔 아름답지만 나중엔 개조가 거의 불가능한 구조가 됨

Ruby의 하락세와 남아 있는 힘

  • Stack Overflow 개발자 설문 조사에서 Ruby는 2013년 Top 10에서 2025년 18위까지 떨어졌고, Assembly보다도 뒤로 밀림
  • 신규 개발자들은 Python과 JavaScript로 몰리고, Ruby는 과거의 기억을 가진 일부 개발자들의 언어로 남음
  • 지금 Ruby를 떠받치는 건 Rails 레거시, 각인된 개발자들의 정서적 충성심, 그리고 ‘예쁘고 읽기 쉬운 문법’에 대한 감정적 이미지뿐임
  • 그러나 감정만으로는 언어의 위치를 다시 끌어올릴 수 없으며, 현실은 이미 Ruby보다 더 빠르고, 더 안전하고, 더 확장 가능한 도구들로 넘어가 있음

Read Entire Article