Ruby 언어의 최신 주요 버전인 Ruby 3.4.0이 공식 출시되었습니다. 이번 릴리스는 성능, 유연성, 개발자 경험 향상에 중점을 두었으며, `it` 블록 매개변수 도입, 기본 파서의 Prism 전환, Happy Eyeballs Version 2 지원, YJIT(Just-In-Time Compiler) 개선, 그리고 혁신적인 모듈형 GC(Garbage Collector)의 도입이 핵심적인 변화로 꼽힙니다. 이러한 발전은 Ruby 개발 환경을 더욱 강력하고 효율적으로 만들 것입니다.
Ruby 3.4.0에서는 it
블록 매개변수가 도입되어 변수명 없이 블록 매개변수를 참조할 수 있어 코드 가독성을 높입니다. Prism이 기본 파서로 채택되어 파싱 효율성이 향상되었으며, 소켓 라이브러리에 Happy Eyeballs Version 2가 지원되어 네트워크 지연을 최소화하고 안정적인 연결을 보장합니다.
YJIT(Just-In-Time Compiler)는 대폭 개선되어 x86-64 및 arm64 플랫폼에서 성능이 향상되고 메모리 사용량이 감소했습니다. 새로운 옵션 및 Ruby API를 통해 YJIT 제어 및 모니터링이 강화되었으며, 다양한 최적화 기법이 적용되어 실행 속도를 높였습니다.
모듈형 GC(Modular GC) 도입은 Ruby의 가비지 컬렉션에 유연성을 더합니다. 이를 통해 대체 GC 구현을 동적으로 로드할 수 있으며, 내장 GC가 분리되고 실험적인 MMTk 기반 GC 라이브러리도 제공됩니다. 이는 개발자가 애플리케이션 요구사항에 맞춰 최적의 GC를 선택할 수 있는 기반을 마련합니다.
언어 및 코어 클래스에서는 frozen_string_literal
경고 변경, 키워드 스플래팅 nil
지원, Ractor 기능 확장 등 다양한 업데이트가 이루어졌습니다. 표준 라이브러리에서도 RubyGems, Bundler, JSON, Tempfile 등의 개선이 포함되었습니다. 호환성 측면에서는 오류 메시지/백트레이스, Hash#inspect
렌더링 방식, 숫자 문자열 변환 동작 변경 등이 주목할 만합니다.
결론적으로 Ruby 3.4.0은 성능, 유연성, 개발자 생산성 측면에서 상당한 진전을 이루어낸 중요한 릴리스입니다. `it` 블록 매개변수와 같은 언어적 개선은 코드의 간결성을 높이며, Happy Eyeballs Version 2 지원은 네트워크 애플리케이션의 안정성을 강화합니다. 특히 YJIT의 지속적인 최적화와 Modular GC의 도입은 Ruby 애플리케이션의 실행 속도와 메모리 효율성을 한 단계 끌어올릴 것입니다. 이러한 변화들은 Ruby 개발자들이 더욱 효율적이고 견고한 애플리케이션을 구축하도록 지원합니다.