더 나은 루비: 과거, 현재, 그리고 미래

Yukihiro Matsumoto, keynote, "Better Ruby"

작성자
EuRuKo
발행일
2025년 01월 13일

핵심 요약

  • 1 Ruby는 프로그래머의 즐거움과 자유를 추구하며, 사용자 중심의 커뮤니티와 지속적인 개선을 통해 발전해왔습니다.
  • 2 YARV, MJIT, YJIT, Ractors, Ruby WASM 등 혁신적인 기능 추가로 성능과 활용성을 꾸준히 향상시키고 있습니다.
  • 3 향후 네임스페이스 및 어노테이션 도입을 통해 Ruby 4.0의 가능성을 모색하며, 더욱 강력한 도구와 활발한 Gem 생태계 조성을 목표로 합니다.

도입

EuRuKo 2024 클로징 키노트에서 루비(Ruby) 언어 창시자 마츠모토 유키히로(Matz)는 '더 나은 루비(Better Ruby)'를 주제로 루비의 과거, 현재, 미래 비전을 공유했습니다. 그는 루비가 기술적 우수성을 넘어, 사용자와 커뮤니티의 '사랑'을 기반으로 발전해왔음을 강조하며, 프로그래머에게 즐거움과 자유를 선사하는 루비의 가치를 역설했습니다.

Matz는 루비가 ‘프로그래밍을 사랑하고 자유를 사랑하는 사람들을 위한 언어’라는 명확한 설계 목표를 가지며, ‘게으름, 조급함, 오만함’이라는 프로그래머의 미덕을 추구한다고 설명했습니다. 이러한 철학은 사용자의 언어에 대한 사랑으로 이어져 커뮤니티 형성, 젬 개발, 그리고 언어 개선으로 이어지는 선순환을 만들었습니다. 루비 커뮤니티는 사용자와 개발자 간의 긴밀한 소통이 특징이며, 이는 루비 발전의 핵심 요소입니다.

루비는 오픈 소스 소프트웨어로서 끊임없이 개선되어 왔습니다. YARV를 통한 성능 향상, 멀티 인코딩, 가비지 컬렉터 개선은 물론, ‘Ruby 3x3’ 목표 아래 MJIT와 YJIT가 도입되어 매년 성능이 향상되고 있습니다. 동시성 개선을 위한 Ractors와 Fiber Scheduler, 루비를 브라우저에서 실행 가능하게 한 Ruby WASM은 새로운 활용 가능성을 열었습니다. 이 외에도 패턴 매칭, 데이터 클래스, 새로운 파서 Prism 등 다양한 핵심 기능들이 꾸준히 추가되었습니다.

Matz는 과거 루비 2.0 프로젝트에서 언어 재시작 대신 점진적 개선을 택한 것이 루비의 성공에 기여했다고 밝혔습니다. 이 결정 덕분에 커뮤니티 분열 없이 초기 루비 2.0 아이디어들이 현재 루비에 성공적으로 통합될 수 있었습니다.

미래 루비의 주요 계획으로는 루비 3.4에 실험적으로 도입될 ‘네임스페이스(Namespace)’ 기능이 있습니다. 이는 단일 애플리케이션 내 여러 젬 버전 동시 로드를 가능하게 하여 의존성 충돌을 해결할 것으로 기대됩니다. 또한 ‘어노테이션(Annotation)’ 기능도 추가될 예정이며, Matz는 이 기능들이 안정화되면 ‘Ruby 4.0’을 고려할 수 있다고 언급했습니다. 성능 개선은 계속될 것이며, 매년 5~10%의 속도 향상과 메모리 사용량 감소는 서버 운영 비용 절감에 기여합니다. 도구 측면에서는 Prism 기반 구문 분석 도구, 타입 추론/검사 도구, AI 기반 개발 도구의 발전이 강조되었으며, Matz는 기업들이 핵심 역량이 아닌 라이브러리를 오픈 소스 젬으로 공유하여 커뮤니티에 기여할 것을 독려했습니다.

결론

Matz는 루비의 지속적인 개선이 '사용자', '개발자', '커뮤니티' 모두를 위한 것임을 강조했습니다. 루비는 프로그래밍의 즐거움과 자유를 선사하고, 더 나은 개발 환경을 제공하며, 커뮤니티는 상호 지원과 지식 공유를 통해 함께 성장합니다. 그는 루비 프로그래밍을 즐기고, 서로 돕는 커뮤니티를 계속 만들어갈 것을 당부하며, 전 세계 루비 커뮤니티에 깊은 감사를 표했습니다.

댓글 0

댓글 작성

0/1000
정중하고 건설적인 댓글을 작성해 주세요.

아직 댓글이 없습니다

첫 번째 댓글을 작성해보세요!