루비 새로운 도약을 시작하다
루비 1.9가 오늘 새벽에 공식 발표됐습니다. 릴리즈 버전은 1.9.1-p0이고, 이곳에서 소스코드를 다운로드 받을 수 있습니다. 1.8에서 1.9로 소수점 아래 숫자가 올라간거니 마이너 업그레이드가 아니냐구요? 절대 그렇지 않습니다! 1.8 버전의 첫 발표 이후로 무려 5년 반만의 메이저 버전 업그레이드랍니다. ;)
레일스 효과(?)로 루비가 2005년 전후부터 갑작스레 인기를 끌면서 가장 많이 받았던 비판이 "속도가 느리다"는 것이었는데요, 루비 1.9는 지난 4년 간 개발된 Yarv 가상머신을 기반으로 만들어졌기 때문에 성능 면에서 비약적인 발전이 있었습니다. 가장 최근의 벤치마크에 따르면, 루비 1.9.1의 실행 속도는 루비 1.8.7에 비해 무려 평균 2.5배가 빠르답니다.
성능 외에 신택스나 기능적으로도 적지않은 변화가 있었습니다. 문자열 단위의 인코딩 지정 기능, 해시키 순서 보존, 새 해시 인자 신택스, 네이티브 쓰레드, 파이버, 블록 인자의 로컬변수화 등이 떠오르네요. 그리고 빌드툴인 rake와 패키지 관리툴인 rubygems가 코어에 포함됐습니다. 전체적으로 바뀐 내용이 궁금한 분은 이곳을 참고하세요.
지난 4년이 루비가 세상에 이름을 알리고 기반을 다지는 시기였다면, 올해는 루비가 본격적인 도약을 시작하는 첫 해가 될 것 같습니다. 저도 앞으로는 루비에 관한 좀더 다양한 내용을 다뤄볼 생각입니다.
팁으로 루비 1.9 컴파일/설치 방법을 첨부합니다. 우선 GNU Readline 라이브러리를 설치해야 합니다. (업데이트: yy님이 댓글에서 지적하셨듯이 맥 OS X 10.5에서 readline 컴파일 문제가 있습니다. 이를 해결하는 패치 적용을 아래 내용에 추가했습니다.)
$ curl -O ftp://ftp.gnu.org/gnu/readline/readline-5.2.tar.gz $ tar xzvf readline-5.2.tar.gz $ cd readline-5.2 $ curl -O http://ftp.gnu.org/gnu/readline/readline-5.2-patches/readline52-012 $ patch -p0 < readline52-012 $ ./configure --prefix=/usr/local $ make $ sudo make install
다음은 루비 1.9 설치입니다.
$ curl -O ftp://ftp.ruby-lang.org/pub/ruby/1.9/ruby-1.9.1-p0.tar.bz2 $ tar xjvf ruby-1.9.1-p0.tar.bz2 $ cd ruby-1.9.1-p0 $ ./configure --enable-pthread --prefix=/usr/local --with-readline-dir=/usr/local $ make $ sudo make install
이로써 ruby, irb, ri, rdoc, rake, gem 등의 실행파일이 /usr/local/bin 디렉토리에 설치됐습니다.



make static
make install-static
으로 설치가 되네요.