C++ 대체를 기치로 내건 모질라 새 프로그래밍 언어 '러스트(Rust)'의 정식판 공개가 초읽기에 들어갔다. 삼성전자도 개발에 참여한다고 알려져 관심을 모았던 오픈소스 기반 러스트 프로젝트가 개발자들을 어느정도 파고들 수 있을지 주목된다.
러스트는 파이어폭스로 유명한 오픈소스재단 모질라에서 개발 중인 시스템 프로그래밍 언어다. 모질라 직원인 그레이든 호아레(Graydon Hoare)가 2006년 개인 프로젝트로 시작했다 지난 2009년 모질라 리서치 프로젝트에 편입됐다. 차세대 브라우저 엔진 '서보(Servo)' 개발 언어로도 알려졌다.
러스트는 C 또는 C++ 언어를 대체할 목적으로 만들어졌다. 러스트 창시자 호아레는 0.3 알파 버전을 막 선보인 지난 2012년 8월 한 인터뷰에서 대다수 시스템 코드는 C와 C++로 작성된 스택의 특정 계층 아래에 있다며 우리(러스트 개발팀)가 목표로 하는 게 그런 영역이라고 말했다. (☞링크)
당시 러스트의 특징으로는 ▲패턴매칭과 대수 자료형 ▲태스크(Task)기반 동시성 ▲클로저 ▲'자바스러운' 인터페이스와 '하스켈같은' 클래스의 결합 ▲제네릭스 ▲버퍼오버플로 없음 ▲기본적인 불변이성(immutable by default) ▲논블록킹 가비지콜렉터가 제시됐다. 큰 그림은 지금도 이어지고 있다.
모질라 프로젝트 소개 페이지에 따르면 러스트는 플랫폼 구축시 격리, 동시성 실행, 메모리 안전성을 강력하게 보장하는 안전하고 풍부한 정적 타입 시스템을 제공한다. (☞링크) 멀티코어 기반 하드웨어 환경의 화두인 동시성(concurrency)과 병렬성(parallelism)을 지원할 수 있도록 고안됐다는 뜻이다.
모질라는 러스트를 실험실 언어에 머무르게 하는 대신 실용적인 용도를 발굴하는 데 투자해 왔다. 동시성과 병렬성 프로그래밍에 유리한 언어 특성을 활용해 멀티코어 성능을 최대한 끌어낼 수 있는 차세대 브라우저 렌더링 엔진 '서보' 프로젝트도 함께 진행하는 게 그런 취지다.
모질라는 2013년 4월 공식블로그를 통해 러스트 언어로 '서보'라는 차세대 고속 렌더링 엔진을 만들 계획이며, 이를 위해 삼성전자와 협력한다고 밝혔다. (☞관련기사) 지난해 2월에는 서보 엔진 기반 모바일 브라우저 성능이 기존 PC 브라우저의 10배에 달할 것이란 비전도 제시했다. (☞관련기사)
이후 모질라에선 꾸준히 러스트 개발이 진행됐다. 마침내 모질라 연구원 아론 투론(Aaron Turon)이 작년말 공식 블로그에 새해 개발 일정을 제시했다. 올해 1월 9일 알파 버전을 내놓고, 다음달 중순께 첫 베타판을 공개하고, 이후 2~3개월 안에 1.0 정식판을 선보이겠다는 내용이었다. (☞링크)
예고대로 지난 9월 공식 블로그를 통해 러스트 1.0 알파가 등장했다. (☞링크) 언어 자체 기능과 코어 라이브러리에 첫 정식판에 지원할 기능을 모두 갖춘 최초 버전이었다. 기술업계 동향, 개발자 문화 소식을 다루는 더뉴스택은 C++ 대체를 꿈꾸는 러스트 1.0 알파가 릴리즈됐다고 전했다. (☞링크)
관련기사
- 아마존 클라우드, 구글 GO 개발 환경도 지원2015.02.03
- IO.js, '원조' 노드JS보다 먼저 1.0 버전 공개2015.02.03
- 구글 GO, 안드로이드 앱 개발서 자바와 격돌2015.02.03
- "클라우드-IoT시대, 병렬 프로그래밍은 대세"2015.02.03
반면 모질라와 협력한다며 업계 이목을 끈 삼성전자 쪽에선 구체적인 현황이 들려오지 않았다. 한 소식통에 따르면 삼성전자 내부 연구원들의 프로젝트 관련 활동은 한동안 잠정 중단 상태였다. 최근 1년여 기간동안 서보와 러스트 프로젝트 참여나 관련 정보 공개도 거의 이뤄지지 않았다.
모질라와의 협력에서 삼성전자의 존재감은 크지 않아 보인다. 2010년 6월부터 올초까지 집계된 러스트 프로젝트 통계를 보면 활동가 918명이 커밋(commit)을 3만여건 수행했는데, 약 절반 1만5천건 가량은 모질라 개발자 32명의 흔적이다. 삼성전자는 연구원 15명이 커밋 274건을 수행했다. (☞링크)